LLVM/project 7edb43b — llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes LoadStoreVec.h, llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes LoadStoreVec.cpp

[SandboxVec][LoadStoreVec] Add Reinterpret helper for same-size type casts (NFC)

Co-authored-by: Cursor <cursoragent at cursor.com>
DeltaFile
+59-28llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/LoadStoreVec.cpp
+42-9llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/LoadStoreVec.h
+101-372 files

LLVM/project 1601e2e — mlir/test/mlir-tblgen trait-cpp-includes-attrdef-decls.td trait-cpp-includes-invalid.td, mlir/tools/mlir-tblgen CppGenUtilities.cpp AttrOrTypeDefGen.cpp

[mlir][ODS] Include headers of used traits in generated declarations (#236155)

While teaching at the [MLIR summer
school](https://mlir-school.github.io/summer-2026/), a common confusion
by students was the need to add includes for C++ constructs generated by
TableGen, i.e., code they didn't even write!

This PR adds a `cppInclude` list to `Trait` that names the C++ headers
declaring the trait or interface. Generated declarations now emit an
`#include` for the headers of all traits and interfaces they use
(including base interfaces, side effects, `DeclareOpInterfaceMethods`
and trait lists), plus the core MLIR headers every declaration needs.
This should heavily reduce the boilerplate required for new dialects.

The PR only introduces the mechanism, but does not yet override the
field in any TableGen fields beyond tests and the test dialect. Future
work will also port this to more constructs (type and attr constraints
e.g.). Another motivation is that this mechanism is more-or-less a UX
prerequisite to have automatic dialect sharding and self-contained
TableGen generated headers in the future.
DeltaFile
+94-62mlir/tools/mlir-tblgen/OpDefinitionsGen.cpp
+105-0mlir/test/mlir-tblgen/trait-cpp-includes-op-decls.td
+74-0mlir/test/mlir-tblgen/trait-cpp-includes-invalid.td
+36-11mlir/tools/mlir-tblgen/AttrOrTypeDefGen.cpp
+38-0mlir/test/mlir-tblgen/trait-cpp-includes-attrdef-decls.td
+37-0mlir/tools/mlir-tblgen/CppGenUtilities.cpp
+384-7348 files not shown
+601-16754 files

LLVM/project 92a233f — mlir/lib/Conversion/TosaToLinalg TosaToLinalg.cpp, mlir/test/Conversion/TosaToLinalg tosa-to-linalg.mlir

[mlir][tosa] Fix i64 negate lowering with constant zero points (#237808)

When both zero points of tosa.negate are constant, the TosaToLinalg
lowering picks the narrowest intermediate type that can hold
maxInt(inputBitWidth) + |inZp + outZp| + 1. For i64 inputs this sum
overflows int64_t, which is undefined behavior and in practice wraps to
a negative value. The bound then compares below INT16_MAX, so the
lowering selects an i16 intermediate and emits an invalid `arith.extsi`
from i64 to i16.

The fix is to compute the zero point sum and the bound with 128-bit
APInt so that neither can overflow. i64 inputs now keep the 64-bit
intermediate, as in the non-constant zero point path, and the
intermediate type chosen for narrower inputs is unchanged.

Assisted By: Claude
DeltaFile
+38-0mlir/test/Conversion/TosaToLinalg/tosa-to-linalg.mlir
+7-4mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
+45-42 files

LLVM/project 150e860 — llvm/include/llvm/MC MCELFStreamer.h, llvm/lib/Support ELFAttrParserExtended.cpp

[MC] Permit BuildAttribute values to be 64-bit (#238009)

The current generic implementation stores values as unsigned. This is
sufficient for all existing uses.

The AArch64 PAuthABI attributes are defined to be 64-bit values and the
PAuthABI profile for bare-metal will use values > 32-bits to store
flags.

An existing LLD test showed truncation and needed to be updated.
DeltaFile
+31-8llvm/test/CodeGen/AArch64/build-attributes-pauthabi.ll
+8-8llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFStreamer.cpp
+7-7llvm/lib/Target/AArch64/MCTargetDesc/AArch64TargetStreamer.cpp
+4-4llvm/include/llvm/MC/MCELFStreamer.h
+4-3llvm/test/MC/AArch64/build-attributes-asm-arch-specific.s
+3-3llvm/lib/Support/ELFAttrParserExtended.cpp
+57-338 files not shown
+72-4814 files

LLVM/project 109700d — clang/lib/Analysis/LifetimeSafety Origins.cpp FactsGenerator.cpp, clang/lib/Sema SemaLifetimeSafety.h

[LifetimeSafety] Track static data members accessed via MemberExpr (#238398)
DeltaFile
+67-0clang/test/Sema/LifetimeSafety/dangling-global.cpp
+23-11clang/lib/Analysis/LifetimeSafety/FactsGenerator.cpp
+27-0clang/test/Sema/LifetimeSafety/invalidations.cpp
+7-2clang/lib/Analysis/LifetimeSafety/Origins.cpp
+3-0clang/lib/Sema/SemaLifetimeSafety.h
+127-135 files

LLVM/project 01c51a1 — llvm/test/CodeGen/LoongArch/lsx vec-trunc.ll

[LoongArch][NFC] Fix `lsx/vec-trunc.ll` test
DeltaFile
+13-0llvm/test/CodeGen/LoongArch/lsx/vec-trunc.ll
+13-01 files

LLVM/project c2ab266 — mlir/lib/Conversion/MemRefToLLVM MemRefToLLVM.cpp, mlir/test/Conversion/MemRefToLLVM convert-dynamic-memref-ops.mlir

[mlir][MemRefToLLVM] Cast dealloc pointer back to address space 0 (#237806)

`DeallocOpLowering` passes the allocated pointer from the memref
descriptor straight to `free`. For a memref in a non-default memory
space, e.g. `memref<4xf32, 1>`, that pointer is `!llvm.ptr<1>`, because
the alloc lowering casts the result of `malloc` into the memref's
address space. `free` takes a plain `!llvm.ptr`, so the generated
`llvm.call` fails the verifier with an operand type mismatch. Unranked
memrefs such as `memref<*xf32, 1>` hit the same error.

Cast the pointer back to the default address space before the call,
undoing the cast done on the alloc side, and add tests for the ranked
and unranked cases.

Fixes #236924
DeltaFile
+23-0mlir/test/Conversion/MemRefToLLVM/convert-dynamic-memref-ops.mlir
+6-0mlir/lib/Conversion/MemRefToLLVM/MemRefToLLVM.cpp
+29-02 files

LLVM/project 9689099 — utils/bazel/llvm-project-overlay/clang BUILD.bazel

[Bazel] Fixes ffb4e1d (#238718)

This fixes ffb4e1dd0e7dfd27c451a236ba8a59ef86c7ed24 (#238399).

Buildkite error link:
https://buildkite.com/llvm-project/upstream-bazel/builds?commit=ffb4e1dd0e7dfd27c451a236ba8a59ef86c7ed24

Co-authored-by: Google Bazel Bot <google-bazel-bot at google.com>
DeltaFile
+1-0utils/bazel/llvm-project-overlay/clang/BUILD.bazel
+1-01 files

LLVM/project b02b9d4 — llvm/test/CodeGen/AMDGPU memintrinsic-unroll.ll amdgcn.bitcast.832bit.ll

Merge branch 'main' into users/zero9178/ods-declared-in
DeltaFile
+88,705-91,244llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
+25,383-26,405llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.512bit.ll
+9,311-9,381llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.960bit.ll
+8,998-9,209llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.896bit.ll
+8,016-8,194llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.832bit.ll
+7,335-7,432llvm/test/CodeGen/AMDGPU/memintrinsic-unroll.ll
+147,748-151,8659,411 files not shown
+532,289-388,7209,417 files

LLVM/project 030f8ab — llvm/lib/Target/AMDGPU SILoadStoreOptimizer.cpp, llvm/test/CodeGen/AMDGPU promote-constOffset-to-imm.mir promote-constOffset-to-imm-scratch.mir

[AMDGPU] Support FLAT_SCRATCH in SILoadStoreOptimizer const offset promotion (#212507)

Add a 32-bit base/offset extraction path for the V_ADD_U32_e64 pattern
used by FLAT_SCRATCH vaddr and enable promoteConstantOffsetToImm for
FLAT_SCRATCH instructions that have a vaddr operand.
DeltaFile
+203-277llvm/test/CodeGen/AMDGPU/flat-scratch-svs.ll
+234-0llvm/test/CodeGen/AMDGPU/promote-constOffset-to-imm-scratch.mir
+83-7llvm/lib/Target/AMDGPU/SILoadStoreOptimizer.cpp
+2-5llvm/test/CodeGen/AMDGPU/promote-constOffset-to-imm.mir
+522-2894 files

LLVM/project 51d7d48 — llvm/lib/Target/LoongArch LoongArchISelLowering.cpp, llvm/test/CodeGen/LoongArch/lasx shuffle-as-bswap.ll bitreverse.ll

[LoongArch] Custom legalize vector_shuffle to bswap
DeltaFile
+37-0llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
+2-3llvm/test/CodeGen/LoongArch/lsx/shuffle-as-bswap.ll
+2-3llvm/test/CodeGen/LoongArch/lsx/bitreverse.ll
+2-3llvm/test/CodeGen/LoongArch/lasx/shuffle-as-bswap.ll
+2-3llvm/test/CodeGen/LoongArch/lasx/bitreverse.ll
+45-125 files

LLVM/project 0c3f48e — llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes LoadStoreVec.h, llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes LoadStoreVec.cpp

[SandboxVec][LoadStoreVec] Add Reinterpret::reinterpretValue

Mixed-type load unpacking is the first caller. Insert the ptrtoint /
bitcast / inttoptr chain before the unpack point, and return nullptr
when a non-integral pointer is involved.
DeltaFile
+11-0llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/LoadStoreVec.cpp
+9-1llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/LoadStoreVec.h
+20-12 files

LLVM/project 96840fd — llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes LoadStoreVec.h, llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes LoadStoreVec.cpp

[SandboxVec][LoadStoreVec] Support mixed-type load vectorization

Remove the restriction that every load in a top-level load chain must
have the vector's element type. A chain of mixed types such as
{i32, float} or {double, i32, i32} is loaded as a vector of integers
(as chosen by VecUtils::getCombinedVectorTypeFor()), each original load
is unpacked from the lanes it occupies, and then reinterpreted back to
its own type with Reinterpret::reinterpretValue().

Chains involving a non-integral pointer are left alone, since such a
pointer cannot be recovered from an integer lane.

Co-Authored-By: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+140-0llvm/test/Transforms/SandboxVectorizer/Passes/LoadStoreVec/load_store_vec_mixed_type_loads.ll
+26-10llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/LoadStoreVec.cpp
+6-3llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/LoadStoreVec.h
+172-133 files

LLVM/project fadb744 — llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes LoadStoreVec.h, llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes LoadStoreVec.cpp

[SandboxVec][LoadStoreVec] Split Reinterpret legality from cast-chain building

canReinterpret() only checks for non-integral pointers, and getCastChain()
builds the ptrtoint/bitcast/inttoptr sequence under that precondition.
The chain is at most three casts, so assert that. Drop the unused runtime
reinterpretValue(); mixed-type loads will add it with tests.

Co-authored-by: Cursor <cursoragent at cursor.com>
DeltaFile
+13-31llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/LoadStoreVec.cpp
+10-14llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/LoadStoreVec.h
+23-452 files

LLVM/project 8fcf046 — llvm/docs AMDGPUUsage.md

Clarify natural alignment
DeltaFile
+2-2llvm/docs/AMDGPUUsage.md
+2-21 files

LLVM/project 431c4bb — clang/test/CodeGenOpenCL builtins-amdgcn-global-load-store.cl, clang/test/SemaOpenCL builtins-amdgcn-global-load-store-error.cl

Use <2 x i32> for b64
DeltaFile
+62-62clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-store.cl
+14-14llvm/test/CodeGen/AMDGPU/amdgcn-av-scopes.ll
+10-10llvm/test/CodeGen/AMDGPU/llvm.amdgcn.av.store.b128.ll
+7-7clang/test/SemaOpenCL/builtins-amdgcn-global-load-store-error.cl
+6-6llvm/test/Verifier/AMDGPU/intrinsics-av.ll
+6-6llvm/test/CodeGen/AMDGPU/llvm.amdgcn.av.load.b128.ll
+105-1058 files not shown
+125-12414 files

LLVM/project 0469de7 — clang/test/CodeGenOpenCL builtins-amdgcn-global-load-store.cl, clang/test/SemaOpenCL builtins-amdgcn-global-load-store-error.cl

Add b8
DeltaFile
+2,124-0llvm/test/CodeGen/AMDGPU/amdgcn-av-scopes.ll
+308-96llvm/test/CodeGen/AMDGPU/llvm.amdgcn.av.load.b128.ll
+218-0clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-store.cl
+196-0llvm/test/CodeGen/AMDGPU/llvm.amdgcn.av.store.b128.ll
+19-0clang/test/SemaOpenCL/builtins-amdgcn-global-load-store-error.cl
+14-0llvm/test/Verifier/AMDGPU/intrinsics-av.ll
+2,879-9615 files not shown
+2,949-10421 files

LLVM/project 59ee798 — clang/test/CodeGenOpenCL builtins-amdgcn-global-load-store.cl, clang/test/SemaOpenCL builtins-amdgcn-global-load-store-error.cl

[AMDGPU[ Expand `av` built-ins and intrinsics to b16/b32/b64

They previously only supported b128, but there is no technical reason why we cannot support all bit widths.

Disclaimer: This is largely Claude assisted. I ran it in short self-contained bursts (to ensure the output of each step was reviewable) to do all the boring steps of plumbing this through the stack. I also manually reverified and cleaned up all the files one by one between each steps.

Assisted-by: Claude Opus 5.5
DeltaFile
+1,062-0llvm/test/CodeGen/AMDGPU/amdgcn-av-scopes.ll
+732-96llvm/test/CodeGen/AMDGPU/llvm.amdgcn.av.load.b128.ll
+684-30clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-store.cl
+588-0llvm/test/CodeGen/AMDGPU/llvm.amdgcn.av.store.b128.ll
+58-0clang/test/SemaOpenCL/builtins-amdgcn-global-load-store-error.cl
+42-0llvm/test/Verifier/AMDGPU/intrinsics-av.ll
+3,166-12615 files not shown
+3,440-19321 files

LLVM/project a805e60 — llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes LoadStoreVec.h

[SandboxVec][LoadStoreVec] Add LLVM_ABI annotations to Reinterpret

Export the out-of-line static members of Reinterpret, as reported by
the LLVM_ABI annotation check. getCastChain() is private but is called
from the inline canReinterpret(), so it needs to be exported too.

Co-Authored-By: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+6-6llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/LoadStoreVec.h
+6-61 files

LLVM/project 85a159d — llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer VecUtils.h, llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes LoadStoreVec.h

[SandboxVec][LoadStoreVec] Don't pack non-integral pointer constants

getEquivalentConstantWithType() only rejected a non-integral pointer
destination type (via an assert), while a non-integral source such as
'ptr addrspace(5) null' was silently converted with ptrtoint. A
non-integral pointer has no stable integer representation, so it cannot
be packed into an integer lane.

Add VecUtils::isNonIntegralPtr() and return nullptr from
getEquivalentConstantWithType() when either type is a non-integral
pointer, which makes createConstantVector() give up on the bundle.

Co-Authored-By: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+5-6llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/LoadStoreVec.h
+9-0llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/VecUtils.h
+2-1llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/LoadStoreVec.cpp
+16-73 files

LLVM/project 6772d75 — llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes LoadStoreVec.h, llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes LoadStoreVec.cpp

[SandboxVec][LoadStoreVec] Add Reinterpret helper for same-size type casts (NFC)

Replace getEquivalentConstantWithType() with a Reinterpret utility that
reinterprets the bits of a value as another type of the same size. It
builds a chain of ptrtoint / bitcast / inttoptr casts, and applies it
either to a constant (folding) or to a runtime value (inserting casts).
The runtime form will be used to unpack mixed-type vector loads and to
pack mixed-type store operands.

Co-Authored-By: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+69-21llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/LoadStoreVec.cpp
+36-5llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/LoadStoreVec.h
+105-262 files

LLVM/project 0247623 — llvm/test/Transforms/InstCombine pr232053.ll

[InstCombine] Add regression test for #232053 (NFC) (#238575)

Adds a regression test for the crash in #232053. The fix itself landed
in #231649.

Fixes https://github.com/llvm/llvm-project/issues/232053.
DeltaFile
+23-0llvm/test/Transforms/InstCombine/pr232053.ll
+23-01 files

LLVM/project ffb4e1d — clang/lib/CIR/Lowering/DirectToLLVM CMakeLists.txt LowerToLLVMOffloadPrintfAMDGPU.cpp, llvm/include/llvm/Support AMDGPUPrintf.h

[CIR][AMDGPU] Move AMDGPU printf emit helpers (NFC) (#238399)

Move the AMDGPU printf emit helpers from
llvm/lib/Support/AMDGPUPrintf.cpp to
llvm/lib/Transforms/Utils/AMDGPUEmitPrintf.cpp.

Signed-off-by: Steffen Holst Larsen <sholstla at amd.com>
DeltaFile
+0-96llvm/lib/Support/AMDGPUPrintf.cpp
+80-1llvm/lib/Transforms/Utils/AMDGPUEmitPrintf.cpp
+0-53llvm/include/llvm/Support/AMDGPUPrintf.h
+29-0llvm/include/llvm/Transforms/Utils/AMDGPUEmitPrintf.h
+1-1clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVMOffloadPrintfAMDGPU.cpp
+1-0clang/lib/CIR/Lowering/DirectToLLVM/CMakeLists.txt
+111-1512 files not shown
+111-1538 files

LLVM/project 4b12ba8 — mlir/lib/Dialect/Vector/Transforms LowerVectorTransfer.cpp, mlir/test/Dialect/Vector vector-transfer-permutation-lowering.mlir

[mlir][vector] Fix mask rank extension for TransferWriteNonPermutationLowering (#229852)

When a `vector.transfer_write`'s permutation map skips a dim between the
dims that are written to, e.g. `(d0, d1, d2, d3) -> (d1, d3)`,
`TransferWriteNonPermutationLowering` adds a unit dim for it. The vector
got that unit dim in the right place, but the mask always got it at the
end. The new write then failed to verify:

```
'vector.transfer_write' op inferred mask type ('vector<7x1x8xi1>') and mask operand type ('vector<7x8x1xi1>') don't match
```

`-convert-vector-to-scf` runs the same pattern and fails on such a write
too.

This puts the mask's unit dims at the positions of the missing dims.

This is #144893 by @Groverkss, moved to the current builder API. The
test uses a map that also skips the leading dim, so the offset from the

    [8 lines not shown]
DeltaFile
+51-0mlir/test/Dialect/Vector/vector-transfer-permutation-lowering.mlir
+10-12mlir/lib/Dialect/Vector/Transforms/LowerVectorTransfer.cpp
+61-122 files

LLVM/project 3721db3 — llvm/lib/IR RuntimeLibcalls.cpp, llvm/test/TableGen RuntimeLibcallEmitter-attributes.td

RuntimeLibcalls: Mark vector libcall out pointers dereferenceable

The whole vector width will be written, so mark the vector width. To
maintain the element width alignment for some functions, we need to
start explicitly tracking if the element alignment is used or not.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+9-5llvm/utils/TableGen/Basic/RuntimeLibcallsEmitter.cpp
+10-3llvm/test/TableGen/RuntimeLibcallEmitter-attributes.td
+11-2llvm/lib/IR/RuntimeLibcalls.cpp
+6-6llvm/test/Transforms/Util/DeclareRuntimeLibcalls/sleef.ll
+6-6llvm/test/Transforms/Util/DeclareRuntimeLibcalls/armpl.ll
+6-6llvm/test/Transforms/Util/DeclareRuntimeLibcalls/amdlibm.ll
+48-282 files not shown
+53-348 files

LLVM/project 2821a34 — llvm/include/llvm/IR RuntimeLibcalls.td RuntimeLibcallsImpl.td, llvm/lib/IR RuntimeLibcalls.cpp

RuntimeLibcalls: Declare vector libcall attributes in TableGen

Replace the type-based heuristics for vector math libcall attributes
with attributes declared on the libcall definitions, emitted with the
same attribute table helpers as intrinsics.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+226-1llvm/utils/TableGen/Basic/RuntimeLibcallsEmitter.cpp
+103-0llvm/test/TableGen/RuntimeLibcallEmitter-attributes.td
+26-52llvm/lib/IR/RuntimeLibcalls.cpp
+52-0llvm/test/TableGen/RuntimeLibcallEmitter-attributes-errors.td
+44-3llvm/include/llvm/IR/RuntimeLibcallsImpl.td
+23-9llvm/include/llvm/IR/RuntimeLibcalls.td
+474-651 files not shown
+478-697 files

LLVM/project 6ea56aa — llvm/utils/TableGen/Basic IntrinsicEmitter.cpp AttributeTableEmitter.h

TableGen: Move attribute set and sequence table helpers to a header

Move AttributeSetTable and AttributeSequenceTable out of
IntrinsicEmitter into a reusable header so the runtime libcall emitter
can use the same encoding.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+112-0llvm/utils/TableGen/Basic/AttributeTableEmitter.h
+1-83llvm/utils/TableGen/Basic/IntrinsicEmitter.cpp
+113-832 files

LLVM/project ea44757 — llvm/utils/TableGen/Basic IntrinsicEmitter.cpp

Use UniqueVector for the intrinsic attribute tables
DeltaFile
+15-24llvm/utils/TableGen/Basic/IntrinsicEmitter.cpp
+15-241 files

LLVM/project 8b0176b — llvm/utils/TableGen/Basic IntrinsicEmitter.cpp

TableGen: Unique intrinsic attribute tables by attribute value

Unique the intrinsic attribute tables by the attributes themselves
rather than by CodeGenIntrinsic, and separate the uniquing from the
emission in AttributeSetTable and AttributeSequenceTable so other
emitters can reuse them.

This also fixes MaxNumAttrs, which was computed from one representative
intrinsic per argument attribute sequence and could undercount.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+223-171llvm/utils/TableGen/Basic/IntrinsicEmitter.cpp
+223-1711 files

LLVM/project 99fccd3 — clang/lib/CodeGen BackendUtil.cpp, clang/test/CodeGen sanitize-memory-merge.c

[spr] update

Created using spr 2.0.0-beta.2
DeltaFile
+32-12llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
+10-7llvm/test/Instrumentation/MemorySanitizer/merge_checks.ll
+9-6clang/test/CodeGen/sanitize-memory-merge.c
+4-2clang/lib/CodeGen/BackendUtil.cpp
+2-1llvm/include/llvm/Transforms/Instrumentation/MemorySanitizer.h
+2-0llvm/lib/Transforms/Instrumentation/InstrumentationOptions.td
+59-286 files