LLVM/project 75342d3

Merge branch 'users/meinersbur/openmp_hoist-module' into users/meinersbur/flang_builtin-mods_2
DeltaFile
+0-00 files

LLVM/project 0d10200llvm/test/CodeGen/AArch64 fixed-length-bf16-arith.ll, llvm/test/Transforms/AggressiveInstCombine umulh_carry4.ll umulh_ladder.ll

Merge remote-tracking branch 'official/main' into users/meinersbur/openmp_hoist-module
DeltaFile
+4,725-0llvm/test/tools/llvm-mca/RISCV/SpacemitX60/vlseg-vsseg.s
+3,019-0llvm/test/Transforms/AggressiveInstCombine/umulh_carry4.ll
+936-0llvm/test/CodeGen/AArch64/fixed-length-bf16-arith.ll
+858-0llvm/test/Transforms/AggressiveInstCombine/umulh_ladder.ll
+755-0llvm/test/Transforms/AggressiveInstCombine/umulh_carry.ll
+288-454mlir/lib/Dialect/Linalg/Utils/Utils.cpp
+10,581-454830 files not shown
+39,307-12,122836 files

LLVM/project ae89a20flang-rt/lib/runtime CMakeLists.txt, openmp CMakeLists.txt

Fix disabled flang_rt.quad.math
DeltaFile
+22-21flang-rt/lib/runtime/CMakeLists.txt
+1-1openmp/CMakeLists.txt
+23-222 files

LLVM/project 3ad9152llvm/test/tools/llvm-exegesis/RISCV/rvv filter.test, llvm/test/tools/llvm-exegesis/X86 snippet-generator-seed.test

[𝘀𝗽𝗿] initial version

Created using spr 1.3.7
DeltaFile
+16-0llvm/test/tools/llvm-exegesis/X86/snippet-generator-seed.test
+14-1llvm/tools/llvm-exegesis/lib/SnippetGenerator.cpp
+5-3llvm/test/tools/llvm-exegesis/RISCV/rvv/filter.test
+35-43 files

LLVM/project 2e3af9dllvm/test/tools/llvm-exegesis/X86 snippet-generator-seed.test, llvm/tools/llvm-exegesis/lib SnippetGenerator.cpp

[𝘀𝗽𝗿] changes to main this commit is based on

Created using spr 1.3.7

[skip ci]
DeltaFile
+16-0llvm/test/tools/llvm-exegesis/X86/snippet-generator-seed.test
+14-1llvm/tools/llvm-exegesis/lib/SnippetGenerator.cpp
+30-12 files

LLVM/project ee84344llvm/test/tools/llvm-exegesis/X86 snippet-generator-seed.test, llvm/tools/llvm-exegesis/lib SnippetGenerator.cpp

[𝘀𝗽𝗿] initial version

Created using spr 1.3.7
DeltaFile
+16-0llvm/test/tools/llvm-exegesis/X86/snippet-generator-seed.test
+14-1llvm/tools/llvm-exegesis/lib/SnippetGenerator.cpp
+30-12 files

LLVM/project d88c4bellvm/test/CodeGen/AArch64 fixed-length-bf16-arith.ll, llvm/test/Transforms/AggressiveInstCombine umulh_carry4.ll umulh_ladder.ll

Merge branch 'main' into users/meinersbur/flang_builtin-mods_2
DeltaFile
+4,725-0llvm/test/tools/llvm-mca/RISCV/SpacemitX60/vlseg-vsseg.s
+3,019-0llvm/test/Transforms/AggressiveInstCombine/umulh_carry4.ll
+936-0llvm/test/CodeGen/AArch64/fixed-length-bf16-arith.ll
+858-0llvm/test/Transforms/AggressiveInstCombine/umulh_ladder.ll
+755-0llvm/test/Transforms/AggressiveInstCombine/umulh_carry.ll
+288-454mlir/lib/Dialect/Linalg/Utils/Utils.cpp
+10,581-454830 files not shown
+39,307-12,122836 files

