LLVM/project b0b3e50llvm/lib/Target/NVPTX NVPTXInstrInfo.cpp NVPTXInstrInfo.td, llvm/test/CodeGen/NVPTX machine-cse-predicate-inversion-rollback.mir machine-cse-predicate-inversion-multiple-users.ll

update rollback logic and add test exercising it
DeltaFile
+66-0llvm/test/CodeGen/NVPTX/machine-cse-predicate-inversion-rollback.mir
+17-19llvm/lib/Target/NVPTX/NVPTXInstrInfo.cpp
+9-7llvm/test/CodeGen/NVPTX/machine-cse-predicate-inversion-multiple-users.ll
+1-1llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
+93-274 files

LLVM/project b77ccdfllvm/test/CodeGen/NVPTX machine-cse-predicate-inversion-float16.ll machine-cse-predicate-inversion-bfloat16.ll

[NVPTX] Add commutativity to SETP instructions to enable MachineCSE of inverted predicates

Inverted predicates can be used freely in PTX. If we can invert a
predicate and CSE the generating instruction we can save calculating
the inverse.

Teach the NVPTX commuteInstructionImpl that SETP instructions can be
inverted to allow CSEing with previous SETP that match the inverted
form. This also inverts the branch users of the predicate to maintain
correctness.

Currently only allow the SETP inversion if all users are branches.
Future work can extend this to sel and not instructions.

Made-with: Cursor
DeltaFile
+695-0llvm/test/CodeGen/NVPTX/machine-cse-predicate-inversion-float16.ll
+695-0llvm/test/CodeGen/NVPTX/machine-cse-predicate-inversion-bfloat16.ll
+679-0llvm/test/CodeGen/NVPTX/machine-cse-predicate-inversion-float64.ll
+663-0llvm/test/CodeGen/NVPTX/machine-cse-predicate-inversion-float32.ll
+437-0llvm/test/CodeGen/NVPTX/machine-cse-predicate-inversion-int16.ll
+437-0llvm/test/CodeGen/NVPTX/machine-cse-predicate-inversion-int64.ll
+3,606-013 files not shown
+5,908-419 files

LLVM/project e4456ballvm/lib/Target/NVPTX NVPTXInstrInfo.cpp

clang-format
DeltaFile
+1-4llvm/lib/Target/NVPTX/NVPTXInstrInfo.cpp
+1-41 files

LLVM/project 1bfcddcclang-tools-extra/clang-tidy add_new_check.py, clang-tools-extra/docs/clang-tidy/checks list.rst

