LLVM/project 714bfc9llvm/lib/Target/AMDGPU AMDGPURewriteAGPRCopyMFMA.cpp, llvm/test/CodeGen/AMDGPU rewrite-agpr-spill-multi-store-crash.ll

[AMDGPU] Verify dominance when rewriting spills to registers

Rev1: Updated condition to check for "joint domination", i.e. no reload
is reachable from entry without reaching a store to the same slot. Still
working on reduced test or unit test.

When performing spill elimination in the AGPR copy rewrite pass it was
possible to see spill reloads that were not jointly dominated by any
store. This caused invalid MIR to be generated where vreg uses were not
dominated by defs. This patch adds a joint dominance check before
rewriting spills.
DeltaFile
+2,084-0llvm/test/CodeGen/AMDGPU/rewrite-agpr-spill-multi-store-crash.ll
+88-4llvm/lib/Target/AMDGPU/AMDGPURewriteAGPRCopyMFMA.cpp
+2,172-42 files

LLVM/project e7f4f5d.ci monolithic-windows.sh

fix

Created using spr 1.3.7
DeltaFile
+1-1.ci/monolithic-windows.sh
+1-11 files

LLVM/project dec7ec4.github/workflows premerge.yaml

test

Created using spr 1.3.7
DeltaFile
+1-1.github/workflows/premerge.yaml
+1-11 files

LLVM/project 99bf98c.ci monolithic-linux.sh

test

Created using spr 1.3.7
DeltaFile
+1-1.ci/monolithic-linux.sh
+1-11 files

LLVM/project 7ef149b.github/workflows premerge.yaml

test

Created using spr 1.3.7
DeltaFile
+1-1.github/workflows/premerge.yaml
+1-11 files

LLVM/project e9153aa.github/workflows premerge.yaml

test

Created using spr 1.3.7
DeltaFile
+1-1.github/workflows/premerge.yaml
+1-11 files

LLVM/project 9027354llvm/test/CodeGen/AMDGPU amdgcn.bitcast.1024bit.ll amdgcn.bitcast.512bit.ll, llvm/test/MC/Disassembler/AMDGPU gfx11_dasm_vop3_dpp16.txt

test

Created using spr 1.3.7
DeltaFile
+36,400-36,393llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
+11,724-10,707llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.512bit.ll
+4,719-5,242llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp16.txt
+3,820-3,075llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.960bit.ll
+3,688-2,998llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.896bit.ll
+3,337-2,705llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.832bit.ll
+63,688-61,1204,194 files not shown
+206,172-150,6674,200 files

LLVM/project 49d5bb0llvm/lib/Target/AMDGPU AMDGPULowerExecSync.cpp AMDGPULowerModuleLDSPass.cpp, llvm/test/CodeGen/AMDGPU amdgpu-lower-exec-sync-and-module-lds.ll amdgpu-lower-exec-sync.ll

