LLVM/project 8616f01llvm/test/CodeGen/RISCV ctselect-fallback-vector-rvv.ll ctselect-fallback-edge-cases.ll

[LLVM][RISCV] Regenerate ct.select test CHECK lines

Update CHECK lines to match the new constant-time AND/OR/XOR expansion
from the CT_SELECT legalization fix.
DeltaFile
+132-344llvm/test/CodeGen/RISCV/ctselect-fallback-vector-rvv.ll
+66-78llvm/test/CodeGen/RISCV/ctselect-fallback-edge-cases.ll
+62-77llvm/test/CodeGen/RISCV/ctselect-fallback-patterns.ll
+7-8llvm/test/CodeGen/RISCV/ctselect-side-effects.ll
+267-5074 files

LLVM/project 29f089dllvm/include/llvm/Analysis DependenceAnalysis.h, llvm/lib/Analysis DependenceAnalysis.cpp

[DA] Rewrite formula in the Weak Zero SIV tests
DeltaFile
+31-36llvm/lib/Analysis/DependenceAnalysis.cpp
+8-8llvm/test/Analysis/DependenceAnalysis/weak-zero-siv-large-btc.ll
+4-8llvm/include/llvm/Analysis/DependenceAnalysis.h
+2-6llvm/test/Analysis/DependenceAnalysis/weak-zero-siv-overflow.ll
+45-584 files

LLVM/project abaf18ellvm/include/llvm/Frontend/OpenMP OMPIRBuilder.h, llvm/lib/Frontend/OpenMP OMPIRBuilder.cpp

Fix affinity type, handle unexpected iterator loop body and accumulate affinity entry for one register call

- Generate kmpTaskAffinityInfoTy based on platform and create a helper
  in OMPIRBuilder so that we can use it in OpenMPToLLVMIRTranslation and
  OMPIRBuilder
- Handle invalid iterator loop body and add unit test
- Accumulate affinity info and only one register call for a task
  construct
- remove `this->` in member fucntion
DeltaFile
+67-5llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
+23-24mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
+24-0llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
+12-0openmp/runtime/src/kmp_tasking.cpp
+6-2mlir/test/Target/LLVMIR/openmp-iterator.mlir
+4-0llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
+136-316 files

LLVM/project 38c934bllvm/test/CodeGen/AArch64 ragreedy-csr.ll, llvm/test/CodeGen/X86 lsr-addrecloops.ll

[LSR][RFC] Improve LCSSA preservation
DeltaFile
+111-116llvm/test/CodeGen/AArch64/ragreedy-csr.ll
+70-37llvm/test/Transforms/LoopStrengthReduce/X86/normalization-during-scev-expansion.ll
+34-37llvm/test/CodeGen/X86/lsr-addrecloops.ll
+34-22llvm/test/Transforms/LoopStrengthReduce/X86/postinc-iv-used-by-urem-and-udiv.ll
+16-10llvm/test/Transforms/LoopStrengthReduce/wrong-hoisting-iv.ll
+7-8llvm/test/Transforms/LoopStrengthReduce/X86/2011-11-29-postincphi.ll
+272-23037 files not shown
+389-33043 files

LLVM/project 48473ddllvm/lib/Target/RISCV RISCVISelLowering.cpp, llvm/test/CodeGen/RISCV/rvv fixed-vectors-insert.ll insertelt-int-rv32.ll

