LLVM/project 9900aa1 — llvm/test/CodeGen/X86 fp128-cast-strict.ll

[X86] fp128-cast-strict.ll - missing AVX1 check prefixes (#239977)
DeltaFile
+20-2llvm/test/CodeGen/X86/fp128-cast-strict.ll
+20-21 files

LLVM/project 702bd6c — mlir/docs/Bindings Python.md, mlir/docs/Tutorials/Toy Ch-4.md

[mlir][docs] Fix minor typos in mlir/docs (#239256)

* Tutorials/Toy; cheks -> checks
* Bindings/Python.md; attribtues -> attribute

The former was found by reading the Toy Tutorial.
The latter was found by having AI scan the mlir/docs dir.

AI tool used: codex with GPT-6-Luna
DeltaFile
+1-1mlir/docs/Tutorials/Toy/Ch-4.md
+1-1mlir/docs/Bindings/Python.md
+2-22 files

LLVM/project c20f896 — llvm/test/CodeGen/X86 lrint-conv-i64.ll llrint-conv.ll

[X86] Add missing AVX1/AVX512 check prefixes to lrint test coverage (#239975)
DeltaFile
+104-4llvm/test/CodeGen/X86/lrint-conv-i32.ll
+89-4llvm/test/CodeGen/X86/llrint-conv.ll
+43-2llvm/test/CodeGen/X86/lrint-conv-i64.ll
+236-103 files

LLVM/project d8f4a32 — llvm/docs AMDGPUUsage.md, llvm/lib/Target/AMDGPU/AsmParser AMDGPUAsmParser.cpp

[AMDGPU] Warn about missing async barrier replay workarounds

Warn by default when assembly lacks the recognized EXEC-zero B8 replay
after an async barrier arrival. Keep recognition within a straight-line
assembly block and support targeted and general warning controls.
DeltaFile
+187-0llvm/test/MC/AMDGPU/async-barrier-replay-warning.s
+81-0llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
+38-0llvm/test/MC/AMDGPU/async-barrier-replay-warning-vgpr-msb.s
+28-0llvm/docs/AMDGPUUsage.md
+27-0llvm/test/MC/AMDGPU/async-barrier-replay-warning-xnack.s
+24-0llvm/test/CodeGen/AMDGPU/async-barrier-replay-inline-asm.ll
+385-02 files not shown
+393-38 files

LLVM/project 8f639a8 — llvm/lib/Target/Sparc SparcISelLowering.cpp, llvm/test/CodeGen/SPARC load-sitofp.ll

[SPARC] Load integers directly into FP registers for sitofp (#237919)

Load the integer into the FP register directly instead of going via the
stack when the conversion is the only user of the loaded value.

Assisted-by: Claude
DeltaFile
+47-0llvm/test/CodeGen/SPARC/load-sitofp.ll
+12-1llvm/lib/Target/Sparc/SparcISelLowering.cpp
+59-12 files

LLVM/project 786bd1c — llvm/lib/Transforms/Vectorize SLPVectorizer.cpp, llvm/lib/Transforms/Vectorize/SLPVectorizer SLPUtils.cpp SLPUtils.h

[SLP]Skip FP identity columns in reassoc chains

- Treat -0.0 (fadd), 1.0 (fmul) and +0.0 (subtracted fadd column) as
  identities, so identity-only columns are not combined.
- Model a copyable identity by the sign of its column: -0.0 in a
  subtracted fadd column turned a -0.0 lane into +0.0 without nsz.

Assisted-by: Cursor

Reviewers: 

Pull Request: https://github.com/llvm/llvm-project/pull/239971
DeltaFile
+14-6llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+10-5llvm/lib/Transforms/Vectorize/SLPVectorizer/SLPUtils.h
+10-3llvm/lib/Transforms/Vectorize/SLPVectorizer/SLPUtils.cpp
+3-6llvm/test/Transforms/SLPVectorizer/X86/reassociate-ops.ll
+37-204 files

LLVM/project aaf8ea6 — flang/lib/Semantics check-omp-loop.cpp

Update version handling
DeltaFile
+1-1flang/lib/Semantics/check-omp-loop.cpp
+1-11 files

LLVM/project 42c167c — llvm/test/Transforms/SLPVectorizer/X86 reassociate-ops.ll

[SLP][NFC]Add a test for same binop for float ops, NFC



Reviewers: 

Pull Request: https://github.com/llvm/llvm-project/pull/239968
DeltaFile
+178-5llvm/test/Transforms/SLPVectorizer/X86/reassociate-ops.ll
+178-51 files

LLVM/project c2a7514 — llvm/lib/Target/AMDGPU SIInsertAsyncBarrierArriveWorkaround.cpp AMDGPUMCInstLower.cpp, llvm/test/CodeGen/AMDGPU async-barrier-arrive-replay-vgpr-msb.mir async-barrier-arrive-replay-clause.mir

[AMDGPU] Expand async barrier replay during MC emission

Keep the replay as a counted load pseudo until MC emission, where it
expands to the EXEC save, zero-EXEC load, and restore. Preserve register
accounting, instruction size, clause boundaries, bank selection, and
the trailing scalar delay.

Gate the pass by subarchitecture in both pipelines, retain per-function
feature overrides, and simplify EXEC scratch renaming. Replace the small
high-bank MIR-to-assembly test with IR and cover the expansion boundaries.
DeltaFile
+48-25llvm/lib/Target/AMDGPU/AMDGPUMCInstLower.cpp
+45-0llvm/test/CodeGen/AMDGPU/branch-relaxation-inst-size-gfx1250.mir
+11-29llvm/test/CodeGen/AMDGPU/async-barrier-arrive-replay.mir
+12-23llvm/lib/Target/AMDGPU/SIInsertAsyncBarrierArriveWorkaround.cpp
+35-0llvm/test/CodeGen/AMDGPU/async-barrier-arrive-replay-clause.mir
+0-30llvm/test/CodeGen/AMDGPU/async-barrier-arrive-replay-vgpr-msb.mir
+151-10711 files not shown
+269-12317 files

LLVM/project 6adeaf3 — libc/test/src/math/exhaustive cos.wc sin.wc, llvm/lib/Support UnicodeNameToCodepointGenerated.cpp

Merge branch 'main' into users/kparzysz/simplify-dist-linear
DeltaFile
+1,091,085-0libc/test/src/math/exhaustive/sin.wc
+1,090,178-0libc/test/src/math/exhaustive/cos.wc
+119,519-140,147llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
+39,576-45,802llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.512bit.ll
+32,334-16,353llvm/test/CodeGen/AMDGPU/frem.ll
+23,975-23,862llvm/lib/Support/UnicodeNameToCodepointGenerated.cpp
+2,396,667-226,16463,270 files not shown
+8,360,917-2,701,00963,276 files

LLVM/project 3e67bd5 — clang/include/clang/Lex Preprocessor.h, clang/lib/Lex Preprocessor.cpp

[clang][Lex][NFC] Remove unused ModuleDeclLoc (#239947)

`ModuleDeclLoc` is assigned but never read.
DeltaFile
+0-4clang/include/clang/Lex/Preprocessor.h
+0-1clang/lib/Lex/Preprocessor.cpp
+0-52 files

LLVM/project b258009 — clang/lib/Interpreter IncrementalParser.cpp, clang/test/Interpreter code-undo-out-of-line.cpp

[clang-repl] Restore the lookup of out-of-line definitions' predecessors (#229780)

Undoing the out-of-line definition of a member removes it from the
lookup table of its semantic context, its class or namespace, and then
makes its surviving previous declaration visible again. But the previous
declaration was made visible in the lookup table of the lexical context,
the enclosing context of the definition. The member was then not found
in its class or namespace anymore, but in the enclosing context instead:

  struct K { static int s; };
  int K::s = 4;
  %undo
  int K::s = 5;  // error: no member named 's' in 'K'

Make the previous declaration visible in its own semantic context.

Assisted-by: Claude Opus 5.5
DeltaFile
+45-31clang/lib/Interpreter/IncrementalParser.cpp
+36-0clang/test/Interpreter/code-undo-out-of-line.cpp
+81-312 files

LLVM/project 2ceae9c — clang/lib/Sema SemaCast.cpp, clang/test/CodeGenHLSL/BasicFeatures MatrixSplat.hlsl

[Clang][Sema] Fix Matrix HLSLAggregateSplatCast with CStyleCast (#239737)

Add missing preparation implicit conversion to fix the MatrixType
HLSLAggregateSplatCast with CStyleCast expr

Fixes: #239736
DeltaFile
+20-0clang/test/CodeGenHLSL/BasicFeatures/MatrixSplat.hlsl
+10-0clang/lib/Sema/SemaCast.cpp
+30-02 files

LLVM/project 5d9e1db — clang/lib/Lex ModuleMap.cpp

[clang][NFC] Fix typo in comments (#239952)

"seperate" -> "separate"

Signed-off-by: Hardik Kumar <hardikxk at gmail.com>
DeltaFile
+1-1clang/lib/Lex/ModuleMap.cpp
+1-11 files

LLVM/project 2db7fe3 — llvm/lib/Analysis ScalarEvolution.cpp

[SCEV] Prove non-strict & not-equal later isBasicBlockEntryGuard (NFCI). (#239818)

isBasicBlockEntryGuardedByCond eagerly tried to prove a strict predicate
as its non-strict half and non-equality, up front and for each guarding
condition, even if a later condition implies the predicate directly.

Trying all conditions directly instead first can speed up compile-time,
because either the predicate holds directly or we can avoid the more
expensive non-equality proofs because the non-strict predicate also does
not hold.

stage1-O3: -0.15%
stage1-ReleaseThinLTO: -0.13%
stage1-ReleaseLTO-g: -0.11%
stage1-aarch64-O3: -0.16%
stage2-O3: -0.14%
stage2-clang: -0.02%



    [4 lines not shown]
DeltaFile
+16-32llvm/lib/Analysis/ScalarEvolution.cpp
+16-321 files

LLVM/project 01cee4e — llvm/lib/Target/AMDGPU AMDGPUTargetTransformInfo.cpp, llvm/test/Analysis/CostModel/AMDGPU store.ll load.ll

[AMDGPU] Price misaligned flat and LDS accesses with the LDS misaligned bug

In WGP mode on subtargets with the LDS misaligned bug, a flat access is
split into pieces no wider than its alignment and no narrower than 4
bytes, and an LDS access aligned below 4 bytes uses 8-byte pieces as one
aligned to 4 does.
DeltaFile
+121-60llvm/test/Analysis/CostModel/AMDGPU/store.ll
+121-60llvm/test/Analysis/CostModel/AMDGPU/load.ll
+4-1llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
+246-1213 files

LLVM/project a808848 — llvm/lib/Target/AMDGPU AMDGPULowerBufferFatPointers.cpp AMDGPUTargetTransformInfo.cpp, llvm/test/Analysis/CostModel/AMDGPU store.ll load.ll

apply comments
DeltaFile
+354-0llvm/test/Analysis/CostModel/AMDGPU/buffer-fat-pointer-oob-mode.ll
+21-1llvm/test/Analysis/CostModel/AMDGPU/store.ll
+21-1llvm/test/Analysis/CostModel/AMDGPU/load.ll
+8-4llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
+3-3llvm/lib/Target/AMDGPU/AMDGPULowerBufferFatPointers.cpp
+407-95 files

LLVM/project 8e1d6fd — llvm/lib/Target/AMDGPU AMDGPU.h AMDGPUTargetTransformInfo.cpp, llvm/test/Analysis/CostModel/AMDGPU store.ll load.ll

[AMDGPU] Price buffer fat pointer memory operations

Price buffer fat pointer accesses as global accesses, except that an
aligned load is not widened and a vector of odd width elements is not
split element by element. Without relaxed buffer bounds checking, a
vector of elements that are a multiple of 32 bits wide is accessed in
pieces no wider than its alignment and no narrower than 4 bytes, and a
vector of other byte-sized or power of 2 wide elements in pieces of the
largest power of 2 bytes that divides the element size. The width comes
from buffer fat pointer lowering, which now exposes it. When the pointer
is a buffer resource plus a constant offset, the offset and a constant
number of records give the same bounds facts lowering uses to access it
in wider pieces.
DeltaFile
+38-35llvm/lib/Target/AMDGPU/AMDGPULowerBufferFatPointers.cpp
+51-20llvm/test/Analysis/CostModel/AMDGPU/store.ll
+51-20llvm/test/Analysis/CostModel/AMDGPU/load.ll
+56-14llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
+9-0llvm/lib/Target/AMDGPU/AMDGPU.h
+205-895 files

LLVM/project 733a858 — llvm/test/Analysis/CostModel/AMDGPU store.ll load.ll

[NFC][AMDGPU] Precommit buffer fat pointer and gfx1010 memory cost tests
DeltaFile
+294-0llvm/test/Analysis/CostModel/AMDGPU/load.ll
+235-0llvm/test/Analysis/CostModel/AMDGPU/store.ll
+529-02 files

LLVM/project d360f5f — llvm/lib/Target/AMDGPU AMDGPUTargetTransformInfo.h AMDGPUTargetTransformInfo.cpp

Use isSourceOfDivergence in hasUniformPointerOperand
DeltaFile
+3-6llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
+2-0llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.h
+5-62 files

LLVM/project a2d02f4 — llvm/lib/Target/AMDGPU AMDGPUTargetTransformInfo.cpp, llvm/test/Analysis/CostModel/AMDGPU load.ll

[AMDGPU] Price constant address space memory operations

Price constant address space accesses as global accesses, except for
loads selected to scalar loads of up to 64 bytes. These are loads from
the 32-bit constant address space, and loads from the constant address
space whose pointer is an argument passed in SGPRs or a constant, plus
constant offsets, both aligned to 4 bytes or to their size. A scalar
load is widened as its lowering does. An integer whose size is not a
multiple of 4 bytes is loaded as whole dwords, plus a byte load when its
size is 7 modulo 8, since the last byte of such a remainder is left out
of the scalar load. A type with no legal dword vector equivalent is
split into the largest power of 2 pieces that fit, and once the
remainder fits in the alignment it is widened to a power of 2 piece of
up to the alignment, at most 8 bytes for byte vectors. A 3-dword
remainder of a legal dword vector takes a fourth dword when aligned to 8
on a subtarget without scalar dwordx3 loads.
DeltaFile
+162-37llvm/test/Analysis/CostModel/AMDGPU/load.ll
+121-71llvm/test/Transforms/SLPVectorizer/AMDGPU/ordered-reduction-fma-fusion.ll
+56-4llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
+339-1123 files

LLVM/project 40a98c3 — llvm/lib/Target/AMDGPU AMDGPUTargetTransformInfo.h AMDGPUTargetTransformInfo.cpp, llvm/lib/Target/AMDGPU/Utils AMDGPUBaseInfo.h AMDGPUBaseInfo.cpp

move uniform helper
DeltaFile
+5-22llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
+20-0llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
+15-0llvm/test/Analysis/CostModel/AMDGPU/load.ll
+7-5llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
+6-0llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
+0-2llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.h
+53-296 files

LLVM/project db3b755 — llvm/lib/Target/AMDGPU AMDGPUTargetTransformInfo.cpp, llvm/test/Analysis/CostModel/AMDGPU load.ll

small changes
DeltaFile
+22-12llvm/test/Analysis/CostModel/AMDGPU/load.ll
+16-10llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
+38-222 files

LLVM/project e26450e — llvm/test/Analysis/CostModel/AMDGPU load.ll

[NFC][AMDGPU] Precommit uniform constant load cost tests (#238839)

Assisted-By: Claude Code Opus 5
DeltaFile
+93-0llvm/test/Analysis/CostModel/AMDGPU/load.ll
+93-01 files

LLVM/project 0a2c535 — llvm/test/CodeGen/LoongArch/lasx xvexth.ll vec-i128.ll, llvm/test/CodeGen/LoongArch/lasx/ir-instruction add.ll sub.ll

[LoongArch] Add support for vector add/sub on vNi128 types

Make v1i128 and v2i128 legal types in the LSX/LASX register classes and
lower ADD/SUB on them to VADD.Q/XVADD.Q and VSUB.Q/XVSUB.Q.

The vNi128 types are intentionally kept out of LSXVTs/LASXVTs so that
only a minimal set of operations is legal on them: LOAD, STORE, BITCAST,
UNDEF, ADD, SUB and VSELECT (via [X]VBITSEL.V). VECTOR_SHUFFLE is custom
lowered by performing the shuffle on the equivalent i64 vector type.
Everything else keeps the default Expand action.

Since the widening extend combine can now produce VEXTH/VEXTH_U on
vNi128, also add the [X]VEXTH.Q.D and [X]VEXTH.QU.DU patterns.
DeltaFile
+188-196llvm/test/CodeGen/LoongArch/lsx/vec-i128.ll
+154-206llvm/test/CodeGen/LoongArch/lasx/vec-i128.ll
+9-97llvm/test/CodeGen/LoongArch/lasx/ir-instruction/sub.ll
+9-91llvm/test/CodeGen/LoongArch/lasx/ir-instruction/add.ll
+14-52llvm/test/CodeGen/LoongArch/lasx/xvexth.ll
+9-48llvm/test/CodeGen/LoongArch/lsx/ir-instruction/sub.ll
+383-6906 files not shown
+496-79312 files

LLVM/project 89c5639 — llvm/test/CodeGen/LoongArch/lasx vec-i128.ll, llvm/test/CodeGen/LoongArch/lasx/ir-instruction add.ll sub.ll

[LoongArch][NFC] Add tests for vector add/sub on vNi128

Also add tests for load/store, select and shuffle on vNi128 types to
make sure operations without dedicated support are still legalized
correctly.
DeltaFile
+277-0llvm/test/CodeGen/LoongArch/lsx/vec-i128.ll
+277-0llvm/test/CodeGen/LoongArch/lasx/vec-i128.ll
+106-2llvm/test/CodeGen/LoongArch/lasx/ir-instruction/sub.ll
+100-2llvm/test/CodeGen/LoongArch/lasx/ir-instruction/add.ll
+57-2llvm/test/CodeGen/LoongArch/lsx/ir-instruction/sub.ll
+57-2llvm/test/CodeGen/LoongArch/lsx/ir-instruction/add.ll
+874-86 files

LLVM/project c5f954a — clang/docs ReleaseNotes.md, clang/include/clang/Basic DiagnosticSemaKinds.td

Revert "[clang][Sema] Recheck array size once the element type is complete" (#239935)

Reverts llvm/llvm-project#219817

Causes a large compile-time regression.
DeltaFile
+0-55clang/test/SemaCXX/array-size.cpp
+0-42clang/lib/Sema/SemaType.cpp
+0-7clang/lib/Sema/SemaDecl.cpp
+0-6clang/docs/ReleaseNotes.md
+1-2clang/include/clang/Sema/Sema.h
+0-2clang/include/clang/Basic/DiagnosticSemaKinds.td
+1-1146 files

LLVM/project a42ebde — clang/docs ReleaseNotes.md, clang/lib/Basic Warnings.cpp

[clang][Diagnostics] Don't drop "no-" when reporting an unknown -Wno-error= option (#239212)

Fixes #227392

If you pass `-Wno-error=foo` and clang doesn't know the `foo` warning
group, the
message you get back is about `-Werror=foo`. The `no-` is gone, and the
"did you
mean" suggestion drops it as well, so the flag in the message isn't the
one you
actually passed. The reporter hit this with
`-Wno-error=maybe-uninitialized`
from a GCC build and couldn't tell what to remove.

Nothing is lost before this point. `ProcessWarningOptions` pulls off the
`no-`
and stores it in `isPositive`, and the plain `-W` and `-R` paths already
use it
when building the prefix. The `-Werror=` and `-Wfatal-errors=` paths had

    [30 lines not shown]
DeltaFile
+9-0clang/test/Frontend/warning-options.cpp
+6-2clang/lib/Basic/Warnings.cpp
+4-0clang/docs/ReleaseNotes.md
+19-23 files

LLVM/project 5730c94 — clang/docs ReleaseNotes.md, clang/include/clang/Basic DiagnosticSemaKinds.td

Revert "[clang][Sema] Recheck array size once the element type is complete (#…"

This reverts commit dc550beb73ca66333785b235c79dc8947088555a.
DeltaFile
+0-55clang/test/SemaCXX/array-size.cpp
+0-42clang/lib/Sema/SemaType.cpp
+0-7clang/lib/Sema/SemaDecl.cpp
+0-6clang/docs/ReleaseNotes.md
+1-2clang/include/clang/Sema/Sema.h
+0-2clang/include/clang/Basic/DiagnosticSemaKinds.td
+1-1146 files

LLVM/project e5ae646 — llvm/lib/Target/LoongArch LoongArchISelLowering.cpp, llvm/test/CodeGen/LoongArch/lasx vselect.ll

fix for poison cond
DeltaFile
+27-4llvm/test/CodeGen/LoongArch/lsx/vselect.ll
+19-4llvm/test/CodeGen/LoongArch/lasx/vselect.ll
+4-1llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
+50-93 files