LLVM/project a39c5f7openmp CMakeLists.txt README.rst, openmp/module CMakeLists.txt

Replace LIBOMP_FORTRAN_MODULES with RUNTIMES_FLANG_MODULES_ENABLED

For some reason there were to different flags to build the Fortran modules:

1. LIBOMP_FORTRAN_MODULES=ON and CMAKE_Fortran_COMPILER

2. LIBOMP_FORTRAN_MODULES_COMPILER

When using the second, LIBOMP_FORTRAN_MODULES would be off. Trying to
keep the option available causes build failures by misinterpretation.
DeltaFile
+4-7openmp/CMakeLists.txt
+2-5openmp/README.rst
+5-2openmp/module/CMakeLists.txt
+1-1openmp/runtime/CMakeLists.txt
+1-1openmp/runtime/cmake/LibompExports.cmake
+13-165 files

LLVM/project 24b87b8llvm/lib/Transforms/Vectorize LoopVectorize.cpp, llvm/test/Transforms/LoopVectorize/RISCV gather-scatter-cost.ll

[VPlan] Skip cost verification for loops with EVL gather/scatter.

The VPlan-based cost model use vp_gather/vp_scatter for gather/scatter
costs, which is different to the legacy cost model and cannot be matched
there. Don't verify the costs match for plans containing gather/scatters
with EVL.

Fixes https://github.com/llvm/llvm-project/issues/169948.
DeltaFile
+116-0llvm/test/Transforms/LoopVectorize/RISCV/gather-scatter-cost.ll
+23-11llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
+139-112 files

LLVM/project 9ffd2e4llvm/lib/Transforms/Utils BasicBlockUtils.cpp, llvm/test/Transforms/SimplifyCFG skip-merging-duplicate-convergence-instrinsics.ll