[RISCV] Handle sign_extend of i32 in insert_vector_elt for RV32 (#185548)

On RV32 with <N x i64> vectors, inserting a value that is a
sign_extend of an i32 only uses the lower 32 bits, so it can be
lowered without scalar legalization, same as i32 constants.
DeltaFile
+12-6llvm/lib/Target/RISCV/RISCVISelLowering.cpp
+17-0llvm/test/CodeGen/RISCV/rvv/fixed-vectors-insert.ll
+12-0llvm/test/CodeGen/RISCV/rvv/insertelt-int-rv32.ll
+41-63 files

LLVM/project 269b17aclang/lib/AST/ByteCode PrimType.h Compiler.cpp, clang/test/AST/ByteCode c.c

[clang][bytecode] Check for integral types in evaluateStrlen (#185481)

The pointer might point to a primitive array of non-integer type.
DeltaFile
+20-18clang/lib/AST/ByteCode/PrimType.h
+10-9clang/lib/AST/ByteCode/Compiler.cpp
+7-0clang/test/AST/ByteCode/c.c
+4-1clang/lib/AST/ByteCode/Context.cpp
+1-1clang/lib/AST/ByteCode/Interp.h
+1-1clang/lib/AST/ByteCode/InterpBuiltin.cpp
+43-306 files

LLVM/project 02ef01dclang/test/AST/ByteCode constexpr.c

[Clang] Remove clang/test/AST/Bytecode/constexpr.c (#185447)

Remove duplicate test since Sema/constexpr.c handles the constexpr
tests.
Discussed in #181965
DeltaFile
+0-370clang/test/AST/ByteCode/constexpr.c
+0-3701 files

LLVM/project b47ea96libc/src/__support/math inv_trigf_utils.h acospif.h, libc/test/src/math/exhaustive asinpif_test.cpp

[libc][math] correct the output of `asinpif` and `acospi` (#185544)

Currently, we have accuracy issues and some points fail in the asinpif
exhaustive test. This change fixes it by increasing the degree of the
used polynomial

```
-- Testing for FE_TONEAREST in range [0x0, 0x7f800000) --
Failed to match Func(x) against LIBC_NAMESPACE::testing::mpfr::get_mpfr_matcher<Op>( x, Func(x), 0.5, rounding).
Match value not within tolerance value of MPFR result:
  Input decimal: 0.00000011348398487598387873731553554534912109375000
     Input bits: 0x33F3B47B = (S: 0, E: 0x0067, M: 0x0073B47B)

  Match decimal: 0.00000003612307253320068411994725465774536132812500
     Match bits: 0x331B25BD = (S: 0, E: 0x0066, M: 0x001B25BD)

    MPFR result: 0.00000003612307608591436292044818401336669921875000
   MPFR rounded: 0x331B25BE = (S: 0, E: 0x0066, M: 0x001B25BE)


    [41 lines not shown]
DeltaFile
+26-21libc/src/__support/math/inv_trigf_utils.h
+7-5libc/src/__support/math/acospif.h
+3-3libc/test/src/math/exhaustive/asinpif_test.cpp
+2-2libc/test/src/math/smoke/acospif_test.cpp
+38-314 files

LLVM/project a17289bclang/include/clang/Basic BuiltinsAMDGPU.td, clang/test/CodeGenHIP builtins-amdgcn-gfx12-f16-w64.hip builtins-amdgcn-gfx12-f16-w32.hip

[Clang][AMDGPU] Change __fp16 to _Float16 in builtin definitions (#185446)

Change the type signature of `SWMMAC, load, cvt` builtins from `__fp16
to _Float16` in the tablegen builtin definitions.
DeltaFile
+96-0clang/test/CodeGenHIP/builtins-amdgcn-gfx12-f16-w64.hip
+96-0clang/test/CodeGenHIP/builtins-amdgcn-gfx12-f16-w32.hip
+88-0clang/test/CodeGenHIP/builtins-amdgcn-f16-misc.hip
+70-0clang/test/CodeGenHIP/builtins-amdgcn-gfx1250-f16-misc.hip
+27-0clang/test/CodeGenHIP/builtins-amdgcn-gfx950-f16.hip
+13-13clang/include/clang/Basic/BuiltinsAMDGPU.td
+390-138 files not shown
+399-2214 files

LLVM/project 5464d68clang/lib/CodeGen CGHLSLBuiltins.cpp, clang/lib/Headers/hlsl hlsl_alias_intrinsics.h

[HLSL][DXIL][SPRIV] Added WaveActiveProduct intrinsic (#184645)

From issue #99165, adds the implementation of WaveActiveProduct. This
time with the new types for SPIRVTypeInst

- [x] Implement WaveActiveProduct clang builtin,
- [x] Link WaveActiveProduct clang builtin with hlsl_intrinsics.h
- [x] Add sema checks for WaveActiveProduct to
CheckHLSLBuiltinFunctionCall in SemaChecking.cpp
- [x] Add codegen for WaveActiveProduct to EmitHLSLBuiltinExpr in
CGBuiltin.cpp
- [x] Add codegen tests to
clang/test/CodeGenHLSL/builtins/WaveActiveProduct.hlsl
- [x] Add sema tests to
clang/test/SemaHLSL/BuiltIns/WaveActiveProduct-errors.hlsl
- [x] Create the int_dx_WaveActiveProduct intrinsic in
IntrinsicsDirectX.td
- [x] Create the DXILOpMapping of int_dx_WaveActiveProduct to 119 in
DXIL.td

    [8 lines not shown]
DeltaFile
+143-0llvm/test/CodeGen/DirectX/WaveActiveProduct.ll
+123-0clang/lib/Headers/hlsl/hlsl_alias_intrinsics.h
+55-38llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
+45-0clang/test/CodeGenHLSL/builtins/WaveActiveProduct.hlsl
+41-0llvm/test/CodeGen/SPIRV/hlsl-intrinsics/WaveActiveProduct.ll
+33-7clang/lib/CodeGen/CGHLSLBuiltins.cpp
+440-459 files not shown
+507-4615 files

LLVM/project cf2d599clang/test/Driver/print-enabled-extensions riscv-xt-c920v2.c riscv-xt-c910v2.c, llvm/lib/Target/RISCV RISCVFeatures.td

[RISCV] Make Zbc imply Zbkc. (#185543)

Zbkc contains 2 of the 3 instructions from Zbc. Making Zbc imply Zbkc
will make the __riscv_zbkc define be set when Zbc is enabled.

This does not change the diagnostics printed by the assembler.

There's a PR to add this rule to the ISA manual too
https://github.com/riscv/riscv-isa-manual/pull/2524
DeltaFile
+8-7llvm/lib/Target/RISCV/RISCVFeatures.td
+2-2llvm/test/CodeGen/RISCV/attributes.ll
+2-1clang/test/Driver/print-enabled-extensions/riscv-xt-c920v2.c
+2-1clang/test/Driver/print-enabled-extensions/riscv-xt-c910v2.c
+1-1llvm/test/MC/RISCV/attribute-arch.s
+15-125 files

LLVM/project 4178b95llvm/lib/Transforms/IPO SampleProfileMatcher.cpp, llvm/test/Transforms/SampleProfile pseudo-probe-stale-profile-flatten-helper.ll

[SampleProfileMatcher] Flatten profiles loaded on demand (#184255)

Fix an issue that after loading top-level function from profile during
CG matching, it's not flattened. This means the inlined callees of the
loaded nested profile don't get their own entries in
`FlattenedProfiles`, making them undiscoverable by subsequent CG
matching steps.
DeltaFile
+98-0llvm/test/Transforms/SampleProfile/pseudo-probe-stale-profile-flatten-helper.ll
+13-2llvm/lib/Transforms/IPO/SampleProfileMatcher.cpp
+10-0llvm/test/Transforms/SampleProfile/Inputs/pseudo-probe-stale-profile-flatten-helper.prof
+121-23 files

LLVM/project f401a76llvm/include/llvm/Transforms/IPO SampleProfileMatcher.h, llvm/lib/Transforms/IPO SampleProfileMatcher.cpp

[SampleProfileMatcher] Add direct basename early matching for orphan functions (#184409)

When user code changes function signatures (e.g., adding/removing
parameters), the C++ mangled name changes while the base function name
stays the same. The existing stale profile CG matching can only recover
renamed functions when they appear as callees of already-matched
callers. If the caller has no profile (e.g., fully inlined in the
profiled binary, or from a different TU not loaded), the renamed callee
is never discovered and gets zero profile data.

Add `matchFunctionsWithoutProfileByBasename()` that pairs orphan IR
functions (no profile) with unused top-level profile functions by
demangled basename, without requiring a matched caller in the call
graph.

This direct basename matching runs before CG matching and writes to
`FuncToProfileNameMap`. CG matching can later overwrite these entries
(since `SymbolMap` is not updated until `UpdateWithSalvagedProfiles`),
so a contextually better CG match is not blocked.

    [5 lines not shown]
DeltaFile
+124-20llvm/lib/Transforms/IPO/SampleProfileMatcher.cpp
+55-0llvm/test/Transforms/SampleProfile/pseudo-probe-stale-profile-direct-basename.ll
+3-0llvm/test/Transforms/SampleProfile/Inputs/pseudo-probe-stale-profile-direct-basename.prof
+3-0llvm/include/llvm/Transforms/IPO/SampleProfileMatcher.h
+185-204 files

LLVM/project 3ef7c27clang/lib/CodeGen CodeGenFunction.cpp, clang/lib/CodeGen/Targets PPC.cpp

clang-formt
DeltaFile
+6-6clang/lib/CodeGen/CodeGenFunction.cpp
+1-1clang/lib/CodeGen/Targets/PPC.cpp
+1-1clang/lib/Sema/SemaPPC.cpp
+8-83 files

LLVM/project 41ef3d0llvm/lib/CodeGen/SelectionDAG SelectionDAGBuilder.cpp, llvm/lib/Target/X86 X86FastISel.cpp

[FastISel] Lower call instruction with illegal type returned (#180322)

Fix issue https://github.com/llvm/llvm-project/issues/179100
When lowering the call instruction with illegal type returned, we should
bail out and transfer the lowering to DAG. Otherwise the return value is
not promoted to proper type, but DAG would assume it has been promoted.

---------

Co-authored-by: Yuanke Luo <ykluo at birentech.com>
DeltaFile
+55-0llvm/test/CodeGen/X86/bf16-fast-isel.ll
+26-0llvm/test/CodeGen/X86/pr179100.ll
+1-7llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
+6-0llvm/lib/Target/X86/X86FastISel.cpp
+88-74 files

LLVM/project 0fe0be1clang/lib/CodeGen CodeGenModule.cpp

Handle case when an FMV function is declared, used, then defined by:
fixing getMangledNameImpl such that it does not need to special case for FMV declarations because GetOrCreateLLVMFunction already can return the non-mangled name of declared FMV functions
DeltaFile
+1-3clang/lib/CodeGen/CodeGenModule.cpp
+1-31 files

LLVM/project e6f3414clang/lib/CodeGen CodeGenFunction.cpp, clang/test/CodeGen attr-target-clones-ppc.c

test

test

test
DeltaFile
+116-0clang/test/CodeGen/attr-target-clones-ppc.c
+17-6clang/lib/CodeGen/CodeGenFunction.cpp
+133-62 files

LLVM/project 2501fcbclang/lib/AST ASTContext.cpp, clang/lib/Basic/Targets PPC.cpp

limit support to cpu-only versions, and implement getFMVPriority
DeltaFile
+16-16clang/lib/CodeGen/CodeGenFunction.cpp
+4-20clang/lib/CodeGen/Targets/PPC.cpp
+17-1clang/lib/Basic/Targets/PPC.cpp
+8-5clang/lib/AST/ASTContext.cpp
+7-6clang/lib/Sema/SemaPPC.cpp
+52-485 files

LLVM/project 351d900llvm/lib/Target/RISCV RISCVFrameLowering.cpp, llvm/test/CodeGen/RISCV callee-saved-gprs.ll zilsd-spill.ll

[llvm][RISCV] Use zilsd for callee-saved register spill/restore on RV32 (#184794)

When the Zilsd extension is enabled on RV32, use SD_RV32/LD_RV32
instructions to spill and restore pairs of callee-saved GPRs instead of
saving 2 separate 32 bit data.
Note that we need to ensure stack slot to be aligned.
DeltaFile
+1,151-0llvm/test/CodeGen/RISCV/callee-saved-gprs.ll
+39-75llvm/test/CodeGen/RISCV/zilsd-spill.ll
+39-75llvm/test/CodeGen/RISCV/zdinx-spill.ll
+94-13llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
+6-10llvm/test/CodeGen/RISCV/fold-addi-loadstore-zilsd.ll
+2-4llvm/test/CodeGen/RISCV/double-mem.ll
+1,331-1776 files

LLVM/project a07ab1ellvm/lib/Target/AMDGPU AMDGPUCoExecSchedStrategy.cpp GCNSchedStrategy.cpp, llvm/test/CodeGen/AMDGPU coexec-sched-effective-stall.mir

[AMDGPU] Add structural stall heuristic to scheduling strategies

Implements a structural stall heuristic that considers both resource
hazards and latency constraints when selecting instructions. In coexec,
this changes the pending queue from a binary “not ready to issue”
distinction into part of a unified candidate comparison. Pending
instructions still identify structural stalls in the current cycle, but
they are now evaluated directly against available instructions by stall
cost, making the heuristics both more intuitive and more expressive.

- Add getStructuralStallCycles() to GCNSchedStrategy that computes the
number of cycles an instruction must wait due to:
  - Resource conflicts on unbuffered resources (from the SchedModel)
  - Sequence-dependent hazards (from GCNHazardRecognizer)

- Add getHazardWaitStates() to GCNHazardRecognizer that returns the number
of wait states until all hazards for an instruction are resolved,
providing cycle-accurate hazard information for scheduling heuristics.
DeltaFile
+38-3llvm/lib/Target/AMDGPU/AMDGPUCoExecSchedStrategy.cpp
+35-0llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
+7-2llvm/lib/Target/AMDGPU/GCNSchedStrategy.h
+2-4llvm/test/CodeGen/AMDGPU/coexec-sched-effective-stall.mir
+6-0llvm/lib/Target/AMDGPU/GCNHazardRecognizer.h
+4-0llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
+92-91 files not shown
+94-97 files

LLVM/project 12de945llvm/include/llvm/Analysis TargetTransformInfo.h

[InferAS][NFC] Improve documentation for getAddrSpaceCastPreservedPtrMask (#185239)

Clarify the description of the preserved pointer bit mask and its
purpose in address space inference. Reformat the example for better
readability.

Co-authored-by: Yuanke Luo <ykluo at birentech.com>
DeltaFile
+13-7llvm/include/llvm/Analysis/TargetTransformInfo.h
+13-71 files

LLVM/project c400db3llvm/test/Analysis/DependenceAnalysis weak-zero-siv-overflow.ll

[DA] Fix test case for the Weak Zero SIV tests (NFC) (#185555)

The IR does not match the pseudo code. The pseudo code is intentional,
so update the IR accordingly.
DeltaFile
+1-1llvm/test/Analysis/DependenceAnalysis/weak-zero-siv-overflow.ll
+1-11 files

LLVM/project 9a89af9lldb/test/Shell/ScriptInterpreter/Python python-bytecode.test

[lldb] Update test diff invocation for portability (#185557)

Use --strip-trailing-cr to ignore line ending differences. Fixes
failures on windows.
DeltaFile
+1-1lldb/test/Shell/ScriptInterpreter/Python/python-bytecode.test
+1-11 files

LLVM/project 5111b03llvm/lib/Target/RISCV RISCVISelLowering.cpp

Use std::swap

Created using spr 1.3.6-beta.1
DeltaFile
+8-15llvm/lib/Target/RISCV/RISCVISelLowering.cpp
+8-151 files

LLVM/project 88bd3f4clang/lib/Basic DiagnosticIDs.cpp, clang/test/Misc diag-mapping.c

[clang] Adjust -pedantic-errors -WX/-Wno-error=X interaction (#184756)

While -Wno-long-long suppresses -pedantic-errors diagnostics in both GCC
and Clang, GCC -Wno-error=long-long emits warnings while Clang still
emits errors.

```
% echo 'long long x = 0;' | gcc -std=c89 -pedantic-errors -Wno-error=long-long -x c -fsyntax-only -
<stdin>:1:6: warning: ISO C90 does not support 'long long' [-Wlong-long]
% echo 'long long x = 0;' | clang -std=c89 -pedantic-errors -Wno-error=long-long -x c -fsyntax-only -
<stdin>:1:1: error: 'long long' is an extension when C99 mode is not enabled [-Werror,-Wlong-long]
    1 | long long x = 0;
      | ^
1 error generated.
```

The order of -pedantic-errors and -Wno-error=long-long does not matter.

Two fixes to how extension diagnostics interact with -pedantic-errors

    [20 lines not shown]
DeltaFile
+10-3clang/lib/Basic/DiagnosticIDs.cpp
+7-2clang/test/Misc/diag-mapping.c
+17-52 files

LLVM/project c5ae919llvm/test/CodeGen/AArch64 clmul-fixed.ll, llvm/test/MC/AMDGPU gfx1170_asm_vop3_dpp16.s gfx1170_asm_vop3.s

Merge branch 'main' into users/ssahasra/const-ast-context
DeltaFile
+853-1,663llvm/test/CodeGen/AArch64/clmul-fixed.ll
+1,273-36llvm/test/MC/AMDGPU/gfx1170_asm_vop3_dpp16.s
+1,219-12llvm/test/MC/AMDGPU/gfx1170_asm_vop3.s
+1,081-0llvm/test/MC/AMDGPU/gfx1170_asm_vop3-fake16.s
+1,054-0llvm/test/MC/AMDGPU/gfx1170_asm_vop3_dpp16-fake16.s
+1,010-16llvm/test/MC/AMDGPU/gfx1170_asm_vop3_dpp8.s
+6,490-1,727683 files not shown
+26,899-7,422689 files

LLVM/project 24bf26cclang/test/CodeGenHLSL/groupsharedArgs TemplateTest.hlsl Overloads.hlsl, clang/test/SemaHLSL/Language/groupsharedArgs InOut.hlsl ExplicitCast.hlsl

[HLSL] Add support for groupshared args (#181886)

Add support for groupshared args to HLSL.
Some support for template errors and warnings still needs to be added in
a follow up (tracked by #182535)
Closes #174472
DeltaFile
+90-0clang/test/SemaHLSL/Language/groupsharedArgs/InOut.hlsl
+55-0clang/test/CodeGenHLSL/groupsharedArgs/TemplateTest.hlsl
+38-0clang/test/CodeGenHLSL/groupsharedArgs/Overloads.hlsl
+31-0clang/test/SemaHLSL/Language/groupsharedArgs/ExplicitCast.hlsl
+30-0clang/test/SemaHLSL/Language/groupsharedArgs/ScalarTest.hlsl
+28-0clang/test/SemaHLSL/Language/groupsharedArgs/Pre202xWarning.hlsl
+272-016 files not shown
+475-1522 files

LLVM/project 018acc6libunwind/src libunwind.cpp, libunwind/test cfi_violating_handler.pass.cpp

[libunwind][PAC] Defang ptrauth's PC in valid CFI range abort

It turns out making the CFI check a release mode abort causes many,
if not the majority, of JITs to fail during unwinding as they do not
set up CFI sections for their generated code. As a result any JITs
that do nominally support unwinding (and catching) through their JIT
or assembly frames trip this abort.

rdar://170862047
DeltaFile
+53-0libunwind/test/cfi_violating_handler.pass.cpp
+11-17libunwind/src/libunwind.cpp
+64-172 files

LLVM/project 4e986efllvm/lib/Analysis DependenceAnalysis.cpp, llvm/test/Analysis/DependenceAnalysis weak-zero-siv-delta-signed-min.ll

[DA] Fix the Weak Zero SIV tests when Delta is a signed minimum.
DeltaFile
+33-4llvm/lib/Analysis/DependenceAnalysis.cpp
+6-6llvm/test/Analysis/DependenceAnalysis/weak-zero-siv-delta-signed-min.ll
+39-102 files

LLVM/project e253867llvm/test/Analysis/DependenceAnalysis weak-zero-siv-delta-signed-min.ll

[DA] Add tests for the Weak Zero SIV tests miss dependency (NFC)
DeltaFile
+111-0llvm/test/Analysis/DependenceAnalysis/weak-zero-siv-delta-signed-min.ll
+111-01 files