[AMDGPU] Add amdgpu-lower-exec-sync pass to lower named-barrier globals (#165692)

This PR introduces `amdgpu-lower-exec-sync` pass which specifically
lowers named-barrier LDS globals introduced by #114550 .

Changes include:

- Moving the logic of lowering named-barrier LDS globals from
`amdgpu-lower-module-lds` pass to this new pass.

- This PR adds the pass to pipeline, remove the existing lowering logic for
named-barrier LDS in `amdgpu-lower-module-lds`

See #161827 for discussion on this topic.
DeltaFile
+240-0llvm/lib/Target/AMDGPU/AMDGPULowerExecSync.cpp
+0-126llvm/lib/Target/AMDGPU/AMDGPULowerModuleLDSPass.cpp
+122-0llvm/test/CodeGen/AMDGPU/amdgpu-lower-exec-sync-and-module-lds.ll
+104-0llvm/test/CodeGen/AMDGPU/amdgpu-lower-exec-sync.ll
+73-0llvm/test/CodeGen/AMDGPU/amdgpu-lower-exec-sync-and-sw-lds.ll
+15-0llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
+554-1267 files not shown
+580-13013 files

LLVM/project d5cdfd4.github/workflows gha-codeql.yml llvm-abi-tests.yml

Update [Github] Update GHA Dependencies (#168299)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [aminya/setup-cpp](https://redirect.github.com/aminya/setup-cpp) |
action | patch | `v1.7.1` -> `v1.7.2` |
| ghcr.io/llvm/ci-ubuntu-24.04-abi-tests | container | digest |
`01e66b0` -> `f80125c` |
|
[github/codeql-action](https://redirect.github.com/github/codeql-action)
| action | patch | `v4.31.2` -> `v4.31.3` |
| llvm/actions | action | digest | `42d8057` -> `5dd9550` |
DeltaFile
+2-2.github/workflows/gha-codeql.yml
+2-2.github/workflows/llvm-abi-tests.yml
+1-1.github/workflows/scorecard.yml
+1-1.github/workflows/release-lit.yml
+1-1.github/workflows/hlsl-test-all.yaml
+1-1.github/workflows/new-issues.yml
+8-83 files not shown
+11-119 files

LLVM/project 4206558llvm/include/llvm/ADT DenseMap.h

[ADT] Add roundUpNumBuckets to DenseMap (NFC) (#168301)

This patch adds computeNumBuckets, a helper function to compute the
number of buckets.

This is part of the effort outlined in #168255.  This makes it easier
to move the core logic of grow() to DenseMapBase::grow().
DeltaFile
+17-6llvm/include/llvm/ADT/DenseMap.h
+17-61 files

LLVM/project 6152a8bllvm/lib/Target/AArch64 AArch64FrameLowering.cpp

[AArch64] Use llvm::any_of (NFC) (#168294)

Identified with llvm-use-ranges.
DeltaFile
+4-6llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
+4-61 files

LLVM/project 99630ebclang/test/CodeGenSYCL address-space-conversions.cpp

[NFC][Clang][Test] Drop calling convention check from address-space-conversions.cpp (#167261)

Calling convention is irrelevant to address space verification and adds
complixity for other target triples.
DeltaFile
+26-26clang/test/CodeGenSYCL/address-space-conversions.cpp
+26-261 files

LLVM/project 11278cfllvm/lib/MC MCELFStreamer.cpp

[MC] Remove a redundant cast (NFC) (#168298)

Symbol is already of type MCSymbolELF *.

Identified with readability-redundant-casting.
DeltaFile
+1-2llvm/lib/MC/MCELFStreamer.cpp
+1-21 files

LLVM/project cce852fllvm/include/llvm/Object ELF.h, llvm/lib/Object ELF.cpp

[Object] Add getRISCVVendorRelocationTypeName to render RISCV vendor-specific relocations to strings. (#168293)

This will be used in places like LLD to render them for error messages.
DeltaFile
+14-0llvm/unittests/Object/ELFTest.cpp
+13-0llvm/lib/Object/ELF.cpp
+2-0llvm/include/llvm/Object/ELF.h
+29-03 files

LLVM/project 900c517llvm/lib/Target/AMDGPU AMDGPUISelLowering.h AMDGPUISelLowering.cpp, llvm/test/CodeGen/AMDGPU llvm.amdgcn.ptr.buffer.atomic.fadd_rtn_errors.ll

[AMDGPU] TableGen-erate SDNode descriptions (#168248)

This allows SDNodes to be validated against their expected type profiles
and reduces the number of changes required to add a new node.

Autogenerated node names start with "AMDGPUISD::", hence the changes in
the tests.

The few nodes defined in R600.td are *not* imported because TableGen
processes AMDGPU.td that doesn't include R600.td. Ideally, we would have
two sets of nodes, but that would require careful reorganization of td
files since some nodes are shared between AMDGPU/R600. Not sure if it
something worth looking into.

Some nodes fail validation, those are listed in
`AMDGPUSelectionDAGInfo::verifyTargetNode()`.

Part of #119709.

Pull Request: https://github.com/llvm/llvm-project/pull/168248
DeltaFile
+0-231llvm/lib/Target/AMDGPU/AMDGPUISelLowering.h
+1-163llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
+44-4llvm/lib/Target/AMDGPU/AMDGPUSelectionDAGInfo.cpp
+39-3llvm/lib/Target/AMDGPU/AMDGPUSelectionDAGInfo.h
+35-2llvm/lib/Target/AMDGPU/AMDGPUInstrInfo.td
+8-8llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ptr.buffer.atomic.fadd_rtn_errors.ll
+127-4117 files not shown
+136-41413 files

LLVM/project 6d5f87fllvm/test/CodeGen/AMDGPU load-select-ptr.ll select-vectors.ll, llvm/test/CodeGen/NVPTX i1-select.ll fast-math.ll

Revert "DAG: Allow select ptr combine for non-0 address spaces" (#168292)

Reverts llvm/llvm-project#167909
DeltaFile
+48-49llvm/test/CodeGen/AMDGPU/load-select-ptr.ll
+34-43llvm/test/CodeGen/NVPTX/i1-select.ll
+28-36llvm/test/CodeGen/NVPTX/fast-math.ll
+29-34llvm/test/CodeGen/AMDGPU/select-vectors.ll
+38-19llvm/test/CodeGen/NVPTX/lower-byval-args.ll
+12-15llvm/test/CodeGen/AMDGPU/select-load-to-load-select-ptr-combine.ll
+189-1966 files not shown
+221-23812 files

LLVM/project 1a7cb1ellvm/include/llvm/ADT DenseMap.h

[ADT] Move initWithExactBucketCount to DenseMapBase (NFC) (#168283)

This patch moves initWithExactBucketCount and ExactBucketCount to
DenseMapBase to share more code.

Since SmallDenseMap::allocateBuckets always returns true,
initWithExactBucketCount is equivalent to:

  void initWithExactBucketCount(unsigned NewNumBuckets) {
    allocateBuckets(NewNumBuckets);
    initEmpty();
  }

for SmallDenseMap.

Note that ExactBucketCount is not used within DenseMapBase yet.

This moves us closer to the storage policy idea outlined in #168255.
DeltaFile
+19-21llvm/include/llvm/ADT/DenseMap.h
+19-211 files

LLVM/project bb3d74aruntimes CMakeLists.txt

Fix which variables to check
DeltaFile
+1-1runtimes/CMakeLists.txt
+1-11 files

LLVM/project 128a3f6llvm/test/CodeGen/AMDGPU amdgcn.bitcast.1024bit.ll amdgcn.bitcast.512bit.ll

Merge remote-tracking branch 'official/main' into users/meinersbur/runtimes_output-dir
DeltaFile
+26,058-27,246llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
+10,033-9,400llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.512bit.ll
+3,820-3,075llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.960bit.ll
+3,688-2,998llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.896bit.ll
+3,337-2,705llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.832bit.ll
+3,149-2,620llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.704bit.ll
+50,085-48,044714 files not shown
+77,159-69,975720 files

LLVM/project 67c8e38llvm/lib/Transforms/Vectorize VPlanRecipes.cpp VPlanSLP.cpp, llvm/unittests/Transforms/Vectorize VPlanTest.cpp VPlanVerifierTest.cpp

[VPlan] Delegate to other VPInstruction constructors. (NFCI)

Update VPInstruction constructor to delegate to constructor with more
comprehensive checking and validation.

This required updating some unit tests, to make sure the constructed
VPInstructions are valid.
DeltaFile
+41-39llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
+15-15llvm/unittests/Transforms/Vectorize/VPlanVerifierTest.cpp
+6-0llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
+2-1llvm/lib/Transforms/Vectorize/VPlanSLP.cpp
+1-2llvm/lib/Transforms/Vectorize/VPlan.h
+65-575 files

LLVM/project 98d49d5llvm/lib/CodeGen TargetPassConfig.cpp

[CodeGen] Remove a redundant declaration (NFC) (#168285)

EnableFSDiscriminator is declared in DebugInfoMetadata.h.

Identified with readability-redundant-declaration.
DeltaFile
+0-2llvm/lib/CodeGen/TargetPassConfig.cpp
+0-21 files

LLVM/project 977d6cfllvm/lib/Transforms/Scalar LoopDistribute.cpp

[Scalar] Remove a redaundant cast (NFC) (#168284)

ThisPartition is already of type int.

Identified with readability-redundant-casting.
DeltaFile
+1-1llvm/lib/Transforms/Scalar/LoopDistribute.cpp
+1-11 files

LLVM/project b835c10llvm/test/CodeGen/AMDGPU load-select-ptr.ll select-vectors.ll, llvm/test/CodeGen/NVPTX i1-select.ll fast-math.ll

Revert "DAG: Allow select ptr combine for non-0 address spaces (#167909)"

This reverts commit e5f499f48f2d1fddc590982da7232d08a6f8c54c.
DeltaFile
+48-49llvm/test/CodeGen/AMDGPU/load-select-ptr.ll
+34-43llvm/test/CodeGen/NVPTX/i1-select.ll
+28-36llvm/test/CodeGen/NVPTX/fast-math.ll
+29-34llvm/test/CodeGen/AMDGPU/select-vectors.ll
+38-19llvm/test/CodeGen/NVPTX/lower-byval-args.ll
+12-15llvm/test/CodeGen/AMDGPU/select-load-to-load-select-ptr-combine.ll
+189-1966 files not shown
+221-23812 files

LLVM/project 2f389b7llvm/lib/CodeGen/SelectionDAG LegalizeVectorTypes.cpp, llvm/test/CodeGen/AArch64 sve-extract-scalable-vector.ll

DAG: Use poison for some vector result widening
DeltaFile
+216-218llvm/test/CodeGen/X86/vector-constrained-fp-intrinsics.ll
+137-137llvm/test/CodeGen/PowerPC/vector-constrained-fp-intrinsics.ll
+64-69llvm/test/CodeGen/X86/half.ll
+38-36llvm/test/CodeGen/X86/matrix-multiply.ll
+12-12llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
+0-7llvm/test/CodeGen/AArch64/sve-extract-scalable-vector.ll
+467-4796 files

LLVM/project 460fdedllvm/include/llvm/CodeGen SDPatternMatch.h

DAG: Handle poison in m_Undef
DeltaFile
+68-66llvm/include/llvm/CodeGen/SDPatternMatch.h
+68-661 files

LLVM/project 306b5a3llvm/lib/Transforms/Vectorize SLPVectorizer.cpp, llvm/test/Transforms/SLPVectorizer/X86 parent-node-split-non-schedulable.ll

[SLP]Do not consider split nodes, when checking parent PHI-based nodes

The compiler should not consider split vectorize nodes, when checking
for non-schedulable PHI-based parent nodes. Only pure PHI nodes must be
  considered, they only can be considered as explicit users, split nodes
  are not.

Fixes #168268
DeltaFile
+124-0llvm/test/Transforms/SLPVectorizer/X86/parent-node-split-non-schedulable.ll
+4-0llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+128-02 files

LLVM/project 7761a89llvm/utils/gn/secondary/clang-tools-extra/clang-tidy/cert BUILD.gn, llvm/utils/gn/secondary/clang-tools-extra/clang-tidy/misc BUILD.gn

[gn build] Port 8b55d774631b
DeltaFile
+1-4llvm/utils/gn/secondary/clang-tools-extra/clang-tidy/cert/BUILD.gn
+1-0llvm/utils/gn/secondary/clang-tools-extra/clang-tidy/misc/BUILD.gn
+2-42 files

LLVM/project 8b55d77clang-tools-extra/clang-tidy/cert LimitedRandomnessCheck.cpp LimitedRandomnessCheck.h, clang-tools-extra/clang-tidy/misc PredictableRandCheck.h PredictableRandCheck.cpp

[clang-tidy] Rename `cert-msc30-c` and `cert-msc50-cpp` to `misc-predictable-rand` (#167689)

Closes #157292
DeltaFile
+33-0clang-tools-extra/clang-tidy/misc/PredictableRandCheck.h
+0-33clang-tools-extra/clang-tidy/cert/LimitedRandomnessCheck.cpp
+33-0clang-tools-extra/clang-tidy/misc/PredictableRandCheck.cpp
+0-33clang-tools-extra/clang-tidy/cert/LimitedRandomnessCheck.h
+0-28clang-tools-extra/test/clang-tidy/checkers/cert/limited-randomness.cpp
+28-0clang-tools-extra/test/clang-tidy/checkers/misc/predictable-rand.cpp
+94-9411 files not shown
+163-12317 files

LLVM/project 5a7bb15llvm/lib/CodeGen/SelectionDAG LegalizeVectorTypes.cpp, llvm/test/CodeGen/X86 half.ll

DAG: Use poison when splitting vector_shuffle results

The one test change looks like a regression, somehow.
DeltaFile
+69-64llvm/test/CodeGen/X86/half.ll
+1-1llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
+70-652 files

LLVM/project dd9bd3ellvm/lib/CodeGen/SelectionDAG DAGCombiner.cpp

DAG: Preserve poison in combineConcatVectorOfScalars (#168220)

DeltaFile
+2-2llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
+2-21 files