LLVM/project 4f1d2abmlir/include/mlir/Dialect/LLVMIR LLVMDialect.td, mlir/lib/Dialect/LLVMIR/IR LLVMDialect.cpp

[mlir][ABI] Add the nofreeobj param attr to the LLVM dialect (#222137)

Since #218404 clang marks every indirect argument nofreeobj rather than
nofree. LLVM allows it on returns too.

Assisted-by: Cursor / claude-opus-5
DeltaFile
+9-1mlir/test/Target/LLVMIR/Import/function-attributes.ll
+10-0mlir/test/Dialect/LLVMIR/parameter-attrs-invalid.mlir
+6-0mlir/test/Target/LLVMIR/llvmir.mlir
+2-0mlir/lib/Target/LLVMIR/AttrKindDetail.h
+1-0mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
+1-0mlir/include/mlir/Dialect/LLVMIR/LLVMDialect.td
+29-16 files

LLVM/project 10d4bdflibcxx/include __hash_table __tree, libcxx/include/__utility try_key_extraction.h

[libc++] Opt `std::*set` out of map key extraction optimization (#220452)

PR #154512 (relanded by #155565) removed `__can_extract_map_key`, which
had a blanket opt-out for `std::*set`s. The new logic does not have that
opt-out, leading to `std::set`s being incorrectly constructed.

The new regression tests demonstrate this, but essentially the idea is:
1. Have `std::set<T> foo;`
2. Call `foo.emplace(some_t,
arg_that_influences_comparisons_or_hashes);`
3. The emplace will internally search using `some_t` as the key, *not*
`T(some_t, arg_that_influences_comparisons_or_hashes);`

This opts out `std::*set` from this optimization to match previous
behavior.

Tests and fix were produced by an LLM. I reviewed them and they seem
reasonable to me, though I don't have a strong background in libc++
testing conventions.

    [4 lines not shown]
DeltaFile
+10-6libcxx/include/__utility/try_key_extraction.h
+16-0libcxx/test/std/containers/associative/set/emplace.pass.cpp
+10-0libcxx/test/std/containers/unord/unord.set/emplace.pass.cpp
+3-3libcxx/include/__tree
+1-1libcxx/include/__hash_table
+40-105 files

LLVM/project 25f5339clang/include/clang/StaticAnalyzer/Core/PathSensitive MemRegion.h CallEvent.h, clang/lib/StaticAnalyzer/Core CallEvent.cpp ExprEngineCXX.cpp

Make getParameterLocation accept std::optional<unsigned>.
DeltaFile
+2-7clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp
+5-2clang/lib/StaticAnalyzer/Core/CallEvent.cpp
+1-1clang/include/clang/StaticAnalyzer/Core/PathSensitive/MemRegion.h
+1-1clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h
+9-114 files

LLVM/project e733803mlir/cmake/modules AddMLIR.cmake, mlir/docs ReleaseNotes.md

[MLIR][CMake] Remove aggregate generated-header ordering

Remove the broad mlir-headers prerequisites now that direct links and
HEADER_LIBS relationships provide generated-header ordering.

Keep own generators and intentional source-generation dependencies explicit.
Document migration options for downstream projects that relied on aggregate
ordering.

Assisted-by: Codex
Assisted-by: Claude Code
Co-Authored-By: Claude Fable 5.1 <noreply at anthropic.com>
DeltaFile
+0-32mlir/lib/CAPI/Dialect/CMakeLists.txt
+11-0mlir/docs/ReleaseNotes.md
+0-9mlir/lib/Dialect/OpenACC/Utils/CMakeLists.txt
+4-4mlir/cmake/modules/AddMLIR.cmake
+0-6mlir/lib/Conversion/ArithAndMathToAPFloat/CMakeLists.txt
+0-6mlir/lib/CMakeLists.txt
+15-57123 files not shown
+16-386129 files

LLVM/project 82a15damlir/cmake/modules AddMLIR.cmake, mlir/docs CMakeInfrastructure.md

[MLIR][CMake] Add HEADER_LIBS and document CMake infrastructure

Add HEADER_LIBS as a flat list of literal library targets for generated headers
included without a link relationship. Resolve aliases and forward references,
accept imported libraries as already generated, follow nested HEADER_LIBS and
link interfaces, and reject missing, executable, utility, or generator-
expression entries with configure-time diagnostics. Represent header-only
edges in the common internal INTERFACE graph, including cyclic relationships.

Record links added by mlir_target_link_libraries for the same deferred ordering.
Add explicit, commented HEADER_LIBS edges for every audited header-only include
that is not covered by mlir-generic-headers, and keep this facility a rare
layering escape hatch.

Document dialects, interfaces, passes, PDLL, generated documentation, library
visibility, C API aggregation, tools, exports, standalone consumers, and the
generated-file model. Add a CMake fixture covering cycles, aliases, conditions,
LINK_ONLY, imported and ignored items, post-hoc links, and invalid providers.
Build each consumer independently from a clean state to verify transitive

    [5 lines not shown]
DeltaFile
+343-0mlir/docs/CMakeInfrastructure.md
+192-0mlir/test/CMake/header-dependencies.test
+110-1mlir/cmake/modules/AddMLIR.cmake
+16-0mlir/lib/Dialect/LLVMIR/CMakeLists.txt
+8-3mlir/lib/Dialect/Shape/Transforms/CMakeLists.txt
+8-0mlir/lib/Interfaces/CMakeLists.txt
+677-426 files not shown
+793-732 files

LLVM/project 31b3f68llvm/cmake/modules TableGen.cmake AddLLVM.cmake, llvm/test lit.site.cfg.py.in

[CMake] Propagate generated-header prerequisites through link dependencies

The goal is to simplify and make more robust the handling of generated-header
(TableGen) dependencies. Today these dependencies are managed manually, which
is fragile: missing edges often surface only in parallel builds, and sometimes
in incremental builds.

Record each llvm_add_library DEPENDS list independently from the cumulative
LLVM_COMMON_DEPENDS value, and mark public TableGen targets as generated-header
prerequisites. A deferred traversal follows every direct non-INTERFACE link and
transitive link interface, resolves aliases, and conservatively extracts target
candidates from generator expressions.

Represent generated-header prerequisites with internal INTERFACE libraries.
Let CMake propagate their utility dependencies through the header graph, and
reuse each provider's interface to handle cycles without computing closures.
Disabled generator-expression arms may generate extra headers, but cannot
introduce a provider library or object cycle.


    [10 lines not shown]
DeltaFile
+151-14llvm/cmake/modules/AddLLVM.cmake
+80-0llvm/test/CMake/generated-header-dependencies.test
+6-0llvm/cmake/modules/TableGen.cmake
+2-0llvm/test/lit.site.cfg.py.in
+2-0llvm/test/CMake/lit.local.cfg
+241-145 files

LLVM/project 90acd6cllvm/lib/Target/AMDGPU SIInstrInfo.cpp, llvm/lib/Target/AMDGPU/Utils AMDGPUBaseInfo.h AMDGPUBaseInfo.cpp

[AMDGPU] Drop the redundant operand register-class verifier check

The generic MachineVerifier already rejects a register operand whose
class does not fit the instruction's operand class, for both virtual
(hasSuperClassEq / getMatchingSuperRegClass) and physical (contains)
registers, using the HwMode-resolved operand class. On subtargets that
require aligned VGPRs that class is the even-aligned one, so the generic
check catches a misaligned tuple on its own.

Remove SIInstrInfo::verifyInstruction's own alignment and physical
register-class checks and the now-unused getUnalignedEquivalentRC helper.
Misaligned tuples now report the generic "Illegal virtual/physical
register for instruction" instead of "Subtarget requires even aligned
vector registers"; a bad physical class reports the same instead of
"Operand has incorrect register class".
DeltaFile
+0-87llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
+0-50llvm/test/CodeGen/AMDGPU/verify-gfx90a-aligned-vgprs.mir
+0-46llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
+0-14llvm/test/CodeGen/AMDGPU/verify-ds-gws-align.mir
+0-5llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
+0-4llvm/test/CodeGen/AMDGPU/verify-vimage-vsample.mir
+0-2062 files not shown
+0-2138 files

LLVM/project c297f73clang/lib/CIR/Interfaces CMakeLists.txt, mlir/include/mlir/Transforms CMakeLists.txt

[MLIR] Fix and classify generated-header dependencies

List the TableGen targets owned by each affected library, and add the missing
LLVM generated-header, SPIR-V source-generation, OpenACC/OpenMP generated-input,
and CIR operation/type prerequisites found by clean dependency audits. Correct
two stale copy-paste dependencies and the duplicate CIR link entry.

The Transforms pass declarations and dialect inliner interface are independent
of any dialect. Classify both under mlir-generic-headers, and associate the
inliner interface with MLIRTransformUtils, which publishes InliningUtils.h.
This gives every MLIR library the required ordering without repeated
header-only edges.

Assisted-by: Codex
Assisted-by: Claude Code
Co-Authored-By: Claude Fable 5.1 <noreply at anthropic.com>
DeltaFile
+11-0clang/lib/CIR/Interfaces/CMakeLists.txt
+7-0mlir/lib/Dialect/Transform/IR/CMakeLists.txt
+5-0mlir/lib/Dialect/GPU/Utils/CMakeLists.txt
+2-2mlir/include/mlir/Transforms/CMakeLists.txt
+4-0mlir/lib/Target/SPIRV/CMakeLists.txt
+4-0mlir/lib/Bytecode/CMakeLists.txt
+33-227 files not shown
+76-733 files

LLVM/project 54e9370llvm/lib/Object GOFFObjectFile.cpp

Fix clang-format
DeltaFile
+2-2llvm/lib/Object/GOFFObjectFile.cpp
+2-21 files

LLVM/project 3e78191llvm CMakeLists.txt

[cpack][NSIS Installer] Make installer DPI-Aware (#128470)

See
https://cmake.org/cmake/help/latest/cpack_gen/nsis.html#variable:CPACK_NSIS_MANIFEST_DPI_AWARE
for details.
DeltaFile
+1-0llvm/CMakeLists.txt
+1-01 files

LLVM/project e5d8a15libcxx/include vector, libcxx/include/__vector vector_bool.h

[libc++] Backport resolution of LWG2187 to C++11 (#222006)

libc++ has LWG2187 implemented in
2d6e2834a8abcce862ef17c44f62e4de41662748 but only since C++14 mode.
Usually, resolution of an LWG issue should be treated as a Defect Report
and applied to old modes. In the case of LWG2187, the resolution should
be applied to C++11.
DeltaFile
+2-2libcxx/include/vector
+2-2libcxx/include/__vector/vector_bool.h
+2-1libcxx/test/std/containers/sequences/vector.bool/emplace_back.pass.cpp
+2-1libcxx/test/std/containers/sequences/vector.bool/emplace.pass.cpp
+8-64 files

LLVM/project 87d9c3corc-rt/include CMakeLists.txt, orc-rt/include/orc-rt/support Mangling.h

[orc-rt] Add Mangling.h with platform symbol name mangling (#222315)

This implements a cut-down version of the LLVM equivalent (in
llvm/include/llvm/ExecutionEngine/Orc/Shared/Mangler.h): SymbolNameSpec
pairs a name with a kind (assembly, C). Mangling functions
(withMangledNameDo, mangledCopy) apply mangling to SymbolNameSpecs based
on the symbol name kind.

These utilities will be used to report symbols (e.g. controller
interface symbols) in the platform's native mangling, so that linking
against them requires no special handling.
DeltaFile
+107-0orc-rt/include/orc-rt/support/Mangling.h
+36-0orc-rt/test/unit/support/ManglingTest.cpp
+1-0orc-rt/test/unit/CMakeLists.txt
+1-0orc-rt/include/CMakeLists.txt
+145-04 files

LLVM/project 2061c23llvm/lib/Target/AArch64 AArch64SchedNeoverseV3.td, llvm/test/tools/llvm-mca/AArch64/Neoverse V3-sve-instructions.s

[AArch64] Improve scheduling info for WHILE instruction (#221930)

They should have a throughput of 2, only using a single M microop.

This is the V3 equivalent of #219122.
DeltaFile
+37-37llvm/test/tools/llvm-mca/AArch64/Neoverse/V3-sve-instructions.s
+2-7llvm/lib/Target/AArch64/AArch64SchedNeoverseV3.td
+39-442 files

LLVM/project f655532mlir/cmake/modules AddMLIR.cmake, mlir/docs ReleaseNotes.md

[MLIR][CMake] Remove aggregate generated-header ordering

Remove the broad mlir-headers prerequisites now that direct links and
HEADER_LIBS relationships provide generated-header ordering.

Keep own generators and intentional source-generation dependencies explicit.
Document migration options for downstream projects that relied on aggregate
ordering.

Assisted-by: Codex
Assisted-by: Claude Code
Co-Authored-By: Claude Fable 5.1 <noreply at anthropic.com>
DeltaFile
+0-32mlir/lib/CAPI/Dialect/CMakeLists.txt
+11-0mlir/docs/ReleaseNotes.md
+0-9mlir/lib/Dialect/OpenACC/Utils/CMakeLists.txt
+4-4mlir/cmake/modules/AddMLIR.cmake
+0-6mlir/lib/Dialect/OpenACC/Transforms/CMakeLists.txt
+0-6mlir/lib/Dialect/LLVMIR/CMakeLists.txt
+15-57123 files not shown
+16-386129 files

LLVM/project 9a5a9a8mlir/docs Remarks.md, mlir/include/mlir/Remark LLVMRemarkImport.h

[MLIR][Remark] Import LLVM optimization remarks into the remark engine (#222300)

Collect LLVM side of remarks with MLIR's remark infra.

LLVM passes emit their own [optimization
remarks](https://llvm.org/docs/Remarks.html) and MLIR has own. This PR
bridges MLIR and LLVM remarks.

`ModuleToObject` installs a `remark::LLVMToMLIRDiagnosticHandler` on the
`llvm::LLVMContext` it compiles with, which imports these remarks into
the remark engine: the category is the LLVM pass name prefixed with
`llvm-`, the LLVM remark name becomes the name, the message is stored
under the `Remark` argument and the structured LLVM arguments are copied
as metrics. The remark filters therefore select LLVM remarks by pass
name, and `llvm-.*` selects all of them.

Assisted by Claude Fable 5.1

---------

Co-authored-by: Claude Fable 5.1 <noreply at anthropic.com>
DeltaFile
+395-0mlir/unittests/Remark/LLVMRemarkImportTest.cpp
+315-0mlir/lib/Remark/LLVMRemarkImport.cpp
+81-0mlir/unittests/Target/LLVM/SerializeNVVMTarget.cpp
+70-0mlir/include/mlir/Remark/LLVMRemarkImport.h
+35-0mlir/docs/Remarks.md
+30-0mlir/test/Dialect/GPU/module-to-binary-nvvm-remarks.mlir
+926-06 files not shown
+952-012 files

LLVM/project 656eb30llvm/cmake/modules AddLLVM.cmake, mlir/cmake/modules AddMLIR.cmake

[MLIR][CMake] Add HEADER_LIBS and document CMake infrastructure

Add HEADER_LIBS as a flat list of literal library targets for generated headers
included without a link relationship. Resolve aliases and forward references,
accept imported libraries as already generated, follow nested HEADER_LIBS and
link interfaces, and reject missing, executable, utility, or generator-
expression entries with configure-time diagnostics. Cyclic header relationships
add only generator leaves and remain safe.

Record links added by mlir_target_link_libraries for the same deferred ordering.
Add explicit, commented HEADER_LIBS edges for every audited header-only include
that is not covered by mlir-generic-headers, and keep this facility a rare
layering escape hatch.

Document dialects, interfaces, passes, PDLL, generated documentation, library
visibility, C API aggregation, tools, exports, standalone consumers, and the
generated-file model. Add a CMake fixture covering cycles, aliases, conditions,
LINK_ONLY, imported and ignored items, post-hoc links, and invalid providers.


    [3 lines not shown]
DeltaFile
+340-0mlir/docs/CMakeInfrastructure.md
+169-0mlir/test/CMake/header-dependencies.test
+108-1mlir/cmake/modules/AddMLIR.cmake
+16-0mlir/lib/Dialect/LLVMIR/CMakeLists.txt
+8-3mlir/lib/Dialect/Shape/Transforms/CMakeLists.txt
+8-1llvm/cmake/modules/AddLLVM.cmake
+649-526 files not shown
+769-732 files

LLVM/project 6799ad4clang/lib/CIR/Interfaces CMakeLists.txt, mlir/lib/Dialect/Bufferization/IR CMakeLists.txt

[MLIR] Fix and classify generated-header dependencies

List the TableGen targets owned by each affected library, and add the missing
LLVM generated-header, SPIR-V source-generation, OpenACC/OpenMP generated-input,
and CIR operation/type prerequisites found by clean dependency audits. Correct
two stale copy-paste dependencies and the duplicate CIR link entry.

The Transforms pass declarations and dialect inliner interface are independent
of any dialect. Classify both under mlir-generic-headers, and associate the
inliner interface with MLIRTransformUtils, which publishes InliningUtils.h.
This gives every MLIR library the required ordering without repeated
header-only edges.

Assisted-by: Codex
Assisted-by: Claude Code
Co-Authored-By: Claude Fable 5.1 <noreply at anthropic.com>
DeltaFile
+11-0clang/lib/CIR/Interfaces/CMakeLists.txt
+7-0mlir/lib/Dialect/Transform/IR/CMakeLists.txt
+5-0mlir/lib/Dialect/GPU/Utils/CMakeLists.txt
+4-0mlir/lib/Target/SPIRV/CMakeLists.txt
+4-0mlir/lib/Dialect/GPU/CMakeLists.txt
+4-0mlir/lib/Dialect/Bufferization/IR/CMakeLists.txt
+35-027 files not shown
+76-733 files

LLVM/project ed72ff7llvm/cmake/modules TableGen.cmake AddLLVM.cmake, llvm/test lit.site.cfg.py.in

[CMake] Propagate generated-header prerequisites through link dependencies

Record each llvm_add_library DEPENDS list independently from the cumulative
LLVM_COMMON_DEPENDS value, and mark public TableGen targets as generated-header
prerequisites. A deferred traversal follows every direct non-INTERFACE link and
transitive link interface, resolves aliases, and conservatively extracts target
candidates from generator expressions.

Add only the resulting generated-header utility targets as compilation-order
prerequisites. Avoiding dependencies on provider libraries keeps mutually
linked static libraries acyclic and works across generators without waiting for
provider archives. Disabled generator-expression arms may generate extra
headers, but cannot introduce a library or object cycle.

Do not link provider libraries directly to object libraries. That approach was
reverted after an ODR regression when LLVM_LINK_LLVM_DYLIB was enabled. Cache
provider closures so repeated link relationships do not repeat the traversal.

Assisted-by: Codex

    [2 lines not shown]
DeltaFile
+199-14llvm/cmake/modules/AddLLVM.cmake
+55-0llvm/test/CMake/generated-header-dependencies.test
+6-0llvm/cmake/modules/TableGen.cmake
+2-0llvm/test/lit.site.cfg.py.in
+2-0llvm/test/CMake/lit.local.cfg
+264-145 files

LLVM/project a6aa47allvm/include/llvm/CodeGen/GlobalISel CallLowering.h, llvm/lib/CodeGen/GlobalISel CallLowering.cpp

[GlobalISel] Avoid unnecessary call setup work (NFC) (#221892)

Avoid processing call-site attributes twice: once in the attribute
helpers (now dead and deleted) and again in setArgFlags. Let setArgFlags
handle the call-site attributes. Also skip return setup for void calls.

Small -0.03% geomean improvement on CTMark aarch64-O0-g, but consistent
little improvements across the board.

https://llvm-compile-time-tracker.com/compare.php?from=97cbc1e404b980edc58bfbcabb6f1c61793b624b&to=d2dfca2db156c259a66cfe2c749f786fec2946f0&stat=instructions:u

Assisted-by: codex
DeltaFile
+15-25llvm/lib/CodeGen/GlobalISel/CallLowering.cpp
+0-8llvm/include/llvm/CodeGen/GlobalISel/CallLowering.h
+15-332 files

LLVM/project 82d63a1bolt/test/RISCV call-relocation-pair.s

[NFC][BOLT][RISCV] Fix call-relocation-pair test after NOP removal (#222308)

The test introduced by https://github.com/llvm/llvm-project/pull/216882
expects temporary NOPs from FixRISCVCalls in the emitted binary.
https://github.com/llvm/llvm-project/pull/221965 marks those NOPs for
removal, causing FileCheck to match trailing alignment padding instead
of the rewritten calls.

This caused the call-relocation-pair.s failure on
[bolt-aarch64-ubuntu-dylib, build
6378](https://lab.llvm.org/buildbot/#/builders/216/builds/6378).

Check emitted calls independently of the temporary NOPs and verify the
forward-call target symbols. Preserve the intermediate-pass NOP checks.

Validation: all five test RUN commands pass with local BOLT builds that
retain and remove the temporary NOPs. The original test reproduces the
reported FileCheck failure with the NOP-removing build.
DeltaFile
+8-8bolt/test/RISCV/call-relocation-pair.s
+8-81 files

LLVM/project bb3c162llvm/lib/Transforms/Vectorize SLPVectorizer.cpp, llvm/test/Transforms/SLPVectorizer/AArch64 splat-gather-subtree-store-chain.ll splat-gather-subtree-drop.ll

[SLP]Drop unprofitable splat gather subtrees

The keep/drop check ran only when trimming changed something and
ignored the splat emission cost on both sides. Run it in both paths
with the actual costs: keep the subtree if its price plus extracts plus
the reusing gathers' current costs is not worse than re-emitting those
gathers without it. Exclude splat roots from the main trimming loop.

Fixes the perf regression from #220250, reported in https://github.com/llvm/llvm-project/pull/220250?email_source=notifications&email_token=ABI45DSHUYRFN4NA4DILB5T5NZTZTA5CNFSNUABFM5UWIORPF5TWS5BNNB2WEL2JONZXKZKDN5WW2ZLOOQXTKNJWG4ZTSMBZGUYKM4TFMFZW63VMON2GC5DFL5RWQYLOM5S2KZLWMVXHJLDGN5XXIZLSL5RWY2LDNM#issuecomment-5567390950.

Reviewers: RKSimon, bababuck

Pull Request: https://github.com/llvm/llvm-project/pull/221717
DeltaFile
+112-51llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+35-42llvm/test/Transforms/SLPVectorizer/AArch64/splat-gather-subtree-drop.ll
+21-36llvm/test/Transforms/SLPVectorizer/AArch64/splat-gather-subtree-store-chain.ll
+36-16llvm/test/Transforms/SLPVectorizer/X86/lookahead.ll
+6-2llvm/test/Transforms/SLPVectorizer/X86/reorder_phi.ll
+210-1475 files

LLVM/project 19a05aellvm/lib/Target/AMDGPU SIRegisterInfo.cpp, llvm/test/CodeGen/AMDGPU sgpr-scavenge-fi-stack-id.ll sgpr-spill-to-vmem-scc-clobber-reserved-exec-copy.mir

[AMDGPU] Scale the frame register in place when lowering scalar frame indices
DeltaFile
+184-0llvm/test/CodeGen/AMDGPU/sgpr-spill-to-vmem-scc-clobber-reserved-exec-copy.mir
+73-7llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
+3-23llvm/test/CodeGen/AMDGPU/sgpr-scavenge-fi-stack-id.ll
+260-303 files

LLVM/project 173ccf9llvm/lib/Transforms/Vectorize SLPVectorizer.cpp, llvm/test/Transforms/SLPVectorizer/AArch64 splat-gather-subtree-store-chain.ll

[SLP]Exclude splat gather subtrees from the store chain retry size

The tree size recorded for a failed store chain attempt gates the
larger-VF retries. The splat gather subtrees are auxiliary to the store
tree and inflated the recorded size, so the deviation check skipped the
VF=4 retry and the chain fell back to VF=2 or scalar.

Reviewers: bababuck, RKSimon

Pull Request: https://github.com/llvm/llvm-project/pull/221241
DeltaFile
+7-12llvm/test/Transforms/SLPVectorizer/AArch64/splat-gather-subtree-store-chain.ll
+14-1llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+21-132 files

LLVM/project 6afc072clang/lib/Headers acev1intrin.h, clang/test/CodeGen/X86 acev1_inline_asm.c

[X86][ACEV1] Address review comments

- Drop the AMX_TILE dependency; under acev1 enable only the AMX
  instructions that ACE v1 actually shares.
- Namespace the ACE-invented intrinsics under llvm.x86.acev1.* and leave
  the shared AMX-AVX512 ones in the flat llvm.x86.* namespace.
- Sync the public intrinsic and builtin names with GCC, and add the
  helper macros from the ACE v1 spec.
- Tighten Sema checking of the outer-product group bits, and add driver,
  preprocessor and feature-error test coverage.
- Spell BSR0 literally in the AsmStrings with Defs/Uses instead of
  carrying it as a custom operand, which removes the bespoke handling
  from X86AsmParser and both instruction printers.
- Drop the unused BSR register class; like TMMCFG, BSR0 needs only its
  X86Reg definition and the getReservedRegs entry.
- Adopt the operand-type record naming convention, 't' for a TILE and
  'e' for a GR32 index, on both the instructions and their pseudos,
  retiring the ad-hoc _REG suffix.
- Use WriteSystem rather than WriteVecLogic for the tile outer products

    [3 lines not shown]
DeltaFile
+174-269llvm/lib/Target/X86/X86InstrACE.td
+239-116clang/lib/Headers/acev1intrin.h
+68-132llvm/include/llvm/IR/IntrinsicsX86.td
+90-90llvm/test/CodeGen/X86/ACEV1/acev1-intrinsics.ll
+83-83llvm/lib/Target/X86/X86ISelLowering.cpp
+55-109clang/test/CodeGen/X86/acev1_inline_asm.c
+709-79935 files not shown
+1,257-1,49441 files

LLVM/project c81be06mlir/cmake/modules AddMLIR.cmake, mlir/docs ReleaseNotes.md

[MLIR][CMake] Remove aggregate generated-header ordering

Remove the broad mlir-headers prerequisites now that direct links and
HEADER_LIBS relationships provide generated-header ordering.

Keep own generators and intentional source-generation dependencies explicit.
Document migration options for downstream projects that relied on aggregate
ordering.

Assisted-by: Codex

Assisted-by: Claude Code

Co-Authored-By: Claude Fable 5.1 <noreply at anthropic.com>
DeltaFile
+0-32mlir/lib/CAPI/Dialect/CMakeLists.txt
+4-6mlir/lib/Conversion/ArithAndMathToAPFloat/CMakeLists.txt
+0-9mlir/lib/Dialect/OpenACC/Utils/CMakeLists.txt
+9-0mlir/docs/ReleaseNotes.md
+4-4mlir/cmake/modules/AddMLIR.cmake
+0-6mlir/lib/CMakeLists.txt
+17-57123 files not shown
+18-386129 files

LLVM/project 9fbae24llvm/cmake/modules AddLLVM.cmake, mlir/cmake/modules AddMLIR.cmake

[MLIR][CMake] Add HEADER_LIBS and document CMake infrastructure

Add HEADER_LIBS as a flat list of literal library targets for generated headers
included without a link relationship. Resolve aliases and forward references,
accept imported libraries as already generated, follow nested HEADER_LIBS and
link interfaces, and reject missing, executable, utility, or generator-
expression entries with configure-time diagnostics. Cyclic header relationships
add only generator leaves and remain safe.

Record links added by mlir_target_link_libraries for the same deferred ordering.
Add explicit, commented HEADER_LIBS edges for every audited header-only include
that is not covered by mlir-generic-headers, and keep this facility a rare
layering escape hatch.

Document dialects, interfaces, passes, PDLL, generated documentation, library
visibility, C API aggregation, tools, exports, standalone consumers, and the
generated-file model. Add a CMake fixture covering cycles, aliases, conditions,
LINK_ONLY, imported and ignored items, post-hoc links, and invalid providers.


    [3 lines not shown]
DeltaFile
+340-0mlir/docs/CMakeInfrastructure.md
+150-0mlir/test/CMake/header-dependencies.test
+69-1mlir/cmake/modules/AddMLIR.cmake
+16-0mlir/lib/Dialect/LLVMIR/CMakeLists.txt
+8-3mlir/lib/Dialect/Shape/Transforms/CMakeLists.txt
+8-1llvm/cmake/modules/AddLLVM.cmake
+591-526 files not shown
+711-732 files

LLVM/project d71d489clang/lib/CIR/Interfaces CMakeLists.txt, mlir/lib/Dialect/Bufferization/IR CMakeLists.txt

[MLIR] Fix and classify generated-header dependencies

List the TableGen targets owned by each affected library, and add the missing
LLVM generated-header, SPIR-V source-generation, OpenACC/OpenMP generated-input,
and CIR operation/type prerequisites found by clean dependency audits. Correct
two stale copy-paste dependencies and the duplicate CIR link entry.

The Transforms pass declarations and dialect inliner interface are independent
of any dialect. Classify both under mlir-generic-headers, and associate the
inliner interface with MLIRTransformUtils, which publishes InliningUtils.h.
This gives every MLIR library the required ordering without repeated
header-only edges.

Assisted-by: Codex
Assisted-by: Claude Code
Co-Authored-By: Claude Fable 5.1 <noreply at anthropic.com>
DeltaFile
+11-0clang/lib/CIR/Interfaces/CMakeLists.txt
+7-0mlir/lib/Dialect/Transform/IR/CMakeLists.txt
+5-0mlir/lib/Dialect/GPU/Utils/CMakeLists.txt
+4-0mlir/lib/Target/SPIRV/CMakeLists.txt
+4-0mlir/lib/Dialect/GPU/CMakeLists.txt
+4-0mlir/lib/Dialect/Bufferization/IR/CMakeLists.txt
+35-027 files not shown
+76-733 files

LLVM/project 5dc1235llvm/lib/Target/PowerPC PPCISelLowering.cpp

PowerPC: Drop AllowFPOpFusion from isProfitableToHoist (#221347)
DeltaFile
+1-2llvm/lib/Target/PowerPC/PPCISelLowering.cpp
+1-21 files

LLVM/project 1a5d062llvm/cmake/modules TableGen.cmake AddLLVM.cmake

[CMake] Propagate generated-header prerequisites through link dependencies

Record each llvm_add_library DEPENDS list independently from the cumulative
LLVM_COMMON_DEPENDS value, and mark public TableGen targets as generated-header
prerequisites. A deferred traversal follows every direct non-INTERFACE link and
transitive link interface, resolves aliases, and conservatively extracts target
candidates from generator expressions.

Add only the resulting generated-header utility targets as compilation-order
prerequisites. Avoiding dependencies on provider libraries keeps mutually
linked static libraries acyclic and works across generators without waiting for
provider archives. Disabled generator-expression arms may generate extra
headers, but cannot introduce a library or object cycle.

Do not link provider libraries directly to object libraries. That approach was
reverted after an ODR regression when LLVM_LINK_LLVM_DYLIB was enabled. Cache
provider closures so repeated link relationships do not repeat the traversal.

Assisted-by: Codex

    [2 lines not shown]
DeltaFile
+199-14llvm/cmake/modules/AddLLVM.cmake
+6-0llvm/cmake/modules/TableGen.cmake
+205-142 files

LLVM/project afb42e8llvm/lib/Target/AMDGPU/AsmParser AMDGPUAsmParser.cpp

[AMDGPU] Rename the no-modifier operand predicate to *Target, NFC

Match the *Target naming used for the other alignment-aware operand
predicates.
DeltaFile
+48-48llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
+48-481 files