LLVM/project d04a473 — clang/lib/Basic/Targets MSP430.h AVR.h

[AVR][MSP430] Explicitly specify the underlying type of wchar_t (NFC) (#240653)

Make the choice deliberate instead of relying on the default.
The changes are covered by existing preprocessor tests.
DeltaFile
+1-0clang/lib/Basic/Targets/MSP430.h
+1-0clang/lib/Basic/Targets/AVR.h
+2-02 files

LLVM/project ac5e950 — llvm/include/llvm/IR RuntimeLibcalls.td, llvm/test/Transforms/Util/DeclareRuntimeLibcalls divmod.ll

RuntimeLibcalls: Annotate divrem libcall remainder out arguments

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+16-5llvm/include/llvm/IR/RuntimeLibcalls.td
+3-2llvm/test/Transforms/Util/DeclareRuntimeLibcalls/divmod.ll
+19-72 files

LLVM/project 50a76c2 — llvm/include/llvm/ProfileData InstrProf.h SampleProf.h, llvm/lib/ProfileData InstrProf.cpp

[spr] update

Created using spr 2.0.0-beta.2
DeltaFile
+68-1llvm/unittests/ProfileData/InstrProfTest.cpp
+28-15llvm/lib/ProfileData/InstrProf.cpp
+11-0llvm/unittests/ProfileData/SampleProfTest.cpp
+5-4llvm/include/llvm/ProfileData/SampleProf.h
+2-2llvm/include/llvm/ProfileData/InstrProf.h
+114-225 files

LLVM/project 1a42ad1 — llvm/test/ThinLTO/X86 cfi-split-lto-sample-profile.ll, llvm/test/Transforms/ThinLTOBitcodeWriter split-internal2.ll split-internal-alias.ll

[spr] update

Created using spr 2.0.0-beta.2
DeltaFile
+111-0llvm/test/ThinLTO/X86/cfi-split-lto-sample-profile.ll
+12-5llvm/tools/llvm-lto2/llvm-lto2.cpp
+6-6llvm/test/Transforms/ThinLTOBitcodeWriter/split-internal2.ll
+6-6llvm/test/Transforms/ThinLTOBitcodeWriter/split-internal-alias.ll
+6-6llvm/test/Transforms/ThinLTOBitcodeWriter/cfi_dso_local_equivalent.ll
+6-6llvm/test/Transforms/ThinLTOBitcodeWriter/cfi-relative-vtable.ll
+147-299 files not shown
+180-5515 files

LLVM/project e45ee73 — llvm/unittests/ProfileData InstrProfTest.cpp SampleProfTest.cpp

[NFC][ProfileData] Add canonical name tests for CFI and LTO suffixes (#240697)

Pre-commit unit test coverage for `FunctionSamples::getCanonicalFnName`
with combined `.cfi`, `.llvm.`, `.part.`, and `.__uniq.` suffixes and
for `InstrProfSymtab::getCanonicalName`.

PR Stack:
* https://github.com/llvm/llvm-project/pull/240696
* ➤ https://github.com/llvm/llvm-project/pull/240697
* https://github.com/llvm/llvm-project/pull/240698
* https://github.com/llvm/llvm-project/pull/240699

Assisted-by: Gemini
DeltaFile
+13-1llvm/unittests/ProfileData/SampleProfTest.cpp
+11-0llvm/unittests/ProfileData/InstrProfTest.cpp
+24-12 files

LLVM/project 0daa8c4 — llvm/test/CodeGen/X86 vector-deinterleave7-i16.ll vector-deinterleave8-i64.ll

Merge branch 'main' into users/arsenm/selectiondag/inline-asm-tied-physreg-class
DeltaFile
+29,293-0llvm/test/CodeGen/X86/vector-interleave7-i16.ll
+29,228-0llvm/test/CodeGen/X86/vector-interleaved7-i8.ll
+27,225-0llvm/test/CodeGen/X86/vector-interleave7-i32.ll
+26,140-0llvm/test/CodeGen/X86/vector-deinterleave7-i8.ll
+25,861-0llvm/test/CodeGen/X86/vector-deinterleave8-i64.ll
+25,769-0llvm/test/CodeGen/X86/vector-deinterleave7-i16.ll
+163,516-07,223 files not shown
+1,015,726-113,1547,229 files

LLVM/project 6fb1a75 — llvm/test/CodeGen/AMDGPU inline-asm-tied-physreg-class.ll

AMDGPU: Add baseline test for inline asm inputs tied to AGPR outputs (#238704)

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+193-0llvm/test/CodeGen/AMDGPU/inline-asm-tied-physreg-class.ll
+193-01 files

LLVM/project 24f2447 — llvm/include/llvm/IR RuntimeLibcallsImpl.td RuntimeLibcalls.td, llvm/lib/IR RuntimeLibcalls.cpp

RuntimeLibcalls: Move divrem attributes to TableGen

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+0-21llvm/lib/IR/RuntimeLibcalls.cpp
+2-0llvm/include/llvm/IR/RuntimeLibcalls.td
+1-0llvm/include/llvm/IR/RuntimeLibcallsImpl.td
+3-213 files

LLVM/project 90ecaf9 — llvm/include/llvm/Target/GlobalISel RegisterBank.td, llvm/test/TableGen RegisterBankEmitter-Check.td

[TableGen] Generate instruction mappings for `RegisterBankInfo`
DeltaFile
+577-3llvm/utils/TableGen/RegisterBankEmitter.cpp
+59-0llvm/include/llvm/Target/GlobalISel/RegisterBank.td
+17-0llvm/test/TableGen/RegisterBankEmitter-Check.td
+653-33 files

LLVM/project cf84b15 — llvm/lib/MC MCNullStreamer.cpp, llvm/test/CodeGen/PowerPC aix-null-streamer.ll

MC: Handle XCOFF directives in the null streamer (#239821)

MCNullStreamer only overrode emitXCOFFSymbolLinkageWithVisibility, so
llc -filetype=null on AIX hit the llvm_unreachable in the MCStreamer
base implementations of .lcomm, .ref, .except and .info emission.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+21-0llvm/test/CodeGen/PowerPC/aix-null-streamer.ll
+9-0llvm/lib/MC/MCNullStreamer.cpp
+30-02 files

LLVM/project 1b4a632 — llvm/lib/Transforms/Vectorize VPlanTransforms.h LoopVectorize.cpp, llvm/test/Transforms/LoopVectorize/RISCV reverse-load-scatter.ll iv-select-cmp.ll

[VPlan] Transform reverse loads into vp.strided.load with -1 stride

Rebased from the WIP on loop-vectorize/reverse-vp-strided-load.

After simplifyReverses pulls reverses out of elementwise recipes, look
through single-use elementwise trees under a reverse to the reverse
consecutive loads at their leaves (live-ins are allowed as splats), and
replace each load with a vp.strided.load with a negative stride when it
is legal and cheaper than the loads plus the reverse. This is the VPlan
equivalent of RISC-V's performReverseEVLCombine.

Fixes #204154.
DeltaFile
+121-0llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
+9-23llvm/test/Transforms/LoopVectorize/RISCV/reverse-strided-load.ll
+13-0llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
+2-8llvm/test/Transforms/LoopVectorize/RISCV/iv-select-cmp.ll
+2-6llvm/test/Transforms/LoopVectorize/RISCV/reverse-load-scatter.ll
+6-0llvm/lib/Transforms/Vectorize/VPlanTransforms.h
+153-371 files not shown
+154-377 files

LLVM/project 6adcbb0 — llvm/test/Transforms/LoopVectorize/RISCV reverse-strided-load.ll

Precommit tests
DeltaFile
+231-2llvm/test/Transforms/LoopVectorize/RISCV/reverse-strided-load.ll
+231-21 files

LLVM/project 34a1344 — llvm/lib/Transforms/Vectorize VPlanUtils.cpp VPlanEVLTailFolding.cpp, llvm/test/Transforms/LoopVectorize simplify-reverse-reverse.ll

[VPlan] Pull permutations through elementwise ops with single scalar operands

pullOutPermutations previously only treated live-ins as splats, but we can generalize this to single scalars. This allows eliminating reverses through e.g. invariant loads.
DeltaFile
+1-3llvm/test/Transforms/LoopVectorize/simplify-reverse-reverse.ll
+1-3llvm/test/Transforms/LoopVectorize/RISCV/reverse-strided-load.ll
+2-2llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
+2-2llvm/lib/Transforms/Vectorize/VPlanEVLTailFolding.cpp
+6-104 files

LLVM/project c2ab5ff — llvm/test/Transforms/LoopVectorize simplify-reverse-reverse.ll, llvm/test/Transforms/LoopVectorize/RISCV reverse-strided-load.ll

Precommit tests
DeltaFile
+74-0llvm/test/Transforms/LoopVectorize/simplify-reverse-reverse.ll
+60-0llvm/test/Transforms/LoopVectorize/RISCV/reverse-strided-load.ll
+134-02 files

LLVM/project 0a3d7cc — llvm/include/llvm/IR RuntimeLibcallsImpl.td RuntimeLibcalls.td, llvm/lib/IR RuntimeLibcalls.cpp

RuntimeLibcalls: Move sqrt attributes to TableGen

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+0-20llvm/lib/IR/RuntimeLibcalls.cpp
+8-8llvm/test/Transforms/Util/DeclareRuntimeLibcalls/hexagon.ll
+11-1llvm/include/llvm/IR/RuntimeLibcalls.td
+5-5llvm/test/Transforms/Util/DeclareRuntimeLibcalls/systemz.ll
+7-2llvm/include/llvm/IR/RuntimeLibcallsImpl.td
+3-2llvm/test/Transforms/Util/DeclareRuntimeLibcalls/arm64ec.ll
+34-386 files

LLVM/project f587ffd — llvm/lib/Transforms/IPO AttributorAttributes.cpp

Attributor: Query the memory effects of a call site once

Instead of separately checking mayRead / mayWrite, directly compute
the full memory effects.

attributor-light is 0.1-0.25% faster (callgrind).

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+4-3llvm/lib/Transforms/IPO/AttributorAttributes.cpp
+4-31 files

LLVM/project 56907d3 — lldb/test/API/functionalities/inline-stepping TestInlineStepping.py

[lldb][Windows] Remove XFAIL from TestInlineStepping.py on aarch64 (#240489)

This is now passing on aarch64 following
https://github.com/llvm/llvm-project/pull/238604.
DeltaFile
+0-4lldb/test/API/functionalities/inline-stepping/TestInlineStepping.py
+0-41 files

LLVM/project 5bcf926 — llvm/test/ThinLTO/X86 cfi-split-lto-sample-profile.ll, llvm/test/Transforms/ThinLTOBitcodeWriter split-internal2.ll split-internal-alias.ll

[spr] update

Created using spr 2.0.0-beta.2
DeltaFile
+111-0llvm/test/ThinLTO/X86/cfi-split-lto-sample-profile.ll
+12-5llvm/tools/llvm-lto2/llvm-lto2.cpp
+6-6llvm/test/Transforms/ThinLTOBitcodeWriter/split-internal2.ll
+6-6llvm/test/Transforms/ThinLTOBitcodeWriter/split-internal-alias.ll
+6-6llvm/test/Transforms/ThinLTOBitcodeWriter/cfi_dso_local_equivalent.ll
+6-6llvm/test/Transforms/ThinLTOBitcodeWriter/cfi-relative-vtable.ll
+147-299 files not shown
+180-5515 files

LLVM/project cee540b — llvm/include/llvm/ProfileData InstrProf.h SampleProf.h, llvm/lib/ProfileData InstrProf.cpp

[spr] update

Created using spr 2.0.0-beta.2
DeltaFile
+68-1llvm/unittests/ProfileData/InstrProfTest.cpp
+28-15llvm/lib/ProfileData/InstrProf.cpp
+11-0llvm/unittests/ProfileData/SampleProfTest.cpp
+5-4llvm/include/llvm/ProfileData/SampleProf.h
+2-2llvm/include/llvm/ProfileData/InstrProf.h
+114-225 files

LLVM/project a8c329c — llvm/unittests/ProfileData InstrProfTest.cpp SampleProfTest.cpp

[spr] update

Created using spr 2.0.0-beta.2
DeltaFile
+13-1llvm/unittests/ProfileData/SampleProfTest.cpp
+11-0llvm/unittests/ProfileData/InstrProfTest.cpp
+24-12 files

LLVM/project 9fa12b4 — llvm/include/llvm/ProfileData InstrProf.h, llvm/lib/ProfileData InstrProf.cpp

[NFC][ProfileData] Use FunctionSamples suffix constants in InstrProf (#240696)

Share `FunctionSamples::LLVMSuffix` and `FunctionSamples::PartSuffix` in
`InstrProfSymtab::getCanonicalName` instead of duplicating string
literals, and fix the `".part"` comment typo to `".part."`.

PR Stack:
* ➤ https://github.com/llvm/llvm-project/pull/240696
* https://github.com/llvm/llvm-project/pull/240697
* https://github.com/llvm/llvm-project/pull/240698
* https://github.com/llvm/llvm-project/pull/240699

Assisted-by: Gemini
DeltaFile
+3-2llvm/lib/ProfileData/InstrProf.cpp
+1-1llvm/include/llvm/ProfileData/InstrProf.h
+4-32 files

LLVM/project 9f7f585 — llvm/lib/Transforms/IPO Attributor.cpp

Attributor: Reserve the initial worklist of the fixpoint iteration

CTMark instructions:u with -attributor-enable=light changes by O3 -0.02%,
ThinLTO -0.02%. attributor-light is 0.3-1.0% faster.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+1-0llvm/lib/Transforms/IPO/Attributor.cpp
+1-01 files

LLVM/project 2b262a5 — llvm/lib/Transforms/IPO Attributor.cpp

Attributor: Skip looking for callback uses if the callee has no callbacks

getAssociatedArgument collected the callback uses of the call even if
the callee has no !callback metadata. Return the callee argument
directly in that case.

CTMark instructions:u with -attributor-enable=light changes by O3 -0.03%,
ThinLTO -0.04%.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+11-3llvm/lib/Transforms/IPO/Attributor.cpp
+11-31 files

LLVM/project 3594f2f — llvm/lib/Analysis MustExecute.cpp

MustExecute: Don't set up the visited set of the end iterator

The end iterator of every explorer inserted a null instruction into
its visited set and allocating it, though it never explores anything.

CTMark instructions:u with -attributor-enable=light changes by O3 -0.07%,
ThinLTO -0.14%; the Attributor creates an explorer for every run.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+4-2llvm/lib/Analysis/MustExecute.cpp
+4-21 files

LLVM/project de7040f — llvm/lib/Transforms/IPO Attributor.cpp

Attributor: Don't copy the triple to check for GPUs

AA::isGPU and the GPU address space helpers copied the module's target
triple on every call, unnecessarily allocating a string.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+4-7llvm/lib/Transforms/IPO/Attributor.cpp
+4-71 files

LLVM/project 94e6ba8 — llvm/lib/Target/RISCV RISCVSubtarget.cpp, llvm/test/CodeGen/RISCV pr240534.ll

[RISCV][P-ext] Disable useRVVForFixedLengthVectors when P is enabled. (#240636)

We haven't done anything to select priority for P or RVV. Right now the
setOperation action calls run for both and leave things in a weird
state.

This patch disables useRVVForFixedLengthVectors when P is enabled so we
only run one set of setOperationAction calls for fixed vectors. This is
the lowest effort fix and I suspect there are still more issues.

Fixes #240534.
DeltaFile
+21-0llvm/test/CodeGen/RISCV/pr240534.ll
+4-1llvm/lib/Target/RISCV/RISCVSubtarget.cpp
+25-12 files

LLVM/project b168749 — llvm/lib/Transforms/Scalar InferAddressSpaces.cpp, llvm/test/Transforms/InferAddressSpaces/AMDGPU constexpr-two-casts-one-call.ll

[InferAddressSpaces] Use a new value map for each rewritten constant (#240662)

When the pass rewrites a flat constant expression, it remaps the
instructions that use it through other constant expressions with a
`ValueMapper`. All rewritten constants shared one map, and the mapper
caches every constant that it visits, including the ones that it maps to
themselves. So when one instruction uses two rewritten constants, the
remap for the first one caches the part with the second one as
unchanged, and the remap for the second one reuses that entry. For
example, if a call has `addrspacecast`s of two flat pointers that are
based on the same `addrspace(3)` global, only one argument is folded.
This PR uses a new map for each rewritten constant.

This PR was assisted by AI but I reviewed all the changes.
DeltaFile
+25-0llvm/test/Transforms/InferAddressSpaces/AMDGPU/constexpr-two-casts-one-call.ll
+6-2llvm/lib/Transforms/Scalar/InferAddressSpaces.cpp
+31-22 files

LLVM/project 0e517a0 — llvm/lib/ObjectYAML COFFYAML.cpp COFFEmitter.cpp, llvm/test/tools/obj2yaml/COFF bb-addr-map-pgo-analysis-map.yaml bb-addr-map.yaml

[obj2yaml][COFF] Add BBAddrMap support to coff2yaml (#239461)

Decode .llvm_bb_addr_map sections into Entries and PGOAnalyses with the
shared BBAddrMap decoder, mirroring elf2yaml and the yaml2coff support
added in #224504.

Make `SectionData` optional so decoded and empty BBAddrMap sections omit
it, and reject explicitly empty `SectionData` alongside `Entries` or
non-empty `StructuredData`.

The tests are mirrored from their ELF counterparts.
DeltaFile
+337-0llvm/test/tools/obj2yaml/COFF/bb-addr-map.yaml
+227-0llvm/test/tools/obj2yaml/COFF/bb-addr-map-pgo-analysis-map.yaml
+23-0llvm/tools/obj2yaml/coff2yaml.cpp
+6-4llvm/lib/ObjectYAML/COFFEmitter.cpp
+3-4llvm/lib/ObjectYAML/COFFYAML.cpp
+4-1llvm/test/tools/yaml2obj/COFF/bb-addr-map.yaml
+600-92 files not shown
+604-118 files

LLVM/project 8c68efd — llvm/include/llvm/Transforms/IPO Attributor.h, llvm/test/Transforms/Attributor musttail-function-info.ll

Attributor: Don't keep a reference into the function information map

getFunctionInfo kept a reference to the map entry while initializing the
information, which can add other functions to the map. If that grows the
map, the reference dangles and the function information is read from freed
memory.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+196-0llvm/test/Transforms/Attributor/musttail-function-info.ll
+8-5llvm/include/llvm/Transforms/IPO/Attributor.h
+204-52 files

LLVM/project d5f6842 — clang/docs ReleaseNotes.md, clang/lib/Headers __clang_hip_math.h

Revert "[HIP] Add __exp2f to the HIP math header (#236328)" (#240703)

This reverts commit dbb0418043e246d31aaab324dbe0c1e7097be391.

This does not exist in CUDA and I do not think it's appropriate to add
extensions in the global namespace with so little discussion
DeltaFile
+0-34clang/test/Headers/__clang_hip_math.hip
+0-5clang/docs/ReleaseNotes.md
+0-3clang/lib/Headers/__clang_hip_math.h
+0-423 files