LLVM/project fc77e9dllvm/include/llvm/ObjectYAML COFFYAML.h yaml2obj.h, llvm/lib/ObjectYAML COFFEmitter.cpp yaml2obj.cpp

[yaml2obj] Apply output size limit to COFF (#209695)

Route the yaml2obj max-size setting through the COFF emitter and
buffer COFF output with ContiguousBlobAccumulator. This rejects
oversized YAML descriptions consistently with ELF.
DeltaFile
+130-138llvm/lib/ObjectYAML/COFFEmitter.cpp
+22-0llvm/test/tools/yaml2obj/COFF/output-limit.yaml
+5-5llvm/tools/yaml2obj/yaml2obj.cpp
+5-1llvm/include/llvm/ObjectYAML/COFFYAML.h
+1-1llvm/include/llvm/ObjectYAML/yaml2obj.h
+1-1llvm/lib/ObjectYAML/yaml2obj.cpp
+164-1466 files

LLVM/project 503c447llvm/include/llvm/ADT GenericCycleInfo.h GenericCycleImpl.h, llvm/lib/Transforms/Utils FixIrreducible.cpp

[CycleInfo] Drop GraphTraits and df_iterator. NFC (#209847)

depth_first uses SmallPtrSet visited-set, which is pure overhead on a
tree. Replace them with explicit child-stack walks and delete the unused
GraphTraits specializations to prevent misuse.
DeltaFile
+6-46llvm/include/llvm/ADT/GenericCycleInfo.h
+29-17llvm/include/llvm/ADT/GenericCycleImpl.h
+5-1llvm/lib/Transforms/Utils/FixIrreducible.cpp
+40-643 files

LLVM/project fcef475llvm/lib/Target/Mips MipsDelaySlotFiller.cpp, llvm/test/CodeGen/Mips fake-use.ll

Revert "[Mips] Did not put fake_use into delay slot (#201537)"

This reverts commit 071b86797f62e827bf18e83667b0d1875a5ee446.
DeltaFile
+8-9llvm/lib/Target/Mips/MipsDelaySlotFiller.cpp
+0-15llvm/test/CodeGen/Mips/fake-use.ll
+8-242 files

LLVM/project 31b3a0amlir/include/mlir/Dialect/EmitC/IR EmitC.td, mlir/lib/Target/Cpp TranslateToCpp.cpp

[mlir][emitc] Add increment and decrement ops (#208648)
DeltaFile
+75-0mlir/include/mlir/Dialect/EmitC/IR/EmitC.td
+47-1mlir/lib/Target/Cpp/TranslateToCpp.cpp
+35-0mlir/test/Target/Cpp/common-cpp.mlir
+16-0mlir/test/Dialect/EmitC/invalid_ops.mlir
+9-0mlir/test/Dialect/EmitC/ops.mlir
+182-15 files

LLVM/project 1f9891cllvm/include/llvm/MC MCSchedule.h

[MCSchedule][NFC] Use constexpr for static constants (#209934)

Hopefully fixes a compilation error seen in llvm/llvm-project#203139.
DeltaFile
+6-6llvm/include/llvm/MC/MCSchedule.h
+6-61 files

LLVM/project b07a386llvm/lib/Target/AArch64 AArch64ISelLowering.h, llvm/test/CodeGen/AArch64 sve-fixed-length-masked-64-128bit-loads.ll sve-fixed-length-masked-64-128bit-stores.ll

Address review comments
DeltaFile
+116-5llvm/test/CodeGen/AArch64/sve-fixed-length-masked-64-128bit-loads.ll
+113-5llvm/test/CodeGen/AArch64/sve-fixed-length-masked-64-128bit-stores.ll
+2-0llvm/lib/Target/AArch64/AArch64ISelLowering.h
+231-103 files

LLVM/project 071b867llvm/lib/Target/Mips MipsDelaySlotFiller.cpp, llvm/test/CodeGen/Mips fake-use.ll

[Mips] Did not put fake_use into delay slot (#201537)

When compiling with -fextend-variable-liveness, the compiler generates FAKE_USE instructions that are not handled by the Mips assembly printer. This causes a fatal error: "Unsupported instruction : <MCInst 44 >" when using clang with -target mipsel-gnu-linux -Og.

The issue occurs because MipsDelaySlotFiller attempts to process FAKE_USE instructions (which are meta instructions) when searching for instructions to fill delay slots, eventually leading to the assembly printer trying to emit an unsupported instruction.

This patch fixes the crash by treating meta instructions (including FAKE_USE) the same way as debug instructions in the delay slot filler's searchRange function. Meta instructions should be skipped during delay slot filling.

Specifically, the fix:
1.Moves the terminateSearch check before debug/meta instruction checks to ensure proper search termination.
2.Adds isMetaInstruction() check alongside existing isDebugInstr() and isJumpTableDebugInfo() checks.

Fix #198835.
DeltaFile
+9-8llvm/lib/Target/Mips/MipsDelaySlotFiller.cpp
+15-0llvm/test/CodeGen/Mips/fake-use.ll
+24-82 files

LLVM/project cc79c8cclang/lib/CIR/CodeGen CIRGenBuiltinRISCV.cpp, clang/lib/CIR/Lowering/DirectToLLVM LowerToLLVMIR.cpp LowerToLLVM.cpp

[CIR][RISCV] Support Zihintntl builtins (#205468)

Include __builtin_riscv_ntl_load and __builtin_riscv_ntl_store.
DeltaFile
+127-0clang/test/CIR/CodeGenBuiltins/RISCV/riscv-zihintntl.c
+31-3clang/lib/CIR/CodeGen/CIRGenBuiltinRISCV.cpp
+25-0clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVMIR.cpp
+4-0clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
+187-34 files

LLVM/project 047f127lldb/test/API/tools/lldb-dap/io TestDAP_io.py, lldb/test/API/tools/lldb-dap/launch/io DAP_launch_io.py TestDAP_launch_io_integratedTerminal.py

[lldb-dap] Migrate DAP io tests. (#209538)

the launch_io* tests now allow testing args, input, and environment
together.

Previously, these test configurations were mutually exclusive. They are
now combined, removing the need to create a separate test for each input
source.

Migrated Tests:
- TestDAP_io.py
- TestDAP_launch_io_integratedTerminal.py
- TestDAP_launch_io_internalConsole.py
DeltaFile
+113-143lldb/test/API/tools/lldb-dap/launch/io/DAP_launch_io.py
+10-34lldb/test/API/tools/lldb-dap/launch/io/TestDAP_launch_io_integratedTerminal.py
+28-15lldb/test/API/tools/lldb-dap/launch/io/main.cpp
+8-26lldb/test/API/tools/lldb-dap/launch/io/TestDAP_launch_io_internalConsole.py
+7-18lldb/test/API/tools/lldb-dap/io/TestDAP_io.py
+166-2365 files

LLVM/project ac0f83dbolt/docs profiles.md, bolt/include/bolt/Profile DataReader.h

[𝘀𝗽𝗿] initial version

Created using spr 1.3.7
DeltaFile
+59-13bolt/lib/Profile/DataReader.cpp
+71-0bolt/test/X86/profile-symbols-mode.s
+22-0bolt/docs/profiles.md
+11-1bolt/include/bolt/Profile/DataReader.h
+163-144 files

LLVM/project d4676e6clang/test/AST/ByteCode builtin-object-size.cpp

[clang][bytecode] long double on arm64 darwin is 8 bytes (NFC) (#209930)

This test was failing on arm64 darwin targets. Generalise the #if so
that the win32 branch is also taken by arm64 darwin.

rdar://182340494
DeltaFile
+1-1clang/test/AST/ByteCode/builtin-object-size.cpp
+1-11 files

LLVM/project f020acfcompiler-rt/lib/tsan/rtl tsan_platform.h tsan_platform_linux.cpp

[tsan] Add 47-bit VMA mapping for linux/aarch64 (#205949)

Add 47-bit VMA mapping to support TSan on the latest Android
emulator(16kb page size and 47 va bits).

Fixes https://github.com/llvm/llvm-project/issues/151931

Android kernel config:
https://android.googlesource.com/kernel/build/+/refs/heads/main-kernel-2026/kleaf/impl/defconfig/arm64_16k_defconfig#6
DeltaFile
+34-0compiler-rt/lib/tsan/rtl/tsan_platform.h
+14-14compiler-rt/lib/tsan/rtl/tsan_platform_linux.cpp
+48-142 files

LLVM/project 85b4fb6bolt/docs profiles.md, bolt/include/bolt/Profile DataReader.h

[𝘀𝗽𝗿] initial version

Created using spr 1.3.7
DeltaFile
+59-13bolt/lib/Profile/DataReader.cpp
+71-0bolt/test/X86/profile-symbols-mode.s
+22-0bolt/docs/profiles.md
+11-1bolt/include/bolt/Profile/DataReader.h
+163-144 files

LLVM/project 43a2ae1bolt/docs profiles.md, bolt/include/bolt/Profile DataReader.h

[𝘀𝗽𝗿] initial version

Created using spr 1.3.7
DeltaFile
+59-13bolt/lib/Profile/DataReader.cpp
+71-0bolt/test/X86/profile-symbols-mode.s
+22-0bolt/docs/profiles.md
+11-1bolt/include/bolt/Profile/DataReader.h
+163-144 files

LLVM/project 91ad002bolt/docs profiles.md, bolt/include/bolt/Profile DataReader.h

[𝘀𝗽𝗿] initial version

Created using spr 1.3.7
DeltaFile
+59-13bolt/lib/Profile/DataReader.cpp
+71-0bolt/test/X86/profile-symbols-mode.s
+22-0bolt/docs/profiles.md
+11-1bolt/include/bolt/Profile/DataReader.h
+163-144 files

LLVM/project 93665c6bolt/docs profiles.md, bolt/include/bolt/Profile DataReader.h

[𝘀𝗽𝗿] initial version

Created using spr 1.3.7
DeltaFile
+59-13bolt/lib/Profile/DataReader.cpp
+71-0bolt/test/X86/profile-symbols-mode.s
+22-0bolt/docs/profiles.md
+11-1bolt/include/bolt/Profile/DataReader.h
+163-144 files

LLVM/project 2ac025bclang/lib/CodeGen CodeGenFunction.cpp

Make Multiversion Function Resolvers set CurFn (#209918)

Commit #197789 manages to try to reference CurFn while generating a
trap, which some of the multiversion resolvers do. This patch makes sure
we set it to the resolver so we are inserting stuff into the right
places.

This somewhat shockingly causes no tests to fail, but it SHOULD stop the
UBSan failures.
DeltaFile
+2-1clang/lib/CodeGen/CodeGenFunction.cpp
+2-11 files

LLVM/project ff1a4d3llvm/test/TableGen HwModeEncodeAPInt.td CodeEmitterBaseEncodingPool.td, llvm/utils/TableGen CodeEmitterGen.cpp

[TableGen] Pool duplicate code-emitter base encodings (#202619)

Pool duplicate multiword instruction base encodings across the default
encoding table and all hardware-mode encoding tables as unique `APInt`
rows, then emit a pointer-free fixed-width `uint64_t` row table and one
smallest-width opcode-to-row index table per mode. Use the pooled
representation only when the combined values and indices are smaller
than the original tables.

On a Release build, the AMDGPU base-encoding payload shrinks by 440,888
bytes, `llvm-mc` and `llc` each shrink by 445,632 bytes, and the LLVM
driver shrinks by 429,120 bytes.

All 421 TableGen tests passed.

Work towards #202616

AI tool disclosure: Co-authored with OpenAI Codex.
DeltaFile
+144-41llvm/utils/TableGen/CodeEmitterGen.cpp
+43-35llvm/test/TableGen/HwModeEncodeAPInt.td
+45-0llvm/test/TableGen/CodeEmitterBaseEncodingPool.td
+232-763 files

LLVM/project f9bda52llvm/lib/Target/X86 X86InstrInfo.cpp, llvm/test/CodeGen/X86 bmi.ll bmi2.ll

[X86][APX] Add EVEX BMI opcodes to isDefConvertible (#209699)

To remove redundant test instructions.

Fixes: #207912

Assisted-by: Claude Sonnet 4.6
DeltaFile
+35-30llvm/lib/Target/X86/X86InstrInfo.cpp
+3-30llvm/test/CodeGen/X86/bmi.ll
+0-1llvm/test/CodeGen/X86/bmi2.ll
+38-613 files

LLVM/project 6708414lldb/test/API/tools/lldb-dap/breakpoint TestDAP_setBreakpoints.py TestDAP_logpoints.py

[lldb-dap] Migrate lldb-dap tests in `lldb-dap/breakpoint` (#208166)

migrate breakpointLocations, logpoints, setBreakpoints
exceptionBreakpoints and functionBreakpoints test
DeltaFile
+234-226lldb/test/API/tools/lldb-dap/breakpoint/TestDAP_setBreakpoints.py
+120-185lldb/test/API/tools/lldb-dap/breakpoint/TestDAP_logpoints.py
+88-95lldb/test/API/tools/lldb-dap/breakpoint/TestDAP_setFunctionBreakpoints.py
+56-67lldb/test/API/tools/lldb-dap/breakpoint/TestDAP_breakpointLocations.py
+21-13lldb/test/API/tools/lldb-dap/breakpoint/TestDAP_setExceptionBreakpoints.py
+519-5865 files

LLVM/project 5bf860dclang/include/clang/Basic DiagnosticParseKinds.td, clang/lib/Parse ParseStmt.cpp ParseExprCXX.cpp

[clang][NFC] Update diagnostic handling for C2y compatibility in parser
DeltaFile
+1-6clang/include/clang/Basic/DiagnosticParseKinds.td
+1-3clang/lib/Parse/ParseStmt.cpp
+1-3clang/lib/Parse/ParseExprCXX.cpp
+3-123 files

LLVM/project b6059b6llvm/include/llvm/CodeGen TargetSubtargetInfo.h, llvm/lib/CodeGen EarlyIfConversion.cpp

[MCSched] Allow tuning LoadLatency/MispredictPenalty (#203139)

This means an existing scheduling model can be tweaked at runtime to
support an unknown processor rather than adding an entirely new model.

This is done with TargetSubtargetInfo so that specific targets can
override the relevant callbacks and the mechanism can eventually work
with LTO.
DeltaFile
+74-0llvm/test/CodeGen/RISCV/sched-model-mispredict-penalty.ll
+43-0llvm/test/CodeGen/RISCV/sched-model-load-latency.ll
+28-1llvm/lib/Target/RISCV/RISCVSubtarget.cpp
+7-8llvm/lib/CodeGen/EarlyIfConversion.cpp
+12-0llvm/include/llvm/CodeGen/TargetSubtargetInfo.h
+6-5llvm/lib/Target/X86/X86CmovConversion.cpp
+170-1411 files not shown
+191-3117 files

LLVM/project 4b5b614llvm/lib/Target/WebAssembly WebAssemblyFixBrTableDefaults.cpp

rebase

Created using spr 1.3.7
DeltaFile
+1-1llvm/lib/Target/WebAssembly/WebAssemblyFixBrTableDefaults.cpp
+1-11 files

LLVM/project ba2be3foffload/test lit.cfg

[Offload][AMDGPU] Make compiler-rt libs visible (#209849)

Fixed the failure in offload test after
https://github.com/llvm/llvm-project/pull/209765
DeltaFile
+15-1offload/test/lit.cfg
+15-11 files

LLVM/project 18d2b47llvm/include/llvm/MC MCObjectFileInfo.h

[NFC] Remove unused MCObjectFileInfo methods (#209906)
DeltaFile
+0-15llvm/include/llvm/MC/MCObjectFileInfo.h
+0-151 files

LLVM/project 1b5eb9blibc/src/__support freelist_heap.h, libc/src/stdlib malloc_usable_size.h CMakeLists.txt

[libc][baremetal] expose `malloc_usable_size` from freelist heap (#208337)

Expose the `malloc_usable_size` API by reconstruct the `BlockRef` from a
pointer to the head of user payload. The operation is cheap as we only
do a query to the block header to obtain the metadata.

Assisted-by: Gemini based automation tools (human-in-the-loop)
DeltaFile
+26-0libc/src/stdlib/baremetal/malloc_usable_size.cpp
+26-0libc/src/stdlib/malloc_usable_size.h
+20-0libc/test/src/__support/freelist_heap_test.cpp
+11-1libc/src/__support/freelist_heap.h
+10-0libc/src/stdlib/baremetal/CMakeLists.txt
+6-0libc/src/stdlib/CMakeLists.txt
+99-13 files not shown
+102-19 files

LLVM/project f7c4b05flang-rt/lib/runtime cudadevice.f90

[flang][cuda] Add PURE to time intrinsic so it can be used in DO CONCURRENT (#209901)
DeltaFile
+3-3flang-rt/lib/runtime/cudadevice.f90
+3-31 files

LLVM/project 0711ee1lld/docs WebAssembly.md conf.py, lld/docs/ELF warn_backrefs.md

[docs] Finish MyST migration for selected docs
DeltaFile
+89-129lld/docs/WebAssembly.md
+20-0lld/docs/conf.py
+9-10lld/docs/ELF/warn_backrefs.md
+7-11lld/docs/index.md
+0-15lld/docs/windows_support.md
+7-6lld/docs/ReleaseNotes.md
+132-1712 files not shown
+141-1808 files

LLVM/project e5c19b0bolt/lib/Core BinaryContext.cpp, bolt/test/X86 jump-table-failed-reanalysis.s

[BOLT] Skip function instead of aborting on jump table analysis failure (#206742)

`analyzeJumpTable()` runs twice on a candidate jump table: once from
`analyzeMemoryAt` while the referencing function is being disassembled,
and
again from `populateJumpTables()` after disassembly. The second run is
stricter,
because the check that an entry points at an instruction
(`getInstructionAtOffset`) only fires once the target function reaches
the
`Disassembled` state. A table can therefore be accepted the first time
and
rejected the second -- for instance when an entry lands at an address
with no
instruction (a symbol whose declared size is larger than its
disassembled
extent). `populateJumpTables()` reached `llvm_unreachable("jump table
heuristic
failure")` and aborted in that case.

    [14 lines not shown]
DeltaFile
+51-0bolt/test/X86/jump-table-failed-reanalysis.s
+13-1bolt/lib/Core/BinaryContext.cpp
+64-12 files

LLVM/project c63bfe5flang/include/flang/Support Fortran-features.h, flang/lib/Lower Bridge.cpp

[flang][cuda] Decouple CUFInit from CUDA language features (#209846)

In some cases, we do not want to emit the CUFInit function in the main.
Add a specific language feature for it so we can decouple it.
DeltaFile
+7-0flang/tools/bbc/bbc.cpp
+4-2flang/lib/Lower/Bridge.cpp
+2-1flang/test/Lower/CUDA/cuda-init.cuf
+1-1flang/include/flang/Support/Fortran-features.h
+1-0flang/lib/Support/Fortran-features.cpp
+15-45 files