LLVM/project 80e7404llvm/lib/Target/X86 X86ISelLowering.cpp, llvm/unittests/Target/X86 X86SelectionDAGTest.cpp CMakeLists.txt

[X86] computeKnownBitsForTargetNode - add X86ISD::FANDN coverage and X86SelectionDAGTest infrastructure (#181994)

Setup X86SelectionDAGTest unit tests (matching for AArch64/ARM/RISCV pattern) to allow us to more easily test X86ISD DAG nodes.

First test is for X86ISD::FANDN nodes, which are very tricky to test in regular tests as they so often fold beforehand
DeltaFile
+103-0llvm/unittests/Target/X86/X86SelectionDAGTest.cpp
+1-0llvm/lib/Target/X86/X86ISelLowering.cpp
+1-0llvm/unittests/Target/X86/CMakeLists.txt
+1-0llvm/utils/gn/secondary/llvm/unittests/Target/X86/BUILD.gn
+106-04 files

LLVM/project 824d2c9clang-tools-extra/docs/clang-tidy/checks/abseil unchecked-statusor-access.rst

[NFC] [clang-tidy] [doc] document gtest support of statusor check (#180662)

DeltaFile
+41-1clang-tools-extra/docs/clang-tidy/checks/abseil/unchecked-statusor-access.rst
+41-11 files

LLVM/project 9473f51llvm/test/CodeGen/AMDGPU llvm.amdgcn.image.sample.g16.a16.dim.ll, llvm/test/CodeGen/AMDGPU/GlobalISel llvm.amdgcn.image.atomic.dim.a16.ll llvm.amdgcn.image.load.3d.a16.ll

AMDGPU/GlobalISel: Regbanklegalize rules for INTRIN_IMAGE

Regbanklegalize rules for INTRIN_IMAGE loads and stores.
Because of very large number of different type signatures, rule specifies
only function for lowering (waterfall lowering of RsrcIdx operand if needed)
and this function also applies register banks.
DeltaFile
+268-52llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.atomic.dim.a16.ll
+128-112llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.load.3d.a16.ll
+114-50llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.gather4.a16.dim.ll
+78-84llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.image.sample.1d.ll
+58-70llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.image.load.1d.ll
+86-36llvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.sample.g16.a16.dim.ll
+732-40429 files not shown
+1,081-53235 files

LLVM/project c5ae550mlir/include/mlir/Dialect/MemRef/Utils MemRefUtils.h, mlir/include/mlir/Dialect/SCF/Utils Utils.h

[mlir][scf] Refactor and improve ParallelLoopFusion (#179284)

Refactor and extend the scf::ParalleLoopFusion pass:
- Refactor code, rename functions and add comments to improve
readability
- Make the dependency analysis safer by checking for read-after-write
dependencies also with vector.load/store & vector.transfer_read/write
ops, in addition to memref.load/store, and bail out when other
unsupported ops with memory effects are found.
- Extend the cases when the fusion is applied: allow fusing also when
one of the two loops reads/writes to memory through a full view/alias of
the buffer (read/written by the dual operation in the other loop) that
can be trivially resolved, including rank-reducing full subviews.
DeltaFile
+678-94mlir/lib/Dialect/SCF/Transforms/ParallelLoopFusion.cpp
+417-7mlir/test/Dialect/SCF/parallel-loop-fusion.mlir
+41-0mlir/lib/Dialect/MemRef/Utils/MemRefUtils.cpp
+19-0mlir/lib/Dialect/SCF/Utils/Utils.cpp
+15-0mlir/include/mlir/Dialect/MemRef/Utils/MemRefUtils.h
+7-0mlir/include/mlir/Dialect/SCF/Utils/Utils.h
+1,177-1011 files not shown
+1,178-1017 files

LLVM/project 88872a7llvm/docs MIRLangRef.rst, llvm/lib/CodeGen/MIRParser MIParser.cpp

[CodeGen] Refactor register operand parsing in MI parser (#181748)

- Refactor register operand parsing to eliminate duplicated LLT parsing
code.
- Additionally, fix the register operand syntax in MI LangRef to match
what the parser supports.
DeltaFile
+43-54llvm/lib/CodeGen/MIRParser/MIParser.cpp
+0-24llvm/test/CodeGen/MIR/X86/expected-tied-def-after-lparen.mir
+24-0llvm/test/CodeGen/MIR/X86/invalid-type-physical-reg.mir
+15-0llvm/test/CodeGen/MIR/X86/invalid-tied-physical-reg-def.mir
+5-2llvm/docs/MIRLangRef.rst
+1-1llvm/test/CodeGen/MIR/X86/expected-integer-after-tied-def.mir
+88-816 files

LLVM/project 4f3ae6eclang/docs/analyzer checkers.rst, clang/include/clang/StaticAnalyzer/Checkers Checkers.td

[analyzer][NFCI] Move the core.FixedAddressDereference checker to optin.core (#181858)

This was prompted by these upstream discussions:
https://github.com/llvm/llvm-project/pull/132404#issuecomment-3816874305

https://discourse.llvm.org/t/what-are-the-precise-semantics-of-the-address-space-attribute/89752/10?u=steakhal

This also relates to #181644

rdar://170554765
DeltaFile
+49-49clang/docs/analyzer/checkers.rst
+5-5clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
+4-4clang/test/Analysis/suppress-dereferences-from-any-address-space.c
+2-2clang/test/Analysis/misc-ps.m
+1-1clang/test/Analysis/pr22954.c
+1-1clang/test/Analysis/builtin_bitcast.cpp
+62-625 files not shown
+65-6711 files

LLVM/project ada6fa0llvm/test/CodeGen/AMDGPU llc-pipeline-npm.ll llc-pipeline.ll

Update tests after upstream changes
DeltaFile
+1-1llvm/test/CodeGen/AMDGPU/llc-pipeline-npm.ll
+1-1llvm/test/CodeGen/AMDGPU/llc-pipeline.ll
+2-22 files

LLVM/project 693548dllvm/lib/Target/X86 X86ISelLowering.cpp, llvm/test/CodeGen/X86 known-pow2.ll

[X86] LowerAndToBT - fold ICMP_ZERO(AND(X,AND(Y,SHL(1,Z)))) -> BT(AND(X,Y),Z) patterns (#182007)

Use m_ReassociatableAnd matcher to handle any permutation of a 3 op AND chain that involves a bit test

Fix 1 of 2 for #147216
DeltaFile
+16-31llvm/test/CodeGen/X86/known-pow2.ll
+8-1llvm/lib/Target/X86/X86ISelLowering.cpp
+24-322 files

LLVM/project e826f32compiler-rt/lib/sanitizer_common sanitizer_unwind_win.cpp

[ASan/sanitizers] Make stack unwinding better on Windows. (#180205)

I created an issue about this in #179976.

Clang's Address Sanitizer installs its own SEH filter which handles some
types of uncaught exceptions. Along with register values and some other
information, it also generates a stack trace. However, current logic is
incomplete. It relies on DbgHelp's SymFunctionTableAccess64 and
SymGetModuleBase64 which won't work with machine code that has its
RUNTIME_FUNCTION entry registered with Rtl* (e.g. RtlAddFunctionTable)
system calls. Most likely, this is because DbgHelp either relies on
information in PDB files or considers PDATA and XDATA only from loaded
EXE and DLL modules. Either way, consider the following example:

```
#include <windows.h>
#include <iostream>
#include <vector>


    [150 lines not shown]
DeltaFile
+43-6compiler-rt/lib/sanitizer_common/sanitizer_unwind_win.cpp
+43-61 files

LLVM/project 7ad2a63libc/shared/math bf16divl.h, libc/src/__support/math bf16divl.h CMakeLists.txt

[libc][math] Refactor bf16divl to header-only (#181535)

Part of https://github.com/llvm/llvm-project/issues/147386

in preparation for:
https://discourse.llvm.org/t/rfc-make-clang-builtin-math-functions-constexpr-with-llvm-libc-to-support-c-23-constexpr-math-functions/86450
Closes #181025
DeltaFile
+26-0libc/src/__support/math/bf16divl.h
+23-0libc/shared/math/bf16divl.h
+15-0utils/bazel/llvm-project-overlay/libc/BUILD.bazel
+10-0libc/src/__support/math/CMakeLists.txt
+2-5libc/src/math/generic/bf16divl.cpp
+1-5libc/src/math/generic/CMakeLists.txt
+77-103 files not shown
+80-109 files

LLVM/project 79f8ebalibc/shared/math logbl.h, libc/src/__support/math logbl.h CMakeLists.txt

[libc][math] Refactor `logbl` to header only (#181659)

Closes #175366
DeltaFile
+26-0libc/src/__support/math/logbl.h
+23-0libc/shared/math/logbl.h
+14-1utils/bazel/llvm-project-overlay/libc/BUILD.bazel
+10-0libc/src/__support/math/CMakeLists.txt
+2-4libc/src/math/generic/logbl.cpp
+1-1libc/src/math/generic/CMakeLists.txt
+76-63 files not shown
+79-69 files

LLVM/project 0c91bc6libclc/opencl/lib/amdgcn/workitem get_local_size.cl get_num_groups.cl

libclc: Stop using r600 asm intrinsic declarations for amdgcn (#181975)

Really the workitem functions should all be moved to generic code
and use gpuintrin.h. These implementations were copied from there.
DeltaFile
+3-7libclc/opencl/lib/amdgcn/workitem/get_local_size.cl
+3-7libclc/opencl/lib/amdgcn/workitem/get_num_groups.cl
+6-142 files

LLVM/project b92ab89libc/shared/math f16addf128.h, libc/src/__support/math CMakeLists.txt f16addf128.h

[libc][math] Refactor f16add Math Functions to Header Only (#181777)

Resolves #181630
Part of #147386
DeltaFile
+57-4utils/bazel/llvm-project-overlay/libc/BUILD.bazel
+41-0libc/src/__support/math/CMakeLists.txt
+34-0libc/src/__support/math/f16addf128.h
+32-0libc/shared/math/f16addf128.h
+31-0libc/src/__support/math/f16add.h
+31-0libc/src/__support/math/f16addf.h
+226-412 files not shown
+379-3718 files

LLVM/project b576429libc/shared/math tanpif.h, libc/src/__support/math tanpif.h CMakeLists.txt

[libc][math] Refactor tanpif to header only (#181525)

Part of https://github.com/llvm/llvm-project/issues/147386
DeltaFile
+115-0libc/src/__support/math/tanpif.h
+2-93libc/src/math/generic/tanpif.cpp
+23-0libc/shared/math/tanpif.h
+17-5utils/bazel/llvm-project-overlay/libc/BUILD.bazel
+16-0libc/src/__support/math/CMakeLists.txt
+1-6libc/src/math/generic/CMakeLists.txt
+174-1043 files not shown
+177-1049 files

LLVM/project 1af350eclang/unittests/Analysis/Scalable/Serialization JSONFormatTest.cpp, lldb/source/Plugins/Highlighter/TreeSitter/Swift/tree-sitter-swift grammar.js

Merge branch 'users/rovka/inheritable-legacy-fp-manager' into users/rovka/machine-inlining
DeltaFile
+1,560-1,560llvm/test/tools/llvm-mca/RISCV/SiFive7/vector-fp.s
+1,325-1,258llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
+991-1,493llvm/test/CodeGen/X86/broadcast-elm-cross-splat-vec.ll
+1,848-0clang/unittests/Analysis/Scalable/Serialization/JSONFormatTest.cpp
+1,594-0lldb/source/Plugins/Highlighter/TreeSitter/Swift/tree-sitter-swift/grammar.js
+0-1,543llvm/test/Transforms/LoopVectorize/vplan-printing-reductions.ll
+7,318-5,8542,585 files not shown
+101,001-41,8792,591 files

LLVM/project 1cb8645libc/shared/math tanf16.h, libc/src/__support/math tanf16.h CMakeLists.txt

[libc][math] Refactor tanf16 to header only (#181523)

Part of https://github.com/llvm/llvm-project/issues/147386
DeltaFile
+137-0libc/src/__support/math/tanf16.h
+2-110libc/src/math/generic/tanf16.cpp
+29-0libc/shared/math/tanf16.h
+19-3utils/bazel/llvm-project-overlay/libc/BUILD.bazel
+17-0libc/src/__support/math/CMakeLists.txt
+1-10libc/src/math/generic/CMakeLists.txt
+205-1233 files not shown
+208-1239 files

LLVM/project 8d2eb4ellvm/lib/Target/AArch64/GISel AArch64RegisterBankInfo.cpp

[AArch64] Fix PRCVT -> FPRCVT typo. NFC
DeltaFile
+1-1llvm/lib/Target/AArch64/GISel/AArch64RegisterBankInfo.cpp
+1-11 files

LLVM/project 2dea3b4lldb/source/Plugins/Platform/MacOSX PlatformDarwin.cpp

[lldb][PlatformDarwin][NFCI] Factor out dSYM script auto-loading into helper function (#182002)

Depends on:
* https://github.com/llvm/llvm-project/pull/182001

(only second commit is relevant for this review)

This patch factors out the logic to load dSYM scripting resources into a
helper function. In the process we eliminate some redundant copying of
`FileSpec` and pass it to the helper by `const-ref` instead
(specifically the `symfile_spec`).
DeltaFile
+97-91lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp
+97-911 files

LLVM/project cb520f3llvm/test/CodeGen/AMDGPU load-global-i8.ll load-constant-i1.ll, llvm/test/CodeGen/X86 vector-interleaved-store-i32-stride-7.ll vector-trunc-packus.ll

[SelectionDAG] Fix bug related to demanded bits/elts for BITCAST

When we have a BITCAST and the source type is a vector with smaller
elements compared to the destination type, then we need to demand
all the source elements that make up the demanded elts for the
result when doing recursive calls to SimplifyDemandedBits,
SimplifyDemandedVectorElts and SimplifyMultipleUseDemandedBits.
Problem is that those simplifications are allowed to turn non-demanded
elements of a vector into POISON, so unless we demand all source
elements that make up the result there is a risk that the result
would be more poisonous (even for demanded elts) after the
simplification.

The patch fixes some bugs in SimplifyMultipleUseDemandedBits and
SimplifyDemandedBits for situations when we did not consider the
problem described above. Now we make sure that we also demand vector
elements that "must not be turned into poison" even if those elements
correspond to bits that does not need to be defined according to
the DemandedBits mask.

    [2 lines not shown]
DeltaFile
+3,298-3,437llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-7.ll
+947-808llvm/test/CodeGen/X86/vector-trunc-packus.ll
+734-609llvm/test/CodeGen/X86/vector-trunc-ssat.ll
+647-591llvm/test/CodeGen/AMDGPU/load-global-i8.ll
+605-546llvm/test/CodeGen/AMDGPU/load-constant-i1.ll
+558-484llvm/test/CodeGen/AMDGPU/load-constant-i8.ll
+6,789-6,475125 files not shown
+12,225-11,017131 files

LLVM/project 9355a17llvm/test/CodeGen/AArch64 fp16_intrinsic_scalar_1op.ll

[AArch64] Clean up fp16_i16_intrinsic_scalar.ll a little. NFC
DeltaFile
+31-55llvm/test/CodeGen/AArch64/fp16_intrinsic_scalar_1op.ll
+31-551 files

LLVM/project 4a88366clang/unittests/Analysis/Scalable/Serialization JSONFormatTest.cpp, lldb/source/Plugins/Highlighter/TreeSitter/Swift/tree-sitter-swift grammar.js

Merge remote-tracking branch 'remotes/origin/main' into users/rovka/inheritable-legacy-fp-manager
DeltaFile
+1,560-1,560llvm/test/tools/llvm-mca/RISCV/SiFive7/vector-fp.s
+1,325-1,258llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
+991-1,493llvm/test/CodeGen/X86/broadcast-elm-cross-splat-vec.ll
+1,848-0clang/unittests/Analysis/Scalable/Serialization/JSONFormatTest.cpp
+1,594-0lldb/source/Plugins/Highlighter/TreeSitter/Swift/tree-sitter-swift/grammar.js
+0-1,543llvm/test/Transforms/LoopVectorize/vplan-printing-reductions.ll
+7,318-5,8542,585 files not shown
+101,001-41,8792,591 files

LLVM/project 93af0a1llvm/include/llvm/Passes CodeGenPassBuilder.h, llvm/lib/Target/AMDGPU AMDGPUMachineLevelInliner.cpp AMDGPUMachineLevelInliner.h

New PM support
DeltaFile
+284-0llvm/test/CodeGen/AMDGPU/amdgpu-machine-level-inliner.ll
+175-0llvm/test/CodeGen/AMDGPU/llc-pipeline-npm.ll
+53-4llvm/lib/Target/AMDGPU/AMDGPUMachineLevelInliner.cpp
+13-1llvm/lib/Target/AMDGPU/AMDGPUMachineLevelInliner.h
+11-1llvm/include/llvm/Passes/CodeGenPassBuilder.h
+10-0llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
+546-62 files not shown
+551-88 files

LLVM/project 49a6de7clang/cmake/caches VectorEngine.cmake, openmp CMakeLists.txt

Reapply "[OpenMP] Remove standalone build mode (#149878)"

This reverts commit e07b9d15043271fb69177cdc5df9c504a21764ec.
DeltaFile
+39-134openmp/cmake/OpenMPTesting.cmake
+46-90openmp/runtime/CMakeLists.txt
+43-76openmp/CMakeLists.txt
+1-20openmp/runtime/unittests/CMakeLists.txt
+0-8clang/cmake/caches/VectorEngine.cmake
+3-5openmp/runtime/src/CMakeLists.txt
+132-3334 files not shown
+136-33610 files

LLVM/project b5139f9lldb/source/Plugins/Platform/MacOSX PlatformDarwin.cpp

[lldb][PlatformDarwin][NFC] Use early-return style in LocateExecutableScriptingResources (#182001)

I'm planning on adding more to this function. It'll be easier to
review/reason about if we un-nested the if-blocks (as the LLVM style
guide recommends).
DeltaFile
+114-108lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp
+114-1081 files

LLVM/project a7878d4llvm/include module.modulemap

[modules] Fix warning: missing submodule 'LLVM_IR.FunctionProperties' (#181888)

When compiling LLVM with LLVM_ENABLE_MODULES=ON, I get the warning

```
warning: missing submodule 'LLVM_IR.FunctionProperties' [-Wincomplete-umbrella]
```

Fix is to add file `FunctionProperties.def` to the module map.
DeltaFile
+1-0llvm/include/module.modulemap
+1-01 files

LLVM/project 06ef301flang/lib/Semantics check-omp-loop.cpp check-omp-structure.h, flang/test/Semantics/OpenMP do10.f90

[flang][OpenMP] Use LoopRange to implement loop var type checking, NFC (#181797)

DeltaFile
+12-18flang/lib/Semantics/check-omp-loop.cpp
+7-7flang/test/Semantics/OpenMP/do10.f90
+1-1flang/lib/Semantics/check-omp-structure.h
+20-263 files

LLVM/project e07b9d1clang/cmake/caches VectorEngine.cmake, openmp CMakeLists.txt

Revert "[OpenMP] Remove standalone build mode (#149878)"

Downstream builds are note sufficiently prepared.

This reverts commit 176928cc1371c23d499b474fa95e076b61f776c4.
DeltaFile
+134-39openmp/cmake/OpenMPTesting.cmake
+90-46openmp/runtime/CMakeLists.txt
+73-40openmp/CMakeLists.txt
+20-1openmp/runtime/unittests/CMakeLists.txt
+5-3openmp/runtime/src/CMakeLists.txt
+8-0clang/cmake/caches/VectorEngine.cmake
+330-1294 files not shown
+333-13310 files

LLVM/project 9a55899llvm/lib/Target/X86 X86ISelLowering.cpp

[X86] combineSETCC - merge inner isScalarInteger() condition. NFC. (#182004)

All folds in the outer if() require this - inc combineVectorSizedSetCCEquality
DeltaFile
+95-98llvm/lib/Target/X86/X86ISelLowering.cpp
+95-981 files

LLVM/project 2dfa047flang/lib/Semantics check-omp-loop.cpp check-omp-structure.h

[flang][OpenMP] Include check for fully unrolled loops into nest check, NFC (#181729)

It's naturally a part of the verification of constructs nested in loop
constructs, so perform that check there instead of having it in a
separate function.
DeltaFile
+15-24flang/lib/Semantics/check-omp-loop.cpp
+0-1flang/lib/Semantics/check-omp-structure.h
+15-252 files

LLVM/project d154ec7llvm/lib/Transforms/Vectorize VPlanConstruction.cpp, llvm/test/Transforms/LoopVectorize pointer-induction.ll

[VPlan] Use ExitingIVValue for pointer inductions as well. (#180925)

Use ExitingIVValue from https://github.com/llvm/llvm-project/pull/175651
also for pointer inductions.

PR: https://github.com/llvm/llvm-project/pull/180925
DeltaFile
+34-27llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
+1-12llvm/test/Transforms/LoopVectorize/pointer-induction.ll
+35-392 files