[SimplifyCFG] Fix `SimplifyCFG` pass to skip folding when both blocks contain convergence loop/entry intrinsics. (#166452)

Fixes a bug https://github.com/llvm/llvm-project/issues/165642. [Similar
fix](https://github.com/llvm/llvm-project/pull/165643) is being made in
`IndVarSimplify` pass to account for convergence tokens.

[LLVM
Spec](https://llvm.org/docs/ConvergentOperations.html#llvm-experimental-convergence-loop)
states that only a single loop / entry convergence token can be included
in a basic block.

This PR fixes the issue in `SimplifyCFG` pass so that when a basic block
and its predecessor both contain such convergence intrinsics, it skips
merging the two blocks.
DeltaFile
+68-0llvm/test/Transforms/SimplifyCFG/skip-merging-duplicate-convergence-instrinsics.ll
+16-0llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
+84-02 files

LLVM/project bd56806llvm/test/Transforms/WholeProgramDevirt import.ll

Fix RUN line
DeltaFile
+17-3llvm/test/Transforms/WholeProgramDevirt/import.ll
+17-31 files

LLVM/project da3a850flang/test CMakeLists.txt, openmp CMakeLists.txt

Always create libomp-mod target for robustness
DeltaFile
+3-3flang/test/CMakeLists.txt
+3-0openmp/CMakeLists.txt
+6-32 files

LLVM/project cd3192allvm/lib/Transforms/Vectorize VPlanConstruction.cpp, llvm/test/Transforms/LoopVectorize select-umin-last-index.ll select-smin-last-index.ll

[VPlan] Turn IVOp assertion into early exit.

Turn assertion added in 99addbf73 [0] into an early exit.
There are cases where the operand may not be a
VPWidenIntOrFpInductionRecipe, e.g. if the IV increment is selected,
as in the test cases.

[0] https://github.com/llvm/llvm-project/pull/141431
DeltaFile
+43-0llvm/test/Transforms/LoopVectorize/select-umin-last-index.ll
+43-0llvm/test/Transforms/LoopVectorize/select-smin-last-index.ll
+42-0llvm/test/Transforms/LoopVectorize/select-umax-last-index.ll
+42-0llvm/test/Transforms/LoopVectorize/select-smax-last-index.ll
+4-3llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
+174-35 files

LLVM/project f571293llvm/lib/Target/ARC ARC.td

ARC: Override pseudos with pointers

This ports #159881 fix for other targets and fixes
```
error: missing target override for pseudoinstruction using PointerLikeRegClass
```
DeltaFile
+2-0llvm/lib/Target/ARC/ARC.td
+2-01 files

LLVM/project 435bafdclang/lib/CIR/CodeGen CIRGenBuiltinX86.cpp, clang/test/CIR/CodeGenBuiltins/X86 avx512bw-builtins.c avx512dq-builtins.c

[CIR][X86] Implement lowering for AVX512 mask builtins  (#169774)

This patch adds CIR codegen support for AVX512 mask operations on X86,
including kadd, kand, kandn, kor, kxor, knot, and kmov in all supported
mask widths. Each builtin now lowers to the expected vector<i1> form and
bitcast representations in CIR, matching the semantics of the
corresponding LLVM intrinsics.
DeltaFile
+350-0clang/test/CIR/CodeGenBuiltins/X86/avx512bw-builtins.c
+210-0clang/test/CIR/CodeGenBuiltins/X86/avx512dq-builtins.c
+151-0clang/test/CIR/CodeGenBuiltins/X86/avx512f-builtins.c
+69-2clang/lib/CIR/CodeGen/CIRGenBuiltinX86.cpp
+780-24 files

LLVM/project 246528cclang/lib/AST/ByteCode InterpBuiltin.cpp

[clang][bytecode] Unify elementwise integer builtins using callback pattern (#169957)

This patch refactors the handling of elementwise integer unary
operations to use a unified callback-based approach, eliminating code
duplication.

Changes:
- Extended interp__builtin_elementwise_int_unaryop to handle vector types
- Replaced BI__builtin_elementwise_popcount with callback invocation
- Replaced BI__builtin_elementwise_bitreverse with callback invocation
- Removed  interp__builtin_elementwise_popcount function

The new approach uses a lambda function to specify the operation
(popcount or reverseBits), which is applied uniformly to both scalar and
vector operands. This reduces code duplication and makes it easier to
add similar builtins in the future.

Fixes #169657
DeltaFile
+30-50clang/lib/AST/ByteCode/InterpBuiltin.cpp
+30-501 files

LLVM/project 8462cffclang/include/clang/AST CXXInheritance.h, clang/lib/AST CXXInheritance.cpp

[clang][NFC] Declare `CXXBasePaths::isAmbiguous` as `const` (#169944)

To make this change, we have to use `lookup` instead of `operator[]` on
a map. They both return the same thing: a default constructed value. The
difference is that `lookup` default constructs a value and then returns
it, whereas `operator[]` default constructs a value, inserts it into the
map, and then returns a reference to that. Given that we are using a
by-value return, the only way this is different is if a later use of the
map depends on a value being at that key.

The map is a private variable of the class, so the only possible users
are are other member functions. The only other use of the map that cares
about the contents of the map is in `lookupInBases`, and it accesses the
map with `operator[]`. This means that attempting to access the same
element in this function will default construct the value before doing
anything with it, which means it would do the exact thing it needs to do
in the case where we are looking up a non-existent key, therefore no
behavior has changed.


    [4 lines not shown]
DeltaFile
+2-2clang/lib/AST/CXXInheritance.cpp
+1-1clang/include/clang/AST/CXXInheritance.h
+3-32 files

LLVM/project a1b4509clang/include/clang/Analysis/Analyses/LifetimeSafety FactsGenerator.h, clang/lib/Analysis/LifetimeSafety FactsGenerator.cpp

std_move false positive
DeltaFile
+14-0clang/lib/Analysis/LifetimeSafety/FactsGenerator.cpp
+2-0clang/include/clang/Analysis/Analyses/LifetimeSafety/FactsGenerator.h
+16-02 files

LLVM/project a09c579mlir/lib/Dialect/Linalg/Utils Utils.cpp

[NFC][Linalg] Introduce ConvMatchBuilder + refactor Conv matchers (#169704)

-- This commit is a follow-up and third in the series of adding
matchers for conv/pool ops. Refer:
https://github.com/llvm/llvm-project/pull/163724
-- It introduces ConvMatchBuilder class in order to reduce the
   repetitive code across Conv1D/2D/3D/Depthwise/Pooling variants.
-- Refer to [Conv2D
thread](https://github.com/llvm/llvm-project/pull/168362#issuecomment-3575972133)
for further context.

Signed-off-by: Abhishek Varma <abhvarma at amd.com>
DeltaFile
+288-454mlir/lib/Dialect/Linalg/Utils/Utils.cpp
+288-4541 files

LLVM/project 349c748clang/lib/Analysis/LifetimeSafety FactsGenerator.cpp, clang/test/Sema warn-lifetime-safety.cpp warn-lifetime-safety-dataflow.cpp

dereference_operator
DeltaFile
+11-11clang/test/Sema/warn-lifetime-safety.cpp
+4-0clang/lib/Analysis/LifetimeSafety/FactsGenerator.cpp
+3-0clang/test/Sema/warn-lifetime-safety-dataflow.cpp
+18-113 files

LLVM/project 363a78cclang/include/clang/Analysis/Analyses/LifetimeSafety LifetimeAnnotations.h, clang/lib/Analysis/LifetimeSafety LifetimeAnnotations.cpp FactsGenerator.cpp

Implicit lifetimebound for std namespace
DeltaFile
+82-0clang/lib/Analysis/LifetimeSafety/LifetimeAnnotations.cpp
+2-62clang/lib/Sema/CheckExprLifetime.cpp
+4-0clang/include/clang/Analysis/Analyses/LifetimeSafety/LifetimeAnnotations.h
+2-1clang/lib/Analysis/LifetimeSafety/FactsGenerator.cpp
+90-634 files

LLVM/project 7925a9ellvm/lib/Target/X86 X86ISelLowering.cpp, llvm/test/CodeGen/X86 kmov.ll

[X86] combineConcatVectorOps - add handling for vXi1 concat(logicop(),logicop()) patterns. (#169998)

DeltaFile
+14-30llvm/test/CodeGen/X86/kmov.ll
+12-2llvm/lib/Target/X86/X86ISelLowering.cpp
+26-322 files

LLVM/project 3e16aefclang/lib/CodeGen/Targets Sparc.cpp, clang/test/CodeGen/Sparc sparcv8-abi.c

[SPARC] Properly handle CC for long double on sparc32 (#162226)

Pass and return `long double`s indirectly, as specified in the psABI.
This continues the patch at https://reviews.llvm.org/D89130.

This should fix the issue at https://github.com/llvm/llvm-project/issues/41838.
DeltaFile
+93-108llvm/test/CodeGen/SPARC/llvm.sincos.ll
+118-59llvm/lib/Target/Sparc/SparcISelLowering.cpp
+89-0llvm/test/CodeGen/SPARC/fp128-abi.ll
+33-3clang/test/CodeGen/Sparc/sparcv8-abi.c
+25-9clang/lib/CodeGen/Targets/Sparc.cpp
+11-11clang/test/Preprocessor/init.c
+369-19011 files not shown
+405-21717 files

LLVM/project 3a1079fllvm/test/CodeGen/AMDGPU amdgcn.bitcast.1024bit.ll spill-scavenge-offset.ll, llvm/test/CodeGen/X86 2008-04-17-CoalescerBug.ll

Revert "[RegAlloc] Relax the split constrain on MBB prolog" (#169990)

Reverts llvm/llvm-project#168259

breaks hip buildot
DeltaFile
+2,852-2,897llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
+283-284llvm/test/CodeGen/AMDGPU/spill-scavenge-offset.ll
+152-159llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.960bit.ll
+95-92llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.896bit.ll
+0-167llvm/test/CodeGen/AMDGPU/spill-before-exec2.mir
+38-40llvm/test/CodeGen/X86/2008-04-17-CoalescerBug.ll
+3,420-3,6395 files not shown
+3,458-3,73311 files

LLVM/project d3762edllvm/docs Telemetry.rst InstCombineContributorGuide.md

[docs] Fix typos and remove redundant whitespace (#169981)

As the title says, I fixed some spelling mistakes I found in the docs.
DeltaFile
+24-24llvm/docs/Telemetry.rst
+1-1llvm/docs/InstCombineContributorGuide.md
+1-1llvm/docs/KeyInstructionsDebugInfo.md
+26-263 files

LLVM/project 66d33cellvm/test/Transforms/LoopVectorize pr58811-scev-expansion.ll

[LV] Extend test coverage for inductions depending on complex SCEVs.

Re-generate check lines, add test with complex SCEV as induction start
value and add stores to existing loops to make them not trivial.
DeltaFile
+458-109llvm/test/Transforms/LoopVectorize/pr58811-scev-expansion.ll
+458-1091 files

LLVM/project 33e5eecllvm/test/CodeGen/AMDGPU amdgcn.bitcast.1024bit.ll spill-scavenge-offset.ll, llvm/test/CodeGen/X86 2008-04-17-CoalescerBug.ll

Revert "[RegAlloc] Relax the split constrain on MBB prolog (#168259)"

This reverts commit 9bae84b01718e53495abf50958abc86ea45f16bb.
DeltaFile
+2,852-2,897llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
+283-284llvm/test/CodeGen/AMDGPU/spill-scavenge-offset.ll
+152-159llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.960bit.ll
+95-92llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.896bit.ll
+0-167llvm/test/CodeGen/AMDGPU/spill-before-exec2.mir
+38-40llvm/test/CodeGen/X86/2008-04-17-CoalescerBug.ll
+3,420-3,6395 files not shown
+3,458-3,73311 files

LLVM/project dae7908flang-rt CMakeLists.txt, flang-rt/lib CMakeLists.txt

Skip libraries other than runtime on module-only mode
DeltaFile
+10-5flang-rt/lib/CMakeLists.txt
+1-1flang-rt/CMakeLists.txt
+11-62 files

LLVM/project f5742c4llvm/include/llvm/IR IntrinsicsRISCVXCV.td, llvm/lib/Target/RISCV RISCVInstrInfoXCV.td

[RISCV] Intrinsic Support for XCVelw (#129168)

DeltaFile
+27-0llvm/test/CodeGen/RISCV/xcvelw.ll
+11-0llvm/test/MC/RISCV/corev/XCVelw-pseudo.s
+8-1llvm/lib/Target/RISCV/RISCVInstrInfoXCV.td
+4-0llvm/include/llvm/IR/IntrinsicsRISCVXCV.td
+3-0llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
+53-15 files

LLVM/project 5fccb47clang-tools-extra/clang-tidy/utils FormatStringConverter.cpp, clang-tools-extra/docs ReleaseNotes.rst

Revert "[clang-tidy] Fix OOB access in `FormatStringConverter` with signed ch…"

This reverts commit 5dd2b06d60d3eb9b07c7513358ad8b04386f79bc.
DeltaFile
+0-12clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-print.cpp
+3-4clang-tools-extra/clang-tidy/utils/FormatStringConverter.cpp
+3-4clang-tools-extra/docs/ReleaseNotes.rst
+0-2clang-tools-extra/test/clang-tidy/check_clang_tidy.py
+6-224 files