LLVM/project f007053llvm/include/llvm/Transforms/Vectorize LoopVectorize.h, llvm/lib/Transforms/Vectorize LoopVectorize.cpp

[LoopVectorize] Clear stale CycleAnalysis after vectorizing a loop (#215237)

After a6af12620778, LoopVectorizePass crashes when processing functions
with multiple loops. After vectorizing a loop, locks may be deleted, but
the cached CycleAnalysis still holds pointers to those blocks. If BFI is
later requested for a subsequent loop, it uses the stale CycleInfo and
crashes. Clear the cached CycleAnalysis after each loop vectorization so
that BlockFrequencyAnalysis recomputes it fresh if needed.

Fixes #215236

---------

Co-authored-by: Florian Hahn <flo at fhahn.com>
DeltaFile
+121-0llvm/test/Transforms/LoopVectorize/bfi-stale-crash.ll
+9-0llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
+1-0llvm/include/llvm/Transforms/Vectorize/LoopVectorize.h
+131-03 files

LLVM/project 02da539llvm/include/llvm/CodeGen MachineRegisterInfo.h, llvm/lib/CodeGen ModuloSchedule.cpp MachinePipeliner.cpp

CodeGen: Add getDefBlock helper (#216182)

A reasonable number of places check getVRegDef just to
return the parent block, so introduce a helper for it.

Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>
DeltaFile
+4-5llvm/lib/Target/AMDGPU/SIOptimizeVGPRLiveRange.cpp
+3-4llvm/lib/CodeGen/LiveVariables.cpp
+7-0llvm/include/llvm/CodeGen/MachineRegisterInfo.h
+2-2llvm/lib/Target/Hexagon/HexagonHardwareLoops.cpp
+2-2llvm/lib/CodeGen/MachinePipeliner.cpp
+1-2llvm/lib/CodeGen/ModuloSchedule.cpp
+19-154 files not shown
+23-1910 files

LLVM/project 3387214llvm/lib/CodeGen/SelectionDAG LegalizeFloatTypes.cpp, llvm/test/CodeGen/NVPTX fp128-conv-no-libcall-error.ll

DAG: Gracefully diagnose missing FP conversion libcalls when softening (#215765)

Diagnose the missing libcall and return poison instead.

Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>
DeltaFile
+70-0llvm/test/CodeGen/NVPTX/fp128-conv-no-libcall-error.ll
+46-14llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
+116-142 files

LLVM/project 4cd50b4mlir/cmake/modules MLIRCheckHardwareFeatures.cmake, mlir/test/Integration/Dialect/Linalg/CPU/ArmSME pack-unpack-mmt4d.mlir

[mlir][ArmSME] Enable native ArmSME integration testing on Darwin (#215296)

`MLIR_RUN_ARM_SME_TESTS=ON` could not exercise ArmSME integration tests
on real Apple Silicon SME hardware:

1. `check_hwcap` only detects CPU features via Linux's
`getauxval()`/`hwcap.h`, so it always required an emulator on Darwin,
even with real SME hardware present.
2. With `+sve` enabled, LLVM lowers `vector.vscale` to a bare
`cntd`/`cntb`, illegal outside streaming mode. Apple Silicon doesn't
expose base (non-streaming) SVE at EL0, so this traps (see #204853).
3. Some functions computing `vector.vscale` directly had no (or an
incorrectly unprefixed) streaming attribute, which is required for legal
`vscale` codegen and is silently dropped during `func.func` to
`llvm.func` conversion unless `llvm.`-prefixed (see #190864).
4. 6 tests force a specific streaming vector length via
`setArmSVLBits`/`setArmVLBits`, which isn't possible on real hardware
(SVL is fixed per core).


    [22 lines not shown]
DeltaFile
+35-1mlir/cmake/modules/MLIRCheckHardwareFeatures.cmake
+4-4mlir/test/Integration/Dialect/Linalg/CPU/ArmSME/pack-unpack-mmt4d.mlir
+2-2mlir/test/Integration/Dialect/Vector/CPU/ArmSME/ssve.mlir
+2-2mlir/test/Integration/Dialect/Vector/CPU/ArmSME/load-store-128-bit-tile.mlir
+1-1mlir/test/Integration/Dialect/Vector/CPU/ArmSME/vector-ops.mlir
+1-1mlir/test/Integration/Dialect/Vector/CPU/ArmSME/vector-load-store.mlir
+45-1116 files not shown
+66-2222 files

LLVM/project 08d3ff7llvm/lib/Target/LoongArch LoongArchISelLowering.cpp LoongArchLateBranchOpt.cpp, llvm/test/CodeGen/LoongArch jr-without-ra.ll branch-opt.ll

[LoongArch] Add late branch optimization pass

The patch adds a late optimization pass that replaces conditional
branches that can be statically evaluated with an unconditinal branch.

This pass is inspired by RISC-V's RISCVLateBranchOpt pass.
DeltaFile
+43-308llvm/test/CodeGen/LoongArch/branch-opt.ll
+122-0llvm/lib/Target/LoongArch/LoongArchLateBranchOpt.cpp
+46-72llvm/test/CodeGen/LoongArch/jr-without-ra.ll
+17-23llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/loongarch_generated_funcs.ll.nogenerated.expected
+17-23llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/loongarch_generated_funcs.ll.generated.expected
+14-0llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
+259-4266 files not shown
+275-43612 files

LLVM/project 51045a7llvm/test/CodeGen/LoongArch branch-opt.ll

[LoongArch][NFC] Add tests for constant branch optimization
DeltaFile
+408-0llvm/test/CodeGen/LoongArch/branch-opt.ll
+408-01 files

LLVM/project 17adf57llvm/lib/Target/LoongArch LoongArchFloat32InstrInfo.td, llvm/test/CodeGen/LoongArch pr215935.ll

[LoongArch] Fix selection of BRCOND with constant conditions (#216027)

LoongArch DAG instruction selection could fail to select
`LoongArchISD::BRCOND` when its condition was a constant integer. Add
patterns to lower constant zero and one conditions to `BEQZ` and `BNEZ`.

Co-authored-by: wanglei <wanglei at loongson.cn>
Fixes: https://github.com/llvm/llvm-project/issues/215935
DeltaFile
+50-0llvm/test/CodeGen/LoongArch/pr215935.ll
+3-0llvm/lib/Target/LoongArch/LoongArchFloat32InstrInfo.td
+53-02 files

LLVM/project fa23198llvm/include/llvm/IR PassInstrumentation.h IRUnitRef.h, llvm/include/llvm/Passes StandardInstrumentations.h

[PassInstrumentation] Replace llvm::Any with a tagged IRUnitRef. (NFC) (#215341)

llvm::Any currently requires heap allocations on every construction,
which is quite expensive for the use in PassInstrumentation.

Replace llvm::Any with a hand-rolled IRUnitRef wrapper that uses
PointerIntPair on platforms with 64 bit (or larger) pointers or a pair
of Kind/pointer on other platforms.

Unfortunately I don't think alignas(8) would work for Function (or any
Value*), as it uses `HungOffOperandsAllocMarker`.

Follow-up to https://github.com/llvm/llvm-project/pull/215120.

It further improves compile-time:

 * stage1-O3: -0.09%
 * stage1-ReleaseThinLTO: -0.09%
 * stage1-ReleaseLTO-g: -0.08%

    [4 lines not shown]
DeltaFile
+95-102llvm/lib/Passes/StandardInstrumentations.cpp
+103-0llvm/include/llvm/IR/IRUnitRef.h
+25-31llvm/unittests/IR/PassBuilderCallbacksTest.cpp
+20-27llvm/include/llvm/IR/PassInstrumentation.h
+23-22llvm/include/llvm/Passes/StandardInstrumentations.h
+14-21llvm/unittests/IR/DroppedVariableStatsIRTest.cpp
+280-20312 files not shown
+327-26818 files

LLVM/project b77c0b1llvm/lib/Target/RISCV RISCVISelLowering.cpp, llvm/test/CodeGen/RISCV/rvv float-round-conv.ll

[RISCV] Don't fold vector (fp_to_sint (ceil/floor/round/etc X)) if the inner op has multiple uses. (#216137)

If the inner operation needs to write FRM and the folded operation
does too, combining them may require another pair of FRM writes
unless we can get rid of the inner operation.

This may be expensive on CPUs without FRM renaming support.

Assisted-by: Claude
DeltaFile
+170-0llvm/test/CodeGen/RISCV/rvv/float-round-conv.ll
+7-0llvm/lib/Target/RISCV/RISCVISelLowering.cpp
+177-02 files

LLVM/project f6242fcmlir/python/mlir/dialects/transform structured.py, mlir/test/python/dialects transform_structured_ext.py

[mlir][python] Fix tile interchange ArrayAttr dispatch (#215996)

Dispatch `ArrayAttr` interchange values through `DynamicIndexList`.
DeltaFile
+22-5mlir/python/mlir/dialects/transform/structured.py
+21-0mlir/test/python/dialects/transform_structured_ext.py
+43-52 files

LLVM/project 668df40libc/src/__support common.h, libc/src/string/memory_utils/aarch64 inline_memcpy.h

[𝘀𝗽𝗿] initial version

Created using spr 1.3.7
DeltaFile
+21-21libc/src/string/memory_utils/x86_64/inline_memcpy.h
+16-12libc/src/string/memory_utils/arm/inline_memcpy.h
+10-7libc/src/string/memory_utils/generic/aligned_access.h
+10-1libc/src/__support/common.h
+5-3libc/src/string/memory_utils/aarch64/inline_memcpy.h
+3-4libc/src/string/memory_utils/generic/byte_per_byte.h
+65-485 files not shown
+83-5711 files

LLVM/project 6470314llvm/include/llvm/DWARFLinker AddressesMap.h, llvm/lib/DWARFLinker/Classic DWARFLinker.cpp

[DWARFLinker] Constrain a function's high_pc to its own symbol

Mach-O objects built with .subsections_via_symbols make every symbol an
independently placeable atom, and the linker packs atoms without
preserving the spacing they had in the object file.

I have an example where the compiler describes such a subprogram as
extending past its own atom. While it's debatable whether that's a good
idea, it's not invalid in the object file. However, once linked, it is
invalid.

We can make dsymutil resilient against this by looking at the size of
the symbol in the debug map and adjusting the end_pc. I'm doing so
conservatively so that only a collision is repaired. Already
overlapping/invalid ranges remain untouched.

rdar://184768778
DeltaFile
+76-0llvm/test/tools/dsymutil/Inputs/subprogram-high-pc-past-symbol.s
+72-0llvm/test/tools/dsymutil/Inputs/subprogram-high-pc-past-symbol-dwarf2.s
+57-0llvm/test/tools/dsymutil/subprogram-high-pc-past-symbol.test
+33-8llvm/include/llvm/DWARFLinker/AddressesMap.h
+25-6llvm/tools/dsymutil/DwarfLinkerForBinary.h
+21-2llvm/lib/DWARFLinker/Classic/DWARFLinker.cpp
+284-162 files not shown
+309-208 files

LLVM/project bcfd83flldb/source/Core DynamicLoader.cpp, lldb/source/Plugins/ObjectFile/Mach-O ObjectFileMachO.cpp

Address Jason's feedback
DeltaFile
+6-4lldb/source/Core/DynamicLoader.cpp
+3-2lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
+9-62 files

LLVM/project 9c90656lldb/include/lldb/Symbol SymbolLocator.h, lldb/source/Core DynamicLoader.cpp

[lldb] Search for a corefile's images before loading any of them

A userland or kernel corefile can list hundreds of images, and searching for
one can shell out to a symbol server or fetch over the network. Searching for
them one at a time is where loading such a corefile spends its time.

Add a batch form of SymbolLocator::Locate that runs the searches on the
debugger's thread pool, gated on target.parallel-module-load. Results come
back in the order the requests were given, since that order decides the
Target's module order. Only the results are ordered, and anything a search
reports to the user arrives in whatever order the searches finish in.

Only the plugin searches run concurrently, so a platform hook does not have to
be thread safe to take part, and reading a binary's UUID out of memory stays
on the calling thread.

Setting up a platform binary can replace the Target's platform and dynamic
loader, and now happens for every image before any of them is searched for, so
the platform a corefile asks for is the one all of its images are searched

    [4 lines not shown]
DeltaFile
+141-4lldb/unittests/Symbol/SymbolLocatorTest.cpp
+78-63lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
+76-11lldb/source/Symbol/SymbolLocator.cpp
+32-20lldb/source/Core/DynamicLoader.cpp
+25-0lldb/test/API/macosx/lc-note/multiple-binary-corefile/TestMultipleBinaryCorefile.py
+19-0lldb/include/lldb/Symbol/SymbolLocator.h
+371-986 files

LLVM/project 2317574llvm/include/llvm/ExecutionEngine/Orc/Shared OrcRTBridge.h, llvm/lib/ExecutionEngine/Orc/Shared OrcRTBridge.cpp

[ORC] Drop SimpleExecutorMemoryManagerSymbolNames struct (#216231)

Remove the SimpleExecutorMemoryManagerSymbolNames struct and the
orc_rt_SimpleNativeMemoryMapSPSSymbols global. The sps::MemMgr*CIName
constants in GenericMemoryManagerProxySpecs.h are now the single source
of truth for the SimpleNativeMemoryMap controller-interface names, used
by both the controller-side proxies and the executor-side
SimpleExecutorMemoryManager bootstrap registration (as
OrcRTBootstrap.cpp already does for the memory-access wrappers).

No functional change: the name strings are identical to those previously
held in orc_rt_SimpleNativeMemoryMapSPSSymbols.
DeltaFile
+0-15llvm/include/llvm/ExecutionEngine/Orc/Shared/OrcRTBridge.h
+8-6llvm/lib/ExecutionEngine/Orc/TargetProcess/SimpleExecutorMemoryManager.cpp
+7-6llvm/unittests/ExecutionEngine/Orc/EPCGenericJITLinkMemoryManagerTest.cpp
+0-9llvm/lib/ExecutionEngine/Orc/Shared/OrcRTBridge.cpp
+15-364 files

LLVM/project 4054122clang/docs/analyzer checkers.md, clang/docs/analyzer/developer-docs InitializerLists.md

[docs][clang] Finish MyST migration for analyzer docs
DeltaFile
+210-198clang/docs/analyzer/user-docs/Annotations.md
+32-33clang/docs/analyzer/developer-docs/InitializerLists.md
+21-22clang/docs/analyzer/user-docs/CommandLineUsage.md
+15-16clang/docs/analyzer/user-docs/CrossTranslationUnit.md
+12-13clang/docs/analyzer/checkers.md
+5-6clang/docs/analyzer/user-docs/UsingWithXCode.md
+295-2889 files not shown
+311-31315 files

LLVM/project 885e914llvm/test/CodeGen/AMDGPU amdgcn.bitcast.1024bit.ll, llvm/test/CodeGen/AMDGPU/GlobalISel legalize-load-private.mir legalize-load-local.mir

Merge branch 'main' into users/schrodingerzhu/libc-use-tlsf-freestore
DeltaFile
+10,726-10,582llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-global.mir
+13,767-6,856llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-sve-instructions.s
+9,385-9,006llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
+8,247-8,223llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-local.mir
+6,797-6,814llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-private.mir
+13,068-0llvm/test/CodeGen/RISCV/GlobalISel/atomicrmw-max-min-umax-umin.ll
+61,990-41,48118,054 files not shown
+1,136,473-690,03718,060 files

LLVM/project 8e50ac6llvm/include/llvm/ProfileData SampleProfWriter.h, llvm/lib/ProfileData SampleProfWriter.cpp

[ProfileData] Avoid magic layout indices in SampleProfileWriter (NFC) (#215981)

This patch removes hardcoded section layout indices in
SampleProfileWriterExtBinary in favor of finding the first unwritten
matching entry in SectionHdrLayout.

Previously, writeDefaultLayout and writeCtxSplitLayout passed magic
integer indices to writeOneSection to specify the position of each
section in SectionHdrLayout.

This patch introduces findUnwrittenEntry to dynamically look up the
matching unwritten section entry in SectionHdrLayout and determine its
ordinal among sections of the same type.  This allows
writeDefaultLayout and writeCtxSplitLayout to iterate over declarative
arrays of sections without magic indices, and allows removing the
index-based addSectionFlag overload.

Assisted-by: Antigravity
DeltaFile
+34-43llvm/lib/ProfileData/SampleProfWriter.cpp
+21-20llvm/include/llvm/ProfileData/SampleProfWriter.h
+55-632 files

LLVM/project 0a110d7llvm/include/llvm/ProfileData SampleProf.h, llvm/lib/ProfileData SampleProfWriter.cpp SampleProf.cpp

[ProfileData] Remove SampleSorter (NFC) (#215941)

This patch removes SampleSorter in favor of direct iteration over
BodySamples and CallsiteSamples.

Originally, BodySamples and CallsiteSamples used DenseMap.  Because
DenseMap does not guarantee iteration order, SampleSorter was
introduced to sort samples by LineLocation on demand when printing or
writing text profiles.

In December 2015, commit 10cf124bb920 switched BodySamples and
CallsiteSamples from DenseMap to std::map to reduce memory usage, but
SampleSorter was retained.  Since std::map is already ordered by
LineLocation, SampleSorter is redundant.

Assisted-by: Antigravity
DeltaFile
+45-0llvm/test/tools/llvm-profdata/sample-profile-sort.test
+0-23llvm/include/llvm/ProfileData/SampleProf.h
+13-0llvm/test/tools/llvm-profdata/Inputs/sample-profile-sort.proftext
+3-9llvm/lib/ProfileData/SampleProf.cpp
+2-9llvm/lib/ProfileData/SampleProfWriter.cpp
+63-415 files

LLVM/project 11377d6clang/docs Block-ABI-Apple.md Block-ABI-Apple.rst, clang/docs/CIR CleanupAndEHDesign.md CleanupAndEHDesign.rst

Merge rm-toc
DeltaFile
+0-2,671clang/docs/AutomaticReferenceCounting.rst
+2,588-0clang/docs/AutomaticReferenceCounting.md
+0-1,628clang/docs/CIR/CleanupAndEHDesign.rst
+1,598-0clang/docs/CIR/CleanupAndEHDesign.md
+0-941clang/docs/Block-ABI-Apple.rst
+917-0clang/docs/Block-ABI-Apple.md
+5,103-5,240295 files not shown
+23,421-11,410301 files

LLVM/project 5f33e4fllvm/lib/ProfileData InstrProf.cpp InstrProfReader.cpp, llvm/test/tools/llvm-profdata raw-magic-but-no-header.test misaligned-binary-ids-size.test

Reland "[Profile] Add a more descriptive message to the bad_header error" (#216230)

At the moment, the raw profile reader diagnoses different problem with
the same error message "invalid instrumentation profile data (file
header is corrupt)". On AIX, we had users report such problems thinking
it's a compiler bug, while the real problem was truncated profiles. The
particular case they hit was the condition

[here](https://github.com/llvm/llvm-project/blob/668803fa73bdf2f8d095162a1f81c000d18458c9/llvm/lib/ProfileData/InstrProfReader.cpp#L652):
```
Error RawInstrProfReader<IntPtrT>::readHeader(...) {
  ...
  if (Start + ValueDataOffset > DataBuffer->getBufferEnd())
    return error(instrprof_error::bad_header);
```
This could indicate a corrupted header (large garbage values for some
sections) or a truncated file.
I figured if we print the values and sizes we read in the header, it
will give the user more info.

    [16 lines not shown]
DeltaFile
+39-6llvm/lib/ProfileData/InstrProfReader.cpp
+44-0llvm/test/tools/llvm-profdata/truncated-profile.test
+15-5llvm/test/tools/llvm-profdata/insufficient-binary-ids-size.test
+2-2llvm/test/tools/llvm-profdata/misaligned-binary-ids-size.test
+4-0llvm/lib/ProfileData/InstrProf.cpp
+1-1llvm/test/tools/llvm-profdata/raw-magic-but-no-header.test
+105-141 files not shown
+106-147 files

LLVM/project b140b12clang/docs Block-ABI-Apple.md Block-ABI-Apple.rst, clang/docs/CIR CleanupAndEHDesign.md CleanupAndEHDesign.rst

Merge main
DeltaFile
+0-2,671clang/docs/AutomaticReferenceCounting.rst
+2,588-0clang/docs/AutomaticReferenceCounting.md
+0-1,628clang/docs/CIR/CleanupAndEHDesign.rst
+1,598-0clang/docs/CIR/CleanupAndEHDesign.md
+0-941clang/docs/Block-ABI-Apple.rst
+917-0clang/docs/Block-ABI-Apple.md
+5,103-5,240295 files not shown
+23,421-11,410301 files

LLVM/project ebaf063bolt/test/RISCV reloc-got.s

[BOLT][RISCV][NFC] Add a test for GOT references with a non-adjacent load (#215991)

The RISC-V psABI pairs the two halves of a PC-relative address through
the label that the %pcrel_lo relocation refers to, so the load holding
the low part does not have to follow the AUIPC directly.

Pin down the current behavior in that case. All three references name
the same symbol and should therefore resolve to the same GOT entry, but
only the first one does, because BOLT takes the low part from whatever
instruction follows the AUIPC: an unrelated ADDI in the second case, and
the terminator of the basic block in the third. The next commit fixes
this and updates the checks.
DeltaFile
+34-3bolt/test/RISCV/reloc-got.s
+34-31 files

LLVM/project 5e63f2cllvm/include/llvm/Transforms/Utils Local.h, llvm/lib/Transforms/Utils Local.cpp

[DebugInfo][NFC] Document debug record salvage (#215907)

Document the order salvageDebugInfoForDbgValues works in: a dbg.assign
address before its variable location, stop once a variable location
can't be salvaged, and kill every supplied record when none of them were
processed.

salvageDebugInfo is documented on both its declaration and its
definition, keep the header copy and update it.

No regressions on check-llvm.
DeltaFile
+13-6llvm/include/llvm/Transforms/Utils/Local.h
+6-5llvm/lib/Transforms/Utils/Local.cpp
+19-112 files

LLVM/project 26d1b4futils/bazel/llvm-project-overlay/mlir BUILD.bazel

[Bazel] Fixes 39f708b (#216214)

This fixes 39f708b2c66109308c779bea31cd073a77042234 (#211880).

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

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

LLVM/project e76d237llvm/include/llvm/ExecutionEngine/Orc EPCGenericJITLinkMemoryManager.h, llvm/include/llvm/ExecutionEngine/Orc/RTBridge/SPS GenericMemoryManagerProxySpecs.h

[ORC] Realign EPCGenericJITLinkMemoryManager Create API (#216216)

Bring EPCGenericJITLinkMemoryManager into alignment with
EPCGenericMemoryAccess and EPCGenericDylibManager: a Bindings
constructor plus static Create methods that build the bindings from the
ProxySpecs using the default controller-interface names.
Create(JITDylib&) resolves the SimpleNativeMemoryMap symbols in the
given JITDylib; Create(ExecutionSession&) uses the bootstrap JITDylib.
Clients targeting a different protocol can construct their own Bindings
directly.

This replaces the previous scheme where Create took a
SimpleExecutorMemoryManagerSymbolNames override.
DeltaFile
+26-34llvm/unittests/ExecutionEngine/Orc/EPCGenericJITLinkMemoryManagerTest.cpp
+13-20llvm/lib/ExecutionEngine/Orc/EPCGenericJITLinkMemoryManager.cpp
+8-10llvm/include/llvm/ExecutionEngine/Orc/EPCGenericJITLinkMemoryManager.h
+6-0llvm/include/llvm/ExecutionEngine/Orc/RTBridge/SPS/GenericMemoryManagerProxySpecs.h
+53-644 files

LLVM/project f33323ellvm/lib/ProfileData InstrProf.cpp InstrProfReader.cpp, llvm/test/tools/llvm-profdata raw-magic-but-no-header.test misaligned-binary-ids-size.test

Revert "[Profile] Add a more descriptive message to the bad_header error (#211281)" (#216212)

This reverts commit 806dbe95e7f05b12afd1c7cc579c42e101921199.

insufficient-binary-ids-size.test and truncated-profile.test are
failing on macOS because BSD printf does not support \x hex escapes.

Here are reports of the failures:

https://github.com/llvm/llvm-project/pull/211281#issuecomment-5287429387

https://github.com/llvm/llvm-project/actions/runs/31746112114/job/94601002464?pr=215941
DeltaFile
+6-39llvm/lib/ProfileData/InstrProfReader.cpp
+0-44llvm/test/tools/llvm-profdata/truncated-profile.test
+5-15llvm/test/tools/llvm-profdata/insufficient-binary-ids-size.test
+0-4llvm/lib/ProfileData/InstrProf.cpp
+2-2llvm/test/tools/llvm-profdata/misaligned-binary-ids-size.test
+1-1llvm/test/tools/llvm-profdata/raw-magic-but-no-header.test
+14-1051 files not shown
+14-1067 files

LLVM/project bea2bd1libc/test/src/semaphore sem_unlink_test.cpp sem_open_test.cpp

[libc][Semaphore] Fix tests - remove APPEND_LIBC_TEST macro uses. (#216219)

APPEND_LIBC_TEST was removed in abeb492322c12860a4533426208d6d26155cd0bc
, remove it from the newly added semaphore tests as well.
DeltaFile
+5-6libc/test/src/semaphore/sem_open_test.cpp
+2-3libc/test/src/semaphore/sem_unlink_test.cpp
+7-92 files

LLVM/project 3d3c042clang/lib/CIR/CodeGen CIRGenExprScalar.cpp, clang/test/CIR/CodeGen fp-contract-on-pragma.cpp fp-contract.c

[CIR][CodeGen] Emit cir.fmuladd for FP-contracted mul+add/sub (#215382)

Ports the FP-contraction fusion from classic CodeGen (`tryEmitFMulAdd` /
`buildFMulAdd`) to CIRGen. Under `-ffp-contract=on / fast`, `a * b + c`
and `a * b - c` fuse into `cir.fmuladd` (with the addend negated for the sub
form) instead of separate `cir.fmul` + `cir.fadd/fsub`.

---------

Co-authored-by: Claude Opus 4.8 (1M context) <noreply at anthropic.com>
DeltaFile
+215-0clang/test/CIR/CodeGen/fp-contract-pragma.cpp
+143-0clang/test/CIR/CodeGen/fp-contract.c
+122-0clang/test/CIR/CodeGen/fp-contract-on-pragma.cpp
+96-0clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
+576-04 files

LLVM/project 1200fe6mlir/lib/Dialect/XeGPU/Transforms XeGPUSgToLaneDistribute.cpp, mlir/test/Dialect/XeGPU sg-to-lane-distribute-unit.mlir

[mlir][xegpu] Lower lane_data repack convert_layout to lane_shuffle (#210837)

Extend the SgToLaneConvertLayout pattern to lower a convert_layout that
only repacks lane_data between round-robin and contiguous form (keeping
lane_layout and order unchanged) into xegpu.lane_shuffle. Each lane
keeps the same elements and total bits along the repacked dimension, but
their assignment to lanes changes, so the data is moved across lanes
with a bit-preserving bitcast_shuffle.

assisted-by-claude

---------

Co-authored-by: Claude Opus 4.8 (1M context) <noreply at anthropic.com>
DeltaFile
+141-0mlir/lib/Dialect/XeGPU/Transforms/XeGPUSgToLaneDistribute.cpp
+81-0mlir/test/Dialect/XeGPU/sg-to-lane-distribute-unit.mlir
+222-02 files