[clang-tidy][NFC] Fix list.rst and improve alias detection of `add_new_check.py` (#192228)

Follow up of https://github.com/llvm/llvm-project/pull/192224.

This commit does two things:

- Replace the original alias detection based on `:http-equiv` (we may
remove these completely in the future) with a method of directly
matching the documentation section.
- Update the list.rst

---------

Co-authored-by: Victor Chernyakin <chernyakin.victor.j at outlook.com>
DeltaFile
+120-109clang-tools-extra/clang-tidy/add_new_check.py
+2-2clang-tools-extra/docs/clang-tidy/checks/list.rst
+122-1112 files

LLVM/project 23f2a0allvm/lib/Target/NVPTX NVPTXInstrInfo.cpp NVPTXInstrInfo.td, llvm/lib/Target/NVPTX/MCTargetDesc NVPTXInstPrinter.cpp

Move predicate inversion to a flag
DeltaFile
+16-18llvm/lib/Target/NVPTX/NVPTXInstrInfo.cpp
+8-4llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
+4-4llvm/test/CodeGen/NVPTX/branch-fold.mir
+4-4llvm/test/CodeGen/NVPTX/machinelicm-no-preheader.mir
+7-0llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXInstPrinter.cpp
+2-2llvm/test/CodeGen/NVPTX/switch-loop-header.mir
+41-322 files not shown
+44-338 files

LLVM/project 4acbf99clang-tools-extra/clangd ProjectModules.cpp ScanningProjectModules.cpp, clang-tools-extra/clangd/unittests PrerequisiteModulesTest.cpp

[NFC] [clangd] [C++20] [Modules] Rename and move scanningProjectModules (#193128)

I am going to add more stuff to ProjectModules and the current structure
and the file name scanningProjectModules may be confusing.

This NFC patch changes that.
DeltaFile
+241-0clang-tools-extra/clangd/ProjectModules.cpp
+0-240clang-tools-extra/clangd/ScanningProjectModules.cpp
+0-26clang-tools-extra/clangd/ScanningProjectModules.h
+5-0clang-tools-extra/clangd/ProjectModules.h
+3-2clang-tools-extra/clangd/unittests/PrerequisiteModulesTest.cpp
+1-2clang-tools-extra/clangd/GlobalCompilationDatabase.cpp
+250-2701 files not shown
+251-2717 files

LLVM/project 423d105llvm/test/CodeGen/RISCV/rvv vitofp-sdnode.ll vfptoi-sdnode.ll, llvm/test/Transforms/LoopVectorize/ARM mve-interleaved-cost.ll

Merge branch 'main' into users/efric/rocdl-dot
DeltaFile
+878-428llvm/test/CodeGen/RISCV/rvv/vitofp-sdnode.ll
+862-426llvm/test/CodeGen/RISCV/rvv/vfptoi-sdnode.ll
+428-526llvm/test/Transforms/LoopVectorize/ARM/mve-interleaved-cost.ll
+668-4llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfwadd.ll
+619-4llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfwsub.ll
+578-4llvm/test/CodeGen/RISCV/rvv/vfwsub-sdnode.ll
+4,033-1,392372 files not shown
+13,739-5,831378 files

LLVM/project 18f9423mlir/include/mlir/Dialect/LLVMIR ROCDLOps.td

nits

Signed-off-by: Eric Feng <Eric.Feng at amd.com>
DeltaFile
+1-2mlir/include/mlir/Dialect/LLVMIR/ROCDLOps.td
+1-21 files

LLVM/project 9a5e96bmlir/include/mlir/Dialect/LLVMIR ROCDLOps.td, mlir/test/Dialect/LLVMIR rocdl.mlir

implement rocdl support for dot intrinsics

Signed-off-by: Eric Feng <Eric.Feng at amd.com>
DeltaFile
+112-0mlir/include/mlir/Dialect/LLVMIR/ROCDLOps.td
+101-0mlir/test/Dialect/LLVMIR/rocdl.mlir
+94-0mlir/test/Target/LLVMIR/rocdl.mlir
+307-03 files

DragonFlyBSD/src 2a1028ccontrib/binutils-2.27/bfd elf.c, contrib/binutils-2.34/bfd elf.c

Fix some GCC 12.5 -Woverflow warnings (cast at initialization).
DeltaFile
+2-1usr.sbin/zic/zic.c
+2-1contrib/binutils-2.34/bfd/elf.c
+2-1contrib/binutils-2.27/bfd/elf.c
+6-33 files

LLVM/project b906cf3llvm/lib/CodeGen MachineBlockHashInfo.cpp

[CodeGen] Add constexpr and static_assert to fold64To16 (#192864)

This ensures the folding logic stability.
DeltaFile
+4-1llvm/lib/CodeGen/MachineBlockHashInfo.cpp
+4-11 files

LLVM/project b39dfcallvm/lib/Target/AMDGPU AMDGPURewriteAGPRCopyMFMA.cpp, llvm/test/CodeGen/AMDGPU rewrite-vgpr-mfma-to-agpr-spill-multi-store-mir.mir rewrite-vgpr-mfma-to-agpr-spill-multi-store.ll

[AMDGPU] Fixed verifier crash because of multiple live range components. (#190719)

In Rewrite AGPR-Copy-MFMA pass, after replacing spill instructions, the
replacement register may have multiple live range components when the
spill slot was stored to more than once. The verifier crashes with a bad
machine code error. This patch fixes the problem by splitting a live
range but assigning the same physical register in this scenario. A new
test has been added that verifies the absence of this verifier error.

Assisted-by: Claude Opus
DeltaFile
+459-0llvm/test/CodeGen/AMDGPU/rewrite-vgpr-mfma-to-agpr-spill-multi-store-mir.mir
+148-0llvm/test/CodeGen/AMDGPU/rewrite-vgpr-mfma-to-agpr-spill-multi-store.ll
+19-0llvm/lib/Target/AMDGPU/AMDGPURewriteAGPRCopyMFMA.cpp
+626-03 files

LLVM/project 9991423bolt/lib/Rewrite RewriteInstance.cpp

[BOLT] Fix stream position before appendPadding in writeEHFrameHeader

When writeEHFrameHeader needs to allocate new space for .eh_frame_hdr
(because the old section is too small), it calls appendPadding to align
NextAvailableAddress. appendPadding writes zero bytes at the current
stream position, but after the section write loop in rewriteFile the
stream is positioned at the end of the last section written in
BinarySection::operator< order — not at the file offset corresponding
to NextAvailableAddress.

In the common case (single loadObject call) the write order matches file
offset order, so the stream happens to be in the right place. But when
a runtime library adds sections via additional loadObject calls, the
operator< iteration order (code-before-data) can diverge from file
offset order: a runtime library code section may have a higher file
offset than a runtime library data section that comes after it in the
write loop. The stream then ends at a lower offset than expected, and
appendPadding's zeros overwrite the beginning of the code section.

Fix by seeking to the correct file offset before calling appendPadding.
DeltaFile
+1-0bolt/lib/Rewrite/RewriteInstance.cpp
+1-01 files

LLVM/project 021672fllvm/test/Transforms/LowerTypeTests x86-jumptable.ll aarch64-jumptable.ll

[test][LowerTypeTests] Re-generate jump table tests with --check-globals (#192734)

Debug information will be updated in the
https://github.com/llvm/llvm-project/pull/192736,
so we want to track the difference.
DeltaFile
+74-9llvm/test/Transforms/LowerTypeTests/x86-jumptable.ll
+20-8llvm/test/Transforms/LowerTypeTests/aarch64-jumptable.ll
+94-172 files

LLVM/project e55bc19lldb/source/ValueObject DILEval.cpp

[lldb] Remove unused GetDynamicOrSyntheticValue (NFC) (#193111)
DeltaFile
+0-22lldb/source/ValueObject/DILEval.cpp
+0-221 files

LLVM/project 04f3d43llvm/lib/CodeGen InlineSpiller.cpp LiveRangeEdit.cpp, llvm/test/CodeGen/X86/apx foldmemory.mir

[X86][APX] Add assert isReserved if source operand is PhysReg (#192595)
DeltaFile
+112-0llvm/test/CodeGen/X86/apx/foldmemory.mir
+2-0llvm/lib/CodeGen/InlineSpiller.cpp
+2-0llvm/lib/CodeGen/LiveRangeEdit.cpp
+116-03 files

LLVM/project 89087c3llvm/test/CodeGen/RISCV/rvv vitofp-sdnode.ll vfptoi-sdnode.ll

rebase

Created using spr 1.3.7
DeltaFile
+878-428llvm/test/CodeGen/RISCV/rvv/vitofp-sdnode.ll
+862-426llvm/test/CodeGen/RISCV/rvv/vfptoi-sdnode.ll
+668-4llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfwadd.ll
+619-4llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfwsub.ll
+578-4llvm/test/CodeGen/RISCV/rvv/vfwadd-sdnode.ll
+578-4llvm/test/CodeGen/RISCV/rvv/vfwsub-sdnode.ll
+4,183-87030 files not shown
+6,939-1,88436 files

LLVM/project 1d1ec7fllvm/test/CodeGen/RISCV/rvv vitofp-sdnode.ll vfptoi-sdnode.ll

[𝘀𝗽𝗿] changes introduced through rebase

Created using spr 1.3.7

[skip ci]
DeltaFile
+878-428llvm/test/CodeGen/RISCV/rvv/vitofp-sdnode.ll
+862-426llvm/test/CodeGen/RISCV/rvv/vfptoi-sdnode.ll
+668-4llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfwadd.ll
+619-4llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfwsub.ll
+578-4llvm/test/CodeGen/RISCV/rvv/vfwsub-sdnode.ll
+578-4llvm/test/CodeGen/RISCV/rvv/vfwadd-sdnode.ll
+4,183-87030 files not shown
+6,939-1,88436 files

LLVM/project 6e63274llvm/test/CodeGen/RISCV/rvv vitofp-sdnode.ll vfptoi-sdnode.ll

rebase

Created using spr 1.3.7
DeltaFile
+878-428llvm/test/CodeGen/RISCV/rvv/vitofp-sdnode.ll
+862-426llvm/test/CodeGen/RISCV/rvv/vfptoi-sdnode.ll
+668-4llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfwadd.ll
+619-4llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfwsub.ll
+578-4llvm/test/CodeGen/RISCV/rvv/vfwsub-sdnode.ll
+578-4llvm/test/CodeGen/RISCV/rvv/vfwadd-sdnode.ll
+4,183-87030 files not shown
+6,939-1,88436 files

LLVM/project 26ff57cllvm/test/CodeGen/RISCV/rvv vitofp-sdnode.ll vfptoi-sdnode.ll

[𝘀𝗽𝗿] changes introduced through rebase

Created using spr 1.3.7

[skip ci]
DeltaFile
+878-428llvm/test/CodeGen/RISCV/rvv/vitofp-sdnode.ll
+862-426llvm/test/CodeGen/RISCV/rvv/vfptoi-sdnode.ll
+668-4llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfwadd.ll
+619-4llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfwsub.ll
+578-4llvm/test/CodeGen/RISCV/rvv/vfwsub-sdnode.ll
+578-4llvm/test/CodeGen/RISCV/rvv/vfwadd-sdnode.ll
+4,183-87030 files not shown
+6,939-1,88436 files

LLVM/project f0ab987llvm/test/CodeGen/RISCV/rvv vitofp-sdnode.ll vfptoi-sdnode.ll

rebase

Created using spr 1.3.7
DeltaFile
+878-428llvm/test/CodeGen/RISCV/rvv/vitofp-sdnode.ll
+862-426llvm/test/CodeGen/RISCV/rvv/vfptoi-sdnode.ll
+668-4llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfwadd.ll
+619-4llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfwsub.ll
+578-4llvm/test/CodeGen/RISCV/rvv/vfwadd-sdnode.ll
+578-4llvm/test/CodeGen/RISCV/rvv/vfwsub-sdnode.ll
+4,183-87026 files not shown
+6,570-1,88232 files

LLVM/project 458e9c4llvm/lib/Target/Mips MipsDelaySlotFiller.cpp, llvm/test/CodeGen/Mips unalignedload.ll mips1-load-in-delay-slot.ll

Prevent undefined behavior caused by combination of branch and load delay slots on MIPS1 (#185427)

Under certain conditions the LLVM `MipsDelaySlotFiller` fills a branch
delay slot with an instruction requiring a load delay slot. However the
`MipsDelaySlotFiller` does not check the filled instruction for hazard
which leads to code like this:
```asm
        beqz    $1, $BB0_5
        lbu     $2, %lo(_RNvCs5jWYnRsDZoD_3app13CONTROLLERS_A)($2)
# --- Some other instructions
$BB0_5:
        andi    $1, $2, 1
```
`lbu` got moved into the branch delay slot but has a load delay slot -
so when jumping to `$BB0_5` the value for `$2` will not be ready, which
leads to undefined behavior.

This PR suggests to declare instructions with a load delay slot to be
hazardous for the branch delay slot, only for `MIPS1`. This will prevent

    [21 lines not shown]
DeltaFile
+221-84llvm/test/CodeGen/Mips/llvm-ir/load.ll
+225-35llvm/test/CodeGen/Mips/llvm-ir/select-dbl.ll
+179-32llvm/lib/Target/Mips/MipsDelaySlotFiller.cpp
+62-6llvm/test/CodeGen/Mips/unalignedload.ll
+61-0llvm/test/CodeGen/Mips/mips1-load-in-delay-slot.ll
+50-0llvm/test/CodeGen/Mips/gprestore.ll
+798-1571 files not shown
+800-1587 files

LLVM/project c7ed47dllvm/lib/CodeGen MachineBlockHashInfo.cpp, llvm/lib/Target/RISCV RISCVInstrInfoP.td

rebase

Created using spr 1.3.7
DeltaFile
+225-0llvm/test/CodeGen/RISCV/rv64p.ll
+135-0llvm/test/CodeGen/RISCV/rv32p.ll
+13-25llvm/lib/CodeGen/MachineBlockHashInfo.cpp
+5-1llvm/lib/Target/RISCV/RISCVInstrInfoP.td
+378-264 files

LLVM/project f9b5aedclang/lib/CodeGen CGObjCMac.cpp, clang/test/CodeGenObjC objc2-constant-literals-ptrauth.m

[ObjC] Fix missing ptrauth signing of isa in constant ObjC literals (#191091)

154d2267b897 added support for emitting ObjC number, array, and
dictionary literals as constants, but did not sign the class pointer
fields in NSConstantIntegerNumber, NSConstantFloatNumber,
NSConstantDoubleNumber, NSConstantArray, and NSConstantDictionary
structs with the ObjCIsaPointers ptrauth schema on arm64e. Fix this by
using addSignedPointer instead of add when emitting those fields.

rdar://174359070
DeltaFile
+32-0clang/test/CodeGenObjC/objc2-constant-literals-ptrauth.m
+15-5clang/lib/CodeGen/CGObjCMac.cpp
+47-52 files

LLVM/project e08c1c5llvm/test/CodeGen/RISCV/rvv vitofp-sdnode.ll vfptoi-sdnode.ll

[RISCV][llvm] Support [s|u]int_to_fp and fp_to_[s|u]int for zvfbfa (#192287)
DeltaFile
+878-428llvm/test/CodeGen/RISCV/rvv/vitofp-sdnode.ll
+862-426llvm/test/CodeGen/RISCV/rvv/vfptoi-sdnode.ll
+369-109llvm/test/CodeGen/RISCV/rvv/fixed-vectors-i2fp.ll
+201-73llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp2i.ll
+114-2llvm/test/CodeGen/RISCV/rvv/vitofp-constrained-sdnode.ll
+114-2llvm/test/CodeGen/RISCV/rvv/vfptoi-constrained-sdnode.ll
+2,538-1,0407 files not shown
+2,743-1,09413 files

LLVM/project 5fa31cbllvm/lib/Target/RISCV RISCVInstrInfoVSDPatterns.td RISCVInstrInfoVVLPatterns.td, llvm/test/CodeGen/RISCV/rvv vfwmacc-sdnode.ll fixed-vectors-vfwmacc.ll

[llvm][RISCV] Handle miscompile of widening fma in zvfbfa codegen (#192412)
DeltaFile
+40-40llvm/test/CodeGen/RISCV/rvv/vfwmacc-sdnode.ll
+40-40llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfwmacc.ll
+14-10llvm/lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td
+3-2llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
+97-924 files

LLVM/project 33c5aebllvm/test/CodeGen/RISCV/rvv fixed-vectors-vfwadd.ll fixed-vectors-vfwsub.ll

[RISCV][llvm] Support widening fadd, fsub and fmul codegen for zvfbfa (#192414)
DeltaFile
+668-4llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfwadd.ll
+619-4llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfwsub.ll
+578-4llvm/test/CodeGen/RISCV/rvv/vfwsub-sdnode.ll
+578-4llvm/test/CodeGen/RISCV/rvv/vfwadd-sdnode.ll
+414-4llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfwmul.ll
+326-4llvm/test/CodeGen/RISCV/rvv/vfwmul-sdnode.ll
+3,183-244 files not shown
+3,266-30110 files

LLVM/project acc3f73llvm/lib/Target/X86 X86InsertVZeroUpper.cpp X86VZeroUpper.cpp, llvm/test/CodeGen/X86 llc-pipeline-npm.ll

[NewPM] Port x86-insert-vzero-upper (#181597)

Had to move X86InsertVZeroUpper to its own file like in
https://github.com/llvm/llvm-project/pull/179864
No test coverage added for now as there are no MIR->MIR tests exercising
this pass and we do not have enough ported to run any end to end tests.

Redo of https://github.com/llvm/llvm-project/pull/180886
DeltaFile
+366-0llvm/lib/Target/X86/X86InsertVZeroUpper.cpp
+0-353llvm/lib/Target/X86/X86VZeroUpper.cpp
+6-1llvm/lib/Target/X86/X86.h
+4-0llvm/test/CodeGen/X86/llc-pipeline-npm.ll
+1-2llvm/lib/Target/X86/X86CodeGenPassBuilder.cpp
+1-1llvm/lib/Target/X86/X86PassRegistry.def
+378-3572 files not shown
+380-3598 files

LLVM/project 890c3fcclang/lib/CodeGen CGObjCMac.cpp

[CodeGen] NFC: Fix and improve comments in CGObjCMac.cpp (#193119)

Extract comment changes from #191091.
DeltaFile
+37-31clang/lib/CodeGen/CGObjCMac.cpp
+37-311 files

LLVM/project 125fa54llvm/test/CodeGen/AArch64 sve-fixed-length-masked-expandloads.ll sve-streaming-mode-fixed-length-masked-expandload.ll, llvm/test/CodeGen/AArch64/GlobalISel select-with-no-legality-check.mir knownbits-vector.mir

rebase

Created using spr 1.3.7
DeltaFile
+26,606-0llvm/test/CodeGen/AArch64/sve-fixed-length-masked-expandloads.ll
+4,078-0llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-masked-expandload.ll
+1,604-1,567llvm/test/CodeGen/AArch64/clmul-scalable.ll
+0-1,370llvm/unittests/CodeGen/GlobalISel/KnownBitsVectorTest.cpp
+662-662llvm/test/CodeGen/AArch64/GlobalISel/select-with-no-legality-check.mir
+1,291-0llvm/test/CodeGen/AArch64/GlobalISel/knownbits-vector.mir
+34,241-3,5991,092 files not shown
+63,356-20,9921,098 files