LLVM/project 0458162llvm/include/llvm/Passes CodeGenPassBuilder.h, llvm/test/CodeGen/AMDGPU llc-pipeline-npm.ll

[CodeGen][NPM] Disable Machine verifier at the end of default pipelines
DeltaFile
+4-8llvm/test/CodeGen/X86/llc-pipeline-npm.ll
+3-6llvm/test/CodeGen/AMDGPU/llc-pipeline-npm.ll
+0-3llvm/include/llvm/Passes/CodeGenPassBuilder.h
+7-173 files

LLVM/project 72b9ae5llvm/lib/Target/RISCV RISCVFoldMemOffset.cpp, llvm/test/CodeGen/RISCV fold-mem-offset-zilsd.ll

[RISCV] Add Zilsd to RISCVFoldMemOffset (#176544)

DeltaFile
+151-0llvm/test/CodeGen/RISCV/fold-mem-offset-zilsd.ll
+2-0llvm/lib/Target/RISCV/RISCVFoldMemOffset.cpp
+153-02 files

LLVM/project ff783aallvm/lib/Transforms/Scalar LoopStrengthReduce.cpp

[CodeGen][LSR][NPM] Make LoopStrengthReduce pass preserve LCSSA
DeltaFile
+4-0llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
+4-01 files

LLVM/project 5572170llvm/lib/Target/AMDGPU SILowerControlFlow.cpp, llvm/test/CodeGen/AMDGPU si-lower-control-flow-preserve-dom-tree.mir

[AMDGPU] Fix DomTree preservation in SILowerControlFlow when nodes are deleted
DeltaFile
+59-0llvm/test/CodeGen/AMDGPU/si-lower-control-flow-preserve-dom-tree.mir
+5-0llvm/lib/Target/AMDGPU/SILowerControlFlow.cpp
+64-02 files

LLVM/project 0e8e428llvm/include/llvm/Passes CodeGenPassBuilder.h, llvm/test/CodeGen/AMDGPU llc-pipeline-npm.ll

[CodeGen][NPM] Isolate CanonicalizeFreezeInLoopsPass into a different adaptor
DeltaFile
+4-4llvm/test/CodeGen/X86/llc-pipeline-npm.ll
+4-4llvm/test/CodeGen/AMDGPU/llc-pipeline-npm.ll
+6-1llvm/include/llvm/Passes/CodeGenPassBuilder.h
+14-93 files

LLVM/project 6efff59clang/lib/CodeGen CGClass.cpp CGExprCXX.cpp

[UBSAN] [NFC] resolve clang-format errors (#175716)

PR to resolve clang-format errors in the files:

- `clang/lib/CodeGen/CGExprAgg.cpp`
- `clang/lib/CodeGen/CGExprCXX.cpp`
- `clang/lib/CodeGen/CGClass.cpp`

Co-authored-by: vasu-ibm <Vasu.Sharma2 at ibm.com>
DeltaFile
+818-852clang/lib/CodeGen/CGClass.cpp
+235-258clang/lib/CodeGen/CGExprCXX.cpp
+82-97clang/lib/CodeGen/CGExprAgg.cpp
+1,135-1,2073 files

LLVM/project 10ceffbllvm/lib/Target/AMDGPU AMDGPUTargetMachine.cpp, llvm/test/CodeGen/AMDGPU llc-pipeline-npm.ll

[AMDGPU][NPM] Complete fast regalloc pipeline
DeltaFile
+38-0llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
+10-1llvm/test/CodeGen/AMDGPU/llc-pipeline-npm.ll
+48-12 files

LLVM/project a312567llvm/lib/CodeGen LiveIntervals.cpp

[CodeGen][NPM] dump slot index info with -debug while running LiveIntervals
DeltaFile
+4-2llvm/lib/CodeGen/LiveIntervals.cpp
+4-21 files

LLVM/project 97b4714llvm/include/llvm/Passes CodeGenPassBuilder.h, llvm/test/CodeGen/AMDGPU llc-pipeline-npm.ll

[CodeGen][NPM] Add "PhysicalRegisterUsageAnalysis" once
DeltaFile
+6-9llvm/test/CodeGen/AMDGPU/llc-pipeline-npm.ll
+1-4llvm/include/llvm/Passes/CodeGenPassBuilder.h
+7-132 files

LLVM/project f2e1affllvm/lib/Target/AMDGPU AMDGPUTargetMachine.cpp

[AMDGPU][NPM] Obey "enable-amdgpu-aa" option
DeltaFile
+2-1llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
+2-11 files

LLVM/project 01fe1c4llvm/lib/CodeGen BranchFolding.cpp BranchRelaxation.cpp, llvm/lib/Target/AMDGPU SIPreEmitPeephole.cpp

[CodeGen][NPM] Update dominator tree and post dominator tree consistently
DeltaFile
+11-2llvm/lib/Target/AMDGPU/SIPreEmitPeephole.cpp
+11-1llvm/lib/CodeGen/BranchFolding.cpp
+10-1llvm/lib/CodeGen/BranchRelaxation.cpp
+7-4llvm/lib/CodeGen/MachineBlockPlacement.cpp
+39-84 files

LLVM/project bfcbf5dllvm/lib/CodeGen BranchFolding.cpp MachineBlockPlacement.cpp, llvm/lib/Target/AMDGPU SIPreEmitPeephole.cpp

review comment
DeltaFile
+8-9llvm/lib/CodeGen/BranchFolding.cpp
+9-8llvm/lib/CodeGen/MachineBlockPlacement.cpp
+8-8llvm/lib/CodeGen/BranchRelaxation.cpp
+7-8llvm/lib/Target/AMDGPU/SIPreEmitPeephole.cpp
+32-334 files

LLVM/project 1ccfb97llvm/lib/Target/AMDGPU AMDGPUTargetMachine.cpp, llvm/test/CodeGen/AMDGPU llc-pipeline-npm.ll

[AMDGPU][NPM] Enable "AMDGPURewriteAGPRCopyMFMAPass"
DeltaFile
+420-418llvm/test/CodeGen/AMDGPU/llc-pipeline-npm.ll
+2-0llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
+422-4182 files

LLVM/project 1887fcallvm/lib/Target/RISCV RISCVISelLowering.cpp, llvm/test/CodeGen/RISCV rvp-ext-rv32.ll

[RISCV][llvm] Handle sub-register vector shifts for P-extension (#176109)

For sub-register width vectors (v2i16, v4i8) on RV64 with P-extension,
the type legalizer widens them to legal types, i.e. v4i16, v8i8, before
they're getting unrolled, so they'll be redundant computation for higher
part of register.
The correct way to handle is similar to widening div/rem where there's
undef padded for high part.

stack on: https://github.com/llvm/llvm-project/pull/176093
DeltaFile
+39-119llvm/test/CodeGen/RISCV/rvp-ext-rv32.ll
+27-1llvm/lib/Target/RISCV/RISCVISelLowering.cpp
+66-1202 files

LLVM/project ed6b47dclang/include/clang/Basic BuiltinsAMDGPU.def, clang/lib/CodeGen/TargetBuiltins AMDGPU.cpp

[AMDGPU] Add builtins for wave reduction intrinsics
DeltaFile
+84-0clang/test/CodeGenOpenCL/builtins-amdgcn.cl
+8-0clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp
+4-0clang/include/clang/Basic/BuiltinsAMDGPU.def
+96-03 files

LLVM/project 8adbac0llvm/docs AMDGPUUsage.rst

[AMDGPU] Update documentation for wave reduction intrinsics
DeltaFile
+70-4llvm/docs/AMDGPUUsage.rst
+70-41 files

LLVM/project f34c4e9llvm/lib/Target/AMDGPU SIISelLowering.cpp

Use enum values for source modifiers
DeltaFile
+3-3llvm/lib/Target/AMDGPU/SIISelLowering.cpp
+3-31 files

LLVM/project 2df642ellvm/lib/Target/AMDGPU SIISelLowering.cpp

Use pseudo opcode for switch statements
DeltaFile
+10-10llvm/lib/Target/AMDGPU/SIISelLowering.cpp
+10-101 files

LLVM/project b718f0allvm/lib/Target/AMDGPU SIISelLowering.cpp

Use enum values for src modifiers.
DeltaFile
+8-8llvm/lib/Target/AMDGPU/SIISelLowering.cpp
+8-81 files

LLVM/project 7533267llvm/lib/Target/AMDGPU SIISelLowering.cpp

Use `e32` encoding as placeholder
DeltaFile
+10-10llvm/lib/Target/AMDGPU/SIISelLowering.cpp
+10-101 files

LLVM/project b77bd3cllvm/lib/Target/AMDGPU SIISelLowering.cpp SIInstructions.td, llvm/test/CodeGen/AMDGPU llvm.amdgcn.reduce.fadd.ll llvm.amdgcn.reduce.fsub.ll

[AMDGPU] Add wave reduce intrinsics for double types - 2

Supported Ops: `add`, `sub`
DeltaFile
+1,115-0llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.fadd.ll
+1,102-0llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.fsub.ll
+80-19llvm/lib/Target/AMDGPU/SIISelLowering.cpp
+2-0llvm/lib/Target/AMDGPU/SIInstructions.td
+2,299-194 files

LLVM/project bae79ccllvm/lib/Target/AMDGPU SIISelLowering.cpp

Use enum values for src modifiers
DeltaFile
+4-4llvm/lib/Target/AMDGPU/SIISelLowering.cpp
+4-41 files

LLVM/project 2a8a694llvm/lib/Target/RISCV RISCVCallingConv.cpp RISCVISelLowering.cpp, llvm/test/CodeGen/RISCV rvp-ext-rv64.ll rvp-ext-rv32.ll

[RISCV][llvm] Handle calling convention for P extension fixed vectors (#176093)

P extension packed SIMD types are passed in GPRs. For types larger than
XLen (e.g. v8i8 on RV32), they are split and passed via the 2XLen
mechanism, similar to i64 on RV32.

FIXME: Need to figure out the mechanism when P and V are enabled at the
same time.

stack on: https://github.com/llvm/llvm-project/pull/176193
DeltaFile
+744-1,642llvm/test/CodeGen/RISCV/rvp-ext-rv64.ll
+758-1,393llvm/test/CodeGen/RISCV/rvp-ext-rv32.ll
+361-0llvm/test/CodeGen/RISCV/calling-conv-p-ext-vector.ll
+13-6llvm/lib/Target/RISCV/RISCVCallingConv.cpp
+1-11llvm/lib/Target/RISCV/RISCVISelLowering.cpp
+10-0llvm/lib/Target/RISCV/RISCVSubtarget.cpp
+1,887-3,0521 files not shown
+1,888-3,0527 files

LLVM/project 0e4c326.github/workflows ids-check.yml

[Github] Update actions/upload-artifact action to v6 (#176677)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
|
[actions/upload-artifact](https://redirect.github.com/actions/upload-artifact)
| action | major | `v5.0.0` → `v6.0.0` |

---

> [!WARNING]
> Some dependencies could not be looked up. Check the Dependency
Dashboard for more information.

---

### Release Notes

    [40 lines not shown]
DeltaFile
+1-1.github/workflows/ids-check.yml
+1-11 files

LLVM/project 77009callvm/lib/Target/LoongArch LoongArchISelLowering.cpp LoongArchFloat32InstrInfo.td, llvm/test/CodeGen/LoongArch load-itofp-combine.ll

[LoongArch] Convert ld to fld when result is only used by sitofp

If the result of an integer load is only used by an integer-to-float
conversion, use a fp load instead. This eliminates an
integer-to-float-move (movgr2fr) instruction.
DeltaFile
+44-0llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
+8-23llvm/test/CodeGen/LoongArch/load-itofp-combine.ll
+5-0llvm/lib/Target/LoongArch/LoongArchFloat32InstrInfo.td
+3-0llvm/lib/Target/LoongArch/LoongArchFloat64InstrInfo.td
+60-234 files

LLVM/project 02eb33bllvm/test/CodeGen/LoongArch load-itofp-combine.ll

[LoongArch][NFC] Add tests for sitofp(load) combine (#165521)

DeltaFile
+89-0llvm/test/CodeGen/LoongArch/load-itofp-combine.ll
+89-01 files

LLVM/project fb3a5b0llvm/test/tools/llvm-profgen coff-profile.test, llvm/tools/llvm-profgen ProfiledBinary.cpp ProfiledBinary.h

[PseudoProbe] Support loading pseudo probe from debug binary (#175698)

Pseudo probe and DWARF sections can occupy a significant amount of space
in binary for large application. An executable PE image file should not
be larger than 2GB on Windows. To support LBR collection for those large
applications, user can use llvm-objcopy to strip those debug sections
and produce a smaller binary for profiling. The original binary can then
be used as the debug binary to load pseudo probe and DWARF info.
DeltaFile
+34-19llvm/tools/llvm-profgen/ProfiledBinary.cpp
+5-4llvm/tools/llvm-profgen/ProfiledBinary.h
+5-0llvm/test/tools/llvm-profgen/coff-profile.test
+44-233 files

LLVM/project 7f96336llvm/lib/LTO LTOBackend.cpp, llvm/test/ThinLTO/X86 thinlto-savetemps-mod.ll

[LTOBackend] Add -filter-save-modules= for save-temps to only dump specific modules. (#175696)

Only if module's name contains a string in -filter-save-modules, will
its temp BC files be saved. If -filter-save-modules= not set, all
modules' BC files will be saved. This feature is more useful for ThinLto
when huge numbers of modules are built separately. Using
-filter-save-modules= can reduce build time and size of generated files,
even avoid crash if some other unrelated files have issues during BC
files dumping.
DeltaFile
+46-0llvm/test/ThinLTO/X86/thinlto-savetemps-mod.ll
+17-1llvm/lib/LTO/LTOBackend.cpp
+63-12 files

LLVM/project 447a1dbllvm/lib/Target/X86 X86FixupSetCC.cpp, llvm/test/CodeGen/X86/apx setzucc.ll

[X86][APX] Ignore the use of EFLAGS when ZU is enabled (#176645)

Since we don't need to insert the XOR instruction.

Fixes redundant MOVXZ in https://godbolt.org/z/s9Kq6TPoW
DeltaFile
+13-0llvm/test/CodeGen/X86/apx/setzucc.ll
+2-1llvm/lib/Target/X86/X86FixupSetCC.cpp
+15-12 files

LLVM/project b140fb2mlir/lib/Dialect/MemRef/IR MemRefOps.cpp, mlir/test/Dialect/MemRef canonicalize.mlir

[mlir][memref] Support folding memref.load from global splat constants (#176627)

This change extends the memref.load folding hook to fold loads from
global constant memrefs initialized with splat values.
DeltaFile
+18-1mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
+19-0mlir/test/Dialect/MemRef/canonicalize.mlir
+37-12 files