LLVM/project 9bfc850 — llvm/lib/Target/RISCV/GISel RISCVLegalizerInfo.cpp, llvm/test/CodeGen/RISCV/GlobalISel legalizer-info-validation.mir rv32xtheadbb.ll

[RISCV][GlobalISel] Improve narrow ctlz_zero_poison lowering for XTHeadBb (#237815)

This commit widens G_CTLZ_ZERO_POISON before lowering it to G_CTLZ so
the generic legalizer uses a left shift instead of zero extension and
subtraction.

Part of https://github.com/llvm/llvm-project/issues/237492, Follow up of
https://github.com/llvm/llvm-project/pull/237510
DeltaFile
+12-18llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-ctlz-rv64.mir
+30-0llvm/test/CodeGen/RISCV/GlobalISel/rv64xtheadbb.ll
+8-12llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-ctlz-rv32.mir
+20-0llvm/test/CodeGen/RISCV/GlobalISel/rv32xtheadbb.ll
+9-4llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
+0-1llvm/test/CodeGen/RISCV/GlobalISel/legalizer-info-validation.mir
+79-356 files

LLVM/project 21fcbb1 — llvm/include/llvm/Transforms/IPO Attributor.h, llvm/lib/Target/AMDGPU AMDGPUAttributor.cpp

[NFC][Attributor] Remove "See AbstractAttribute::..." comments

Most overridden methods have a comment like
`/// See AbstractAttribute::initialize(...).` that only points to the
base class declaration. Remove them, including those in OpenMPOpt and
AMDGPUAttributor.

This PR was assisted by AI but I reviewed all the changes.
DeltaFile
+0-330llvm/lib/Transforms/IPO/AttributorAttributes.cpp
+0-154llvm/include/llvm/Transforms/IPO/Attributor.h
+0-19llvm/lib/Transforms/IPO/OpenMPOpt.cpp
+0-13llvm/lib/Target/AMDGPU/AMDGPUAttributor.cpp
+0-5164 files

LLVM/project 74df456 — llvm/include/llvm/IR RuntimeLibcalls.td

Use UInt8 for the __hot_cold_t operator new argument

tcmalloc declares __hot_cold_t as enum class __hot_cold_t : uint8_t
DeltaFile
+8-8llvm/include/llvm/IR/RuntimeLibcalls.td
+8-81 files

LLVM/project f861354 — llvm/include/llvm/IR RuntimeLibcalls.td

Use ULLong for MSVC new/delete and strtoull
DeltaFile
+7-7llvm/include/llvm/IR/RuntimeLibcalls.td
+7-71 files

LLVM/project 6e2c4a5 — llvm/include/llvm/Analysis TargetLibraryInfo.h, llvm/include/llvm/IR RuntimeLibcalls.h

Use the target bool extension rule
DeltaFile
+30-30llvm/test/Transforms/Util/DeclareRuntimeLibcalls/aarch64.ll
+15-1llvm/lib/IR/RuntimeLibcalls.cpp
+3-10llvm/include/llvm/Analysis/TargetLibraryInfo.h
+6-6llvm/test/Transforms/Util/DeclareRuntimeLibcalls/arm64ec.ll
+7-0llvm/lib/Analysis/TargetLibraryInfo.cpp
+5-0llvm/include/llvm/IR/RuntimeLibcalls.h
+66-476 files

LLVM/project 42fae5b — llvm/test/Transforms/Util/DeclareRuntimeLibcalls sparc.ll riscv.ll

RuntimeLibcalls: Add signext/zeroext attributes to libcall signatures

Try to match TargetLibraryInfo's behavior. Integer types narrower than
int are extended according to their signedness.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+460-460llvm/test/Transforms/Util/DeclareRuntimeLibcalls/aarch64.ll
+292-292llvm/test/Transforms/Util/DeclareRuntimeLibcalls/ppc.ll
+235-235llvm/test/Transforms/Util/DeclareRuntimeLibcalls/systemz.ll
+221-221llvm/test/Transforms/Util/DeclareRuntimeLibcalls/mips.ll
+160-160llvm/test/Transforms/Util/DeclareRuntimeLibcalls/sparc.ll
+160-160llvm/test/Transforms/Util/DeclareRuntimeLibcalls/riscv.ll
+1,528-1,52812 files not shown
+2,296-2,23718 files

LLVM/project 254a0b3 — llvm/test/CodeGen/Hexagon swp-ws-meta-instr.mir swp-ws-fail-2.mir

Hexagon: Remove kill flags on virtual registers from MIR tests (#236936)

Prepare to disallow this in the machine verifier. Move the one unique
case from qfp-remove-kill.mir into qfp-mix.mir; the rest only differed
from other tests in kill flags.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+0-95llvm/test/CodeGen/Hexagon/qfp-remove-kill.mir
+18-18llvm/test/CodeGen/Hexagon/swp-ws-sqrt.mir
+14-14llvm/test/CodeGen/Hexagon/swp-ws-meta-instr.mir
+14-14llvm/test/CodeGen/Hexagon/swp-ws-fail-2.mir
+14-14llvm/test/CodeGen/Hexagon/swp-ws-exp.mir
+14-14llvm/test/CodeGen/Hexagon/swp-ws-exp-dbg.mir
+74-16934 files not shown
+208-28140 files

LLVM/project ea65cef — llvm/lib/Target/VE LVLGen.cpp

feedback

Created using spr 1.3.7
DeltaFile
+8-6llvm/lib/Target/VE/LVLGen.cpp
+8-61 files

LLVM/project 9444d83 — llvm/lib/Target/VE VETargetMachine.h VE.h, llvm/test/CodeGen/VE newpm-pipeline.ll

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

Created using spr 1.3.7

[skip ci]
DeltaFile
+89-0llvm/test/CodeGen/VE/newpm-pipeline.ll
+80-0llvm/lib/Target/VE/VECodeGenPassBuilder.cpp
+35-19llvm/lib/Target/VE/LVLGen.cpp
+21-0llvm/lib/Target/VE/VEPassRegistry.def
+11-1llvm/lib/Target/VE/VE.h
+8-0llvm/lib/Target/VE/VETargetMachine.h
+244-202 files not shown
+247-218 files

LLVM/project a30752d — llvm/lib/Target/VE VEPassRegistry.def VEAsmPrinter.cpp, llvm/test/CodeGen/VE newpm-pipeline.ll

[𝘀𝗽𝗿] initial version

Created using spr 1.3.7
DeltaFile
+92-0llvm/test/CodeGen/VE/newpm-pipeline.ll
+81-0llvm/lib/Target/VE/VECodeGenPassBuilder.cpp
+35-19llvm/lib/Target/VE/LVLGen.cpp
+38-0llvm/lib/Target/VE/VEAsmPrinter.h
+31-0llvm/lib/Target/VE/VEAsmPrinter.cpp
+29-0llvm/lib/Target/VE/VEPassRegistry.def
+306-194 files not shown
+328-2110 files

LLVM/project aa0a14e — clang/lib/Driver OffloadBundler.cpp

[NFC][clang][Driver] Changed Triple constructor (#236542)

This PR changes the constructor used to build the triple in the
`OffloadTargetInfo` constructor. It builds the `Triple` directly from
the joined string, instead of parsing it into a temporary and then
making a second `Triple` from its components. This avoids creating the
same object twice. This is an NFC change.
DeltaFile
+1-3clang/lib/Driver/OffloadBundler.cpp
+1-31 files

LLVM/project 6c50c32 — llvm/include/llvm/Target/GlobalISel Combine.td, llvm/test/CodeGen/AArch64/GlobalISel combine-max-min.ll combine-max-min.mir

[Gisel] smin/umin optimization rewrites (#237809)

This is a twin PR of #188267, adding the same SDAG
[combines](https://github.com/llvm/llvm-project/blob/20aff2085c358d3e112b245494161ddb9ffe0410/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp#L4272)
for umin/smin.

Co-authored-by: Jay Foad <jay.foad at gmail.com>
Co-authored-by: Osman Yasar <osmanyas05 at gmail.com>
DeltaFile
+157-1llvm/test/CodeGen/AArch64/GlobalISel/combine-max-min.mir
+146-0llvm/test/CodeGen/AArch64/GlobalISel/combine-max-min.ll
+25-1llvm/include/llvm/Target/GlobalISel/Combine.td
+328-23 files

LLVM/project eb16b25 — llvm/lib/Target/VE VETargetMachine.h VE.h, llvm/test/CodeGen/VE newpm-pipeline.ll

[𝘀𝗽𝗿] initial version

Created using spr 1.3.7
DeltaFile
+89-0llvm/test/CodeGen/VE/newpm-pipeline.ll
+80-0llvm/lib/Target/VE/VECodeGenPassBuilder.cpp
+35-19llvm/lib/Target/VE/LVLGen.cpp
+21-0llvm/lib/Target/VE/VEPassRegistry.def
+11-1llvm/lib/Target/VE/VE.h
+8-0llvm/lib/Target/VE/VETargetMachine.h
+244-202 files not shown
+247-218 files

LLVM/project 6c54a6b — llvm/lib/Target/VE CMakeLists.txt VETargetMachine.h, llvm/test/CodeGen/VE newpm-pipeline.ll

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

Created using spr 1.3.7

[skip ci]
DeltaFile
+88-0llvm/test/CodeGen/VE/newpm-pipeline.ll
+80-0llvm/lib/Target/VE/VECodeGenPassBuilder.cpp
+20-0llvm/lib/Target/VE/VEPassRegistry.def
+8-0llvm/lib/Target/VE/VETargetMachine.h
+2-0llvm/lib/Target/VE/CMakeLists.txt
+198-05 files

LLVM/project a337695 — llvm/lib/Target/VE VECodeGenPassBuilder.cpp

formatting

Created using spr 1.3.7
DeltaFile
+4-6llvm/lib/Target/VE/VECodeGenPassBuilder.cpp
+4-61 files

LLVM/project be15119 — llvm/lib/Target/VE CMakeLists.txt VETargetMachine.h, llvm/test/CodeGen/VE newpm-pipeline.ll

[𝘀𝗽𝗿] initial version

Created using spr 1.3.7
DeltaFile
+88-0llvm/test/CodeGen/VE/newpm-pipeline.ll
+82-0llvm/lib/Target/VE/VECodeGenPassBuilder.cpp
+20-0llvm/lib/Target/VE/VEPassRegistry.def
+8-0llvm/lib/Target/VE/VETargetMachine.h
+2-0llvm/lib/Target/VE/CMakeLists.txt
+200-05 files

LLVM/project c6c2936 — llvm/include/llvm/IR RuntimeLibcalls.td

Use UInt8 for the __hot_cold_t operator new argument

tcmalloc declares __hot_cold_t as enum class __hot_cold_t : uint8_t
DeltaFile
+8-8llvm/include/llvm/IR/RuntimeLibcalls.td
+8-81 files

LLVM/project 878494b — llvm/include/llvm/Analysis TargetLibraryInfo.h, llvm/include/llvm/IR RuntimeLibcalls.h

Use the target bool extension rule
DeltaFile
+30-30llvm/test/Transforms/Util/DeclareRuntimeLibcalls/aarch64.ll
+15-1llvm/lib/IR/RuntimeLibcalls.cpp
+3-10llvm/include/llvm/Analysis/TargetLibraryInfo.h
+6-6llvm/test/Transforms/Util/DeclareRuntimeLibcalls/arm64ec.ll
+7-0llvm/lib/Analysis/TargetLibraryInfo.cpp
+5-0llvm/include/llvm/IR/RuntimeLibcalls.h
+66-476 files

LLVM/project caac955 — llvm/include/llvm/IR RuntimeLibcalls.td

Use ULLong for MSVC new/delete and strtoull
DeltaFile
+7-7llvm/include/llvm/IR/RuntimeLibcalls.td
+7-71 files

LLVM/project 3db6739 — llvm/test/Transforms/Util/DeclareRuntimeLibcalls sparc.ll riscv.ll

RuntimeLibcalls: Add signext/zeroext attributes to libcall signatures

Try to match TargetLibraryInfo's behavior. Integer types narrower than
int are extended according to their signedness.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+460-460llvm/test/Transforms/Util/DeclareRuntimeLibcalls/aarch64.ll
+292-292llvm/test/Transforms/Util/DeclareRuntimeLibcalls/ppc.ll
+235-235llvm/test/Transforms/Util/DeclareRuntimeLibcalls/systemz.ll
+221-221llvm/test/Transforms/Util/DeclareRuntimeLibcalls/mips.ll
+160-160llvm/test/Transforms/Util/DeclareRuntimeLibcalls/sparc.ll
+160-160llvm/test/Transforms/Util/DeclareRuntimeLibcalls/riscv.ll
+1,528-1,52812 files not shown
+2,296-2,23718 files

LLVM/project 6048b5d — clang/docs ReleaseNotes.md, clang/lib/CodeGen CGStmt.cpp

[Clang][CodeGen] Fix crash on break out of a for loop with a `C89` `init` declaration (#235809)

Fixes #170243

Since #156643 a variable declared in the init-statement of a C89 `for`
loop has no `LexicalScope` of its own, so its cleanup sits on the
enclosing scope's cleanup stack. `for.end` was still created before the
init-statement though, so its recorded cleanup depth didn't include that
cleanup. A `break` then had to be threaded through it, which left
`for.end` with no users, so it got deleted at the end of the loop while
the cleanup still pointed at it, and `FinishFunction` later emitted a
branch to the freed block.

In C89 mode the loop exit is now created after the init-statement, so it
records the right depth and leaving the loop branches to `for.end`
directly. That's the intended behaviour, the variable belongs to the
enclosing scope and its cleanup runs when that scope ends. The C99/C++
path is untouched.

AI Assisted.
DeltaFile
+163-0clang/test/CodeGen/c89-for-init-lifetime.c
+142-0clang/test/CodeGen/attr-cleanup.c
+13-6clang/lib/CodeGen/CGStmt.cpp
+2-0clang/docs/ReleaseNotes.md
+320-64 files

LLVM/project 61426ff — llvm/include/llvm/Analysis TargetLibraryInfo.h, llvm/include/llvm/IR RuntimeLibcalls.h

Use the target bool extension rule
DeltaFile
+30-30llvm/test/Transforms/Util/DeclareRuntimeLibcalls/aarch64.ll
+15-1llvm/lib/IR/RuntimeLibcalls.cpp
+3-10llvm/include/llvm/Analysis/TargetLibraryInfo.h
+6-6llvm/test/Transforms/Util/DeclareRuntimeLibcalls/arm64ec.ll
+7-0llvm/lib/Analysis/TargetLibraryInfo.cpp
+5-0llvm/include/llvm/IR/RuntimeLibcalls.h
+66-476 files

LLVM/project 2dc74aa — llvm/include/llvm/IR RuntimeLibcalls.td

Use UInt8 for the __hot_cold_t operator new argument

tcmalloc declares __hot_cold_t as enum class __hot_cold_t : uint8_t
DeltaFile
+8-8llvm/include/llvm/IR/RuntimeLibcalls.td
+8-81 files

LLVM/project c777881 — llvm/include/llvm/IR RuntimeLibcalls.td

Use ULLong for MSVC new/delete and strtoull
DeltaFile
+7-7llvm/include/llvm/IR/RuntimeLibcalls.td
+7-71 files

LLVM/project d375ec6 — llvm/test/Transforms/Util/DeclareRuntimeLibcalls sparc.ll riscv.ll

RuntimeLibcalls: Add signext/zeroext attributes to libcall signatures

Try to match TargetLibraryInfo's behavior. Integer types narrower than
int are extended according to their signedness.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+460-460llvm/test/Transforms/Util/DeclareRuntimeLibcalls/aarch64.ll
+292-292llvm/test/Transforms/Util/DeclareRuntimeLibcalls/ppc.ll
+235-235llvm/test/Transforms/Util/DeclareRuntimeLibcalls/systemz.ll
+221-221llvm/test/Transforms/Util/DeclareRuntimeLibcalls/mips.ll
+160-160llvm/test/Transforms/Util/DeclareRuntimeLibcalls/sparc.ll
+160-160llvm/test/Transforms/Util/DeclareRuntimeLibcalls/riscv.ll
+1,528-1,52812 files not shown
+2,296-2,23718 files

LLVM/project d731582 — llvm/lib/Target/VE VETargetMachine.cpp VEISelDAGToDAG.cpp

[VE] Port SelectionDAGISel to NewPM

Standard NewPM pass porting.

Reviewers: kaz7, arsenm

Pull Request: https://github.com/llvm/llvm-project/pull/237824
DeltaFile
+8-1llvm/lib/Target/VE/VE.h
+5-1llvm/lib/Target/VE/VEISelDAGToDAG.cpp
+1-1llvm/lib/Target/VE/VETargetMachine.cpp
+14-33 files

LLVM/project 2d81ddf — llvm/include/llvm/IR RuntimeLibcalls.td

Use UInt8 for the __hot_cold_t operator new argument

tcmalloc declares __hot_cold_t as enum class __hot_cold_t : uint8_t
DeltaFile
+8-8llvm/include/llvm/IR/RuntimeLibcalls.td
+8-81 files

LLVM/project 4ff73b5 — llvm/include/llvm/Analysis TargetLibraryInfo.h, llvm/include/llvm/IR RuntimeLibcalls.h

Use the target bool extension rule
DeltaFile
+30-30llvm/test/Transforms/Util/DeclareRuntimeLibcalls/aarch64.ll
+15-1llvm/lib/IR/RuntimeLibcalls.cpp
+3-10llvm/include/llvm/Analysis/TargetLibraryInfo.h
+6-6llvm/test/Transforms/Util/DeclareRuntimeLibcalls/arm64ec.ll
+7-0llvm/lib/Analysis/TargetLibraryInfo.cpp
+5-0llvm/include/llvm/IR/RuntimeLibcalls.h
+66-476 files

LLVM/project 34af7fd — llvm/include/llvm/IR RuntimeLibcalls.td

Use ULLong for MSVC new/delete and strtoull
DeltaFile
+7-7llvm/include/llvm/IR/RuntimeLibcalls.td
+7-71 files

LLVM/project 6b9111c — llvm/test/Transforms/Util/DeclareRuntimeLibcalls sparc.ll riscv.ll

RuntimeLibcalls: Add signext/zeroext attributes to libcall signatures

Try to match TargetLibraryInfo's behavior. Integer types narrower than
int are extended according to their signedness.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+460-460llvm/test/Transforms/Util/DeclareRuntimeLibcalls/aarch64.ll
+292-292llvm/test/Transforms/Util/DeclareRuntimeLibcalls/ppc.ll
+235-235llvm/test/Transforms/Util/DeclareRuntimeLibcalls/systemz.ll
+221-221llvm/test/Transforms/Util/DeclareRuntimeLibcalls/mips.ll
+160-160llvm/test/Transforms/Util/DeclareRuntimeLibcalls/sparc.ll
+160-160llvm/test/Transforms/Util/DeclareRuntimeLibcalls/riscv.ll
+1,528-1,52812 files not shown
+2,296-2,23718 files