LLVM/project c88de82 — llvm/lib/Target/BPF BTFDebug.cpp

[spr] update

Created using spr 2.0.0-beta.2
DeltaFile
+16-9llvm/lib/Target/BPF/BTFDebug.cpp
+16-91 files

LLVM/project 045941b — llvm/lib/Target/BPF BTFDebug.cpp

[spr] update

Created using spr 2.0.0-beta.2
DeltaFile
+8-6llvm/lib/Target/BPF/BTFDebug.cpp
+8-61 files

LLVM/project 3cf1c61 — llvm/lib/CodeGen/SelectionDAG SelectionDAG.cpp

[SelectionDAG][NFC] Fix grammar in UpdateSDLocOnMergeSDNode comment (#235536)
DeltaFile
+2-2llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
+2-21 files

LLVM/project 5210e17 — llvm/test/CodeGen/MIR/X86 inline-asm-operand-count.mir

Merge branch 'users/void/asm-rm-4-regallocfast-fold' into users/void/asm-rm-5-prefer-reg
DeltaFile
+1-4llvm/test/CodeGen/MIR/X86/inline-asm-operand-count.mir
+1-41 files

LLVM/project 0a40709 — llvm/test/CodeGen/MIR/X86 inline-asm-operand-count.mir

Merge branch 'users/void/asm-rm-3-direct-mem-output-error' into users/void/asm-rm-4-regallocfast-fold
DeltaFile
+1-4llvm/test/CodeGen/MIR/X86/inline-asm-operand-count.mir
+1-41 files

LLVM/project 9ef54e1 — llvm/test/CodeGen/MIR/X86 inline-asm-operand-count.mir

[MIR] Drop the numeric flag from the operand count test

An inline asm operand flag written as an immediate holds its register
class's TableGen ID, so adding a register class can change the
immediate, though the class stays the same. The "ops:N" syntax lets
tests write every flag symbolically instead. The new test's numeric flag
had no class, but it was still an immediate, and other tests already
check that a numeric flag prints with its count: peephole-copy.mir,
callbr-asm-kill.mir, and scavenge-clobbered-reg.mir.

Assisted-by: Claude Opus 5.5
DeltaFile
+1-4llvm/test/CodeGen/MIR/X86/inline-asm-operand-count.mir
+1-41 files

LLVM/project 71378af — llvm/test/CodeGen/MIR/X86 inline-asm-operand-count.mir

Merge branch 'users/void/asm-rm-2-fold-tied-operands' into users/void/asm-rm-3-direct-mem-output-error
DeltaFile
+1-4llvm/test/CodeGen/MIR/X86/inline-asm-operand-count.mir
+1-41 files

LLVM/project 1630dba — llvm/test/CodeGen/MIR/X86 inline-asm-operand-count.mir

Merge branch 'users/void/mir-inline-asm-operand-count' into users/void/asm-rm-2-fold-tied-operands
DeltaFile
+1-4llvm/test/CodeGen/MIR/X86/inline-asm-operand-count.mir
+1-41 files

LLVM/project caf7a71 — compiler-rt/lib/hwasan CMakeLists.txt, compiler-rt/test/hwasan lit.cfg.py

[hwasan] Disable aliasing mode runtime and tests on Android (#235414)

HWASan x86_64 aliasing mode
(`-fsanitize-hwaddress-experimental-aliasing`)
is only implemented on Linux (`hwasan_dynamic_shadow.cpp` does not set
up
`MapDynamicShadowAndAliases` under `SANITIZER_ANDROID`). Skip building
the
`hwasan_aliases` runtime on Android in
`compiler-rt/lib/hwasan/CMakeLists.txt`
and exclude Android from `supported_os` in
`compiler-rt/test/hwasan/lit.cfg.py`
when aliasing mode is enabled.

Assisted-by: Gemini
DeltaFile
+4-2compiler-rt/test/hwasan/lit.cfg.py
+1-1compiler-rt/lib/hwasan/CMakeLists.txt
+5-32 files

LLVM/project 311147b — compiler-rt/test/sanitizer_common/TestCases/Posix sanitizer_set_report_path_test.cpp

[test][compiler-rt] Set HOME and TMPDIR via re-exec in sanitizer_set_report_path_test (#235534)

Setting `HOME=%device_rundir/%t.homedir` in the lit `RUN:` line leaves
the
device path in the host `os.environ` when `android_run.py` invokes
`adb`,
causing `adb` 37+ (`KnownWifiHostsFile`) to abort trying to create
`$HOME/.android` on the host.

Set `HOME` and `TMPDIR` from `argv[0]` inside `main()` and re-exec the
test
binary so `/proc/self/environ` has the updated paths on the target
without
modifying the host environment.

Assisted-by: Gemini
DeltaFile
+13-1compiler-rt/test/sanitizer_common/TestCases/Posix/sanitizer_set_report_path_test.cpp
+13-11 files

LLVM/project 3b06f6e — flang/include/flang/Evaluate type.h

Use CHECK_MSG (suggested by DeepSeek)
DeltaFile
+2-2flang/include/flang/Evaluate/type.h
+2-21 files

LLVM/project b76978f — llvm/lib/Target/ARM ARMBaseInstrInfo.cpp, llvm/test/CodeGen/ARM machine-sink-debug-instr.ll

[ARM] Prevent debug instructions from blocking SUB/CMP folding (#234919)

A `DBG_VALUE` between an ARM subtraction and its matching compare hides
the
compare from `ARMBaseInstrInfo::shouldSink`. MachineSink can then sink
the
subtraction into a successor, preventing `optimizeCompareInstr` from
folding
the pair into `SUBS`; with debug information this leaves an extra `CMP`.

Look past debug instructions when checking the adjacent compare, while
keeping
pseudo probes as barriers. The regression test checks both the debug
input and
the same input after debug information is stripped.

This issue was found by a non-AI automated testing tool. AI assisted
with the analysis and development of the fix.
DeltaFile
+44-0llvm/test/CodeGen/ARM/machine-sink-debug-instr.ll
+5-4llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp
+49-42 files

LLVM/project 4fc2e8f — compiler-rt/test/sanitizer_common/TestCases/Posix sanitizer_set_report_path_test.cpp

[spr] update

Created using spr 2.0.0-beta.2
DeltaFile
+13-1compiler-rt/test/sanitizer_common/TestCases/Posix/sanitizer_set_report_path_test.cpp
+13-11 files

LLVM/project 96b428e — flang/include/flang/Optimizer/Dialect FIROps.td

fixup! [MLIR] Implement mayHaveNonZeroOffset class
DeltaFile
+2-0flang/include/flang/Optimizer/Dialect/FIROps.td
+2-01 files

LLVM/project c6600a4 — libclc/clc/lib/spirv/math clc_sw_fma.cl

[libclc] Support fp32 subnormal inputs and outputs in SPIR-V sw fma (#233791)

`__clc_sw_fma` previously assumed all non-zero inputs were normal floats
(extracting biased exponent `0` as `-127` with the implicit leading bit
`0x800000` set) and unconditionally flushed results with exponent `<=
-127` to zero. On devices that support fp32 subnormals and use software
fma, this caused `fma`, `expm1`, and `erf` to fail the CTS.

Normalize non-zero subnormal inputs using `__clc_clz` and, when fp32
subnormals are supported (`!__clc_denormals_are_zero_fp32()`),
right-shift the significand before rounding for exponents in `[-150,
-127]` so subnormal outputs and subnormal-to-normal rounding overflows
are rounded to nearest-even.
DeltaFile
+35-15libclc/clc/lib/spirv/math/clc_sw_fma.cl
+35-151 files

LLVM/project 051e5cf — lld/ELF EhFrame.cpp InputSection.h, lld/test/ELF eh-frame-merge.s

[ELF] Place merged .eh_frame CIEs before all FDEs (#235533)

EhFrameSection::finalizeContents places each merged CIE before all of
its FDEs, collecting them into CieRecord::fdes in a serial loop.

Place the merged CIEs first, followed by live FDEs in input order for
parallelism. On chrome-release-x86_64 (1.16M FDEs) at --threads=8,
"Finalize .eh_frame": 36.3 -> 16.4 ms.

EhSectionPiece drops `sec`.
DeltaFile
+73-77lld/ELF/SyntheticSections.cpp
+20-14lld/ELF/MapFile.cpp
+11-11lld/test/ELF/eh-frame-merge.s
+0-18lld/ELF/SyntheticSections.h
+8-7lld/ELF/InputSection.h
+7-6lld/ELF/EhFrame.cpp
+119-1333 files not shown
+130-1439 files

LLVM/project 98f7b35 — mlir/include/mlir/Dialect/LLVMIR LLVMOps.td, mlir/include/mlir/Dialect/MemRef/IR MemRefOps.td

fixup! [MLIR] Implement mayHaveNonZeroOffset class
DeltaFile
+24-0mlir/test/Analysis/test-alias-analysis.mlir
+11-3mlir/include/mlir/Dialect/MemRef/IR/MemRefOps.td
+11-0mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
+10-0mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
+4-2mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
+4-0mlir/lib/Dialect/Ptr/IR/PtrDialect.cpp
+64-53 files not shown
+69-69 files

LLVM/project 1373135 — libclc/clc/lib/generic/math clc_ldexp.cl

[libclc] Fix exponent overflow and subnormal rounding in __clc_ldexp (#233823)

When fp32 subnormals are
supported (`!__clc_denormals_are_zero_fp32()`), `__clc_ldexp` previously
added `n` to the exponent with plain signed integer addition,
overflowing 32-bit `int` when `n` is near `INT_MAX` or `INT_MIN` (e.g.
`n = INT_MAX` wrapped around to `< -24` and flushed to zero instead of
returning infinity). Additionally, subnormal fp32 results were formed
with a truncating right shift instead of round-to-nearest-even, and
shift counts were not clamped to valid ranges.

Normalize subnormal fp32 inputs before adding `n`, use
`__clc_add_sat(exponent, n)` in both fp32 and fp64 `__clc_ldexp` to
prevent signed integer overflow, clamp shift counts, and apply
round-to-nearest-even when right-shifting into a subnormal fp32 result.
DeltaFile
+10-21libclc/clc/lib/generic/math/clc_ldexp.cl
+10-211 files

LLVM/project 72015f2 — flang/lib/Semantics expression.cpp, flang/test/Lower/CUDA cuda-generic-separate-device-specific.cuf cuda-generic-host-call-device-specific.cuf

[flang][cuda] Skip device-only specifics at host call sites in generic resolution (#234710)

When CUDA is enabled and the call site is not in a device context, skip
specifics whose only CUDA subprogram attribute is DEVICE. HOST,DEVICE
and
unattributed specifics are unaffected. Call sites inside CUF kernel and
OpenACC regions, which share Scope::Kind::OpenACCConstruct and may be
device code in a host subprogram, are left unfiltered.
DeltaFile
+122-48flang/lib/Semantics/expression.cpp
+67-0flang/test/Lower/CUDA/cuda-generic-host-call-device-specific.cuf
+53-0flang/test/Lower/CUDA/cuda-generic-separate-device-specific.cuf
+26-0flang/test/Semantics/CUDA/cuf-generic-host-device-only.cuf
+268-484 files

LLVM/project c56fffc — lld/ELF Writer.cpp SyntheticSections.cpp

[ELF] Reject invalid .eh_frame FDE encoding early in addCie (#235532)

The result does not depend on addresses. It's better than diagnosing it
in EhFrameHeader::updateAllocSize. Diagnose even if --eh-frame-hdr is
not specified.
DeltaFile
+3-5lld/ELF/SyntheticSections.cpp
+1-2lld/ELF/Writer.cpp
+4-72 files

LLVM/project 72679bf — lld/ELF InputSection.h SyntheticSections.cpp, lld/test/ELF invalid-cie-reference.s

[ELF] Report invalid .eh_frame CIE references when splitting (#235531)

An FDE with an invalid CIE pointer is diagnosed with Fatal in
EhFrameSection::addRecords, leading to main-run-twice issue. Diagnose in
EhInputSection::split like other malformed records, so that the CIE
index of an FDE is always valid.
DeltaFile
+5-3lld/ELF/InputSection.cpp
+2-4lld/test/ELF/invalid-cie-reference.s
+1-4lld/ELF/SyntheticSections.cpp
+1-1lld/ELF/InputSection.h
+9-124 files

LLVM/project 79a3e58 — lld/ELF Relocations.cpp, lld/test/ELF/invalid ehframe-broken-relocation.test

[ELF] Fix out-of-bounds .eh_frame relocation to not overwrite the next output section (#235530)

lld/test/ELF/comdat-discarded-reloc.s intermittently fails under TSan:
OffsetGetter::get reports an error for an out-of-bounds .eh_frame
relocation and maps to output offset 0. If the link continues due to
--noinhibit-exec and .eh_frame has no pieces, the write extends past the
4-byte terminator into the next output section.

Return -1 to skip the relocation, like one in a dead piece.
DeltaFile
+7-0lld/test/ELF/invalid/ehframe-broken-relocation.test
+1-1lld/ELF/Relocations.cpp
+8-12 files

LLVM/project b2ad265 — flang/include/flang/Evaluate tools.h, flang/lib/Evaluate tools.cpp

Avoid the 'converted' temporaries

Apparently not necessary because the argument itself is an r-value
reference. Still dangerious because the caller does not control when the
collee moves it, but unrelated to this PR
DeltaFile
+31-54flang/lib/Evaluate/tools.cpp
+1-0flang/include/flang/Evaluate/tools.h
+32-542 files

LLVM/project c4a4f2d — llvm/lib/Transforms/Scalar GVN.cpp, llvm/test/Transforms/GVN invariant.group.ll metadata.ll

[GVN] Forward a load through a byte load to keep `poison` and provenance
DeltaFile
+144-169llvm/test/Transforms/GVN/load-poison.ll
+125-1llvm/lib/Transforms/Scalar/GVN.cpp
+26-27llvm/test/Transforms/GVN/PRE/rle.ll
+7-7llvm/test/Transforms/GVN/rle-coerced-noalias.ll
+6-4llvm/test/Transforms/GVN/metadata.ll
+5-3llvm/test/Transforms/GVN/invariant.group.ll
+313-2111 files not shown
+316-2137 files

LLVM/project 5b1b544 — llvm/test/Transforms/GVN load-poison.ll

[GVN] Pre-commit tests for `poison` and provenance when forwarding a load
DeltaFile
+688-0llvm/test/Transforms/GVN/load-poison.ll
+688-01 files

LLVM/project ce79f05 — flang/include/flang/Evaluate tools.h, flang/lib/Evaluate tools.cpp fold-logical.cpp

Claude's nitpicks
DeltaFile
+7-8flang/lib/Evaluate/fold-logical.cpp
+8-7flang/lib/Evaluate/fold-integer.cpp
+5-5flang/lib/Evaluate/tools.cpp
+0-6flang/include/flang/Evaluate/tools.h
+3-3flang/lib/Semantics/expression.cpp
+1-1flang/unittests/Evaluate/RealValueTest.cpp
+24-302 files not shown
+26-328 files

LLVM/project 60e80af — llvm/test/Transforms/LoopInterchange loop-control-available-in-outer-preheader.ll

[LoopInterchange] Add tests for loop control values in the outer preheader (NFC) (#235520)

Add test cases where it matters whether the loop control values (the
initial and final values of the IVs) are available in the outer loop
preheader. These are corner cases where the work in #235496 changes
what loop-interchange can handle.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+126-0llvm/test/Transforms/LoopInterchange/loop-control-available-in-outer-preheader.ll
+126-01 files

LLVM/project d38aacb — clang/test/SemaCXX cxx2b-p2266-disable-with-msvc-compat.cpp

[clang] Fix typo in __cplusplus macro (#235489)

Found a possible typo where `__cplusplus` was written as `__cpluscplus`,
since I made the same typo while doing a search.

Corrected to `__cplusplus`, feel free to close if this wasn't a mistake
:)
DeltaFile
+1-1clang/test/SemaCXX/cxx2b-p2266-disable-with-msvc-compat.cpp
+1-11 files

LLVM/project d95fb01 — clang/include/clang/StaticAnalyzer/Core/BugReporter Z3CrosscheckVisitor.h BugReporterVisitors.h

[analyzer][NFC] BugReporterVisitors.h should include MemRegion.h (#235283)

BugReporterVisitors.h includes RangedConstraintManager.h but uses
nothing it declares: RangeSet, Range, ConstraintMap and
SimpleConstraintManager appear nowhere in the file. What the header
actually needs is MemRegion.h, which supplies SubRegion,
MemRegionManager and MemRegion completeness for an inline constructor;
today those arrive only by accident, transitively through
RangedConstraintManager.h -> ProgramState.h. Swapping the include for
the one that carries the used declarations makes the dependency honest
and adds a forward declaration of CallEvent in namespace clang::ento
for the one name that only needs to be incomplete.

One header needs a compensating include: Z3CrosscheckVisitor.h uses
ConstraintMap and was getting RangedConstraintManager.h through
BugReporterVisitors.h, so it now includes it directly. No translation
unit in clangStaticAnalyzerCore, clangStaticAnalyzerCheckers or
clangStaticAnalyzerFrontend required any other change.


    [2 lines not shown]
DeltaFile
+2-1clang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporterVisitors.h
+1-0clang/include/clang/StaticAnalyzer/Core/BugReporter/Z3CrosscheckVisitor.h
+3-12 files

LLVM/project a5db372 — lld/test/ELF eh-frame-rel.s eh-frame.s, lld/test/ELF/Inputs eh-frame.s

[ELF,test] Enhance eh-frame-merge.s to test CIE/FDE grouping order (#235525)

Fold eh-frame.s, eh-frame-multiple-cie.s, and eh-frame-rel.s into it.
DeltaFile
+121-7lld/test/ELF/eh-frame-merge.s
+0-50lld/test/ELF/eh-frame-multiple-cie.s
+0-12lld/test/ELF/eh-frame.s
+0-7lld/test/ELF/eh-frame-rel.s
+0-3lld/test/ELF/Inputs/eh-frame.s
+121-795 files