LLVM/project 7494f3dllvm/docs SPIRVUsage.rst, llvm/lib/Target/SPIRV SPIRVBuiltins.cpp SPIRVInstrInfo.td

[SPIRV] Added support for extension SPV_ALTERA_arbitrary_precision_fixed_point and name change of SPV_INTEL_arbitrary_precision_integers to SPV_ALTERA_arbitrary_precision_integers  (#136085)

--Added support for extension SPV_ALTERA_arbitrary_precision_fixed_point
--Added test files for extension
SPV_ALTERA_arbitrary_precision_fixed_point
DeltaFile
+254-0llvm/test/CodeGen/SPIRV/extensions/SPV_ALTERA_arbitrary_precision_fixed_point/capability-arbitrary-precision-fixed-point-numbers.ll
+73-0llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
+24-0llvm/lib/Target/SPIRV/SPIRVInstrInfo.td
+21-0llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
+14-0llvm/lib/Target/SPIRV/SPIRVBuiltins.td
+8-5llvm/docs/SPIRVUsage.rst
+394-514 files not shown
+433-3820 files

LLVM/project f5bd5bfllvm/docs LangRef.rst, llvm/include/llvm/CodeGen ISDOpcodes.h

Revert "Revert "LangRef: Clarify llvm.minnum and llvm.maxnum about sNaN and s…"

This reverts commit 75aa01b89553bf4213a3b0e83829b6d0689941b9.
DeltaFile
+56-54llvm/docs/LangRef.rst
+15-5llvm/include/llvm/CodeGen/ISDOpcodes.h
+71-592 files

LLVM/project 2e21bb8llvm/lib/Target/RISCV RISCVISelLowering.cpp, llvm/test/CodeGen/RISCV zicond-fp-select-zfinx.ll

[RISCV][ISelLowering] Use Zicond for FP selects on Zfinx/Zdinx (#169299)

### Summary

This patch let RISCVTargetLowering::lowerSELECT to lower some
floating-point select operations through an integer zicond select when:
* Zicond is available, and 
* FP values live in GPRs (Zfinx/Zdinx), and
* Select condition is an integer type.

In that scenario there is no extra cost for GPR <-> "FP GPR" moves, so
we can implement FP selects with a CZERO-based sequence instead of a
branch.

For example, for  
```c
float foo(int cond, float x) {
    return (cond != 0) ? x : 0.0f;
}

    [42 lines not shown]
DeltaFile
+798-0llvm/test/CodeGen/RISCV/zicond-fp-select-zfinx.ll
+44-0llvm/lib/Target/RISCV/RISCVISelLowering.cpp
+842-02 files

LLVM/project e110abcmlir/lib/Dialect/Affine/Utils LoopUtils.cpp, mlir/test/Dialect/Affine loop-coalescing.mlir

[mlir][affine] Use iter argument replace init when delete loop in the coalesceLoops function (#169514)

Fix https://github.com/llvm/llvm-project/issues/169483 by using iter
argument replace init when delete loop in the coalesceLoops function.
DeltaFile
+28-0mlir/test/Dialect/Affine/loop-coalescing.mlir
+6-0mlir/lib/Dialect/Affine/Utils/LoopUtils.cpp
+34-02 files

LLVM/project 75aa01bllvm/docs LangRef.rst, llvm/include/llvm/CodeGen ISDOpcodes.h

Revert "LangRef: Clarify llvm.minnum and llvm.maxnum about sNaN and signed zero (#112852)" (#168838)

This reverts commit 363b05944f9212511ee6811d0eb1af841c177226.

This is a follow up of #166912. Sorry for not noticing the change at the
beginning, but I disagree with both sNaN and signed zero semantics
change.

I have 3 justifications:

- llvm.minnum and llvm.maxnum are common intrinsics, we cannot change
the definition just because "some architectures" support the changed
semantic. For example, X86 min/max instructions neither distinguish sNaN
nor signed zero. We have to add couples of extra instructions to match
with the new definition, which makes the intrinsics less efficient. But
efficient is not the reason for the objection. I object because such
cost is unnecessary;
- As the example ``minnum(fadd(sNaN, -0.0), 1.0)`` shows, minnum/maxnum
themself cannot guarantee consistent result if multiple FP arithmetic

    [10 lines not shown]
DeltaFile
+54-56llvm/docs/LangRef.rst
+5-15llvm/include/llvm/CodeGen/ISDOpcodes.h
+59-712 files

LLVM/project c4403e6llvm/unittests/CAS CASTestConfig.h

[𝘀𝗽𝗿] initial version

Created using spr 1.3.7
DeltaFile
+8-0llvm/unittests/CAS/CASTestConfig.h
+8-01 files

LLVM/project 5d04a83flang-rt CMakeLists.txt, flang-rt/lib/runtime CMakeLists.txt

Fix build with f128_sources
DeltaFile
+3-2flang-rt/lib/runtime/CMakeLists.txt
+1-0flang-rt/CMakeLists.txt
+4-22 files

LLVM/project ffed5faflang-rt/lib CMakeLists.txt, flang-rt/lib/runtime CMakeLists.txt

Fix oversights
DeltaFile
+1-1flang-rt/lib/runtime/CMakeLists.txt
+1-1flang-rt/lib/CMakeLists.txt
+2-22 files

LLVM/project ef37858lld/ELF SyntheticSections.cpp SyntheticSections.h

ELF: Move .eh_frame_hdr code closer to .eh_frame . NFC

... as they are closely related. Also improve the comments.
DeltaFile
+70-87lld/ELF/SyntheticSections.cpp
+11-19lld/ELF/SyntheticSections.h
+81-1062 files

LLVM/project c465a56llvm/lib/Transforms/Vectorize VPlanUtils.cpp

[VPlan] Handle canonical IVs in ::isSingleScalar. (NFCI)

The canonical IV is always a single scalar. They are already treated as
uniform-across-UF-and-VF.

This should currently be NFC.
DeltaFile
+2-1llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
+2-11 files

LLVM/project 113e0c9llvm/test/Transforms/LoopVectorize select-umin-first-index.ll

[LV] Add additional tests for argmin with find-first wrapping IV ranges.

Add test cases for upcoming argmin vectorization changes that have
wrapping IV ranges.
DeltaFile
+89-0llvm/test/Transforms/LoopVectorize/select-umin-first-index.ll
+89-01 files

LLVM/project 0f7ccb4clang/include/clang/CIR/Dialect/IR CIROps.td CIRAttrs.td, clang/lib/CIR/Dialect/IR CIRDialect.cpp

[CIR] Align inline-kind FuncOp attribute with incubator

Switches to more efficient explicit enum property instead of a wrapped storage, simplifying the string representation. The attribute is now placed before the symbol name for consistency with other FuncOp attributes. FileCheck patterns are also simplified to match only the attributes under test.
DeltaFile
+46-34clang/lib/CIR/Dialect/IR/CIRDialect.cpp
+30-30clang/test/CIR/CodeGenBuiltins/builtins-overflow.cpp
+27-23clang/include/clang/CIR/Dialect/IR/CIROps.td
+4-38clang/include/clang/CIR/Dialect/IR/CIRAttrs.td
+22-15clang/test/CIR/IR/inline-attrs.cir
+14-14clang/test/CIR/CodeGen/lambda.cpp
+143-15442 files not shown
+303-32248 files

LLVM/project f42e58fllvm/utils/gn/secondary/libcxx/include BUILD.gn

[gn] port a6643f27ecda (libc++ picolib/newlib)
DeltaFile
+2-0llvm/utils/gn/secondary/libcxx/include/BUILD.gn
+2-01 files

LLVM/project 38678a9llvm/lib/CodeGen/SelectionDAG DAGCombiner.cpp, llvm/test/CodeGen/X86 addcarry.ll

[DAG] getCarry - always succeed if we encounter a i1 type during trunc/ext peeling (#169777)

If we are force reconstructing a carry from a raw MVT::i1 type, make
sure we don't miss any cases while peeling through trunc/ext chains -
check for i1 types at the start of the while loop

Fixes #169691
DeltaFile
+3-12llvm/test/CodeGen/X86/addcarry.ll
+3-3llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
+6-152 files

LLVM/project 76d5dd5llvm/include/llvm/CodeGen BasicTTIImpl.h, llvm/lib/Target/RISCV RISCVTargetTransformInfo.cpp RISCVISelLowering.cpp

[TTI][RISCV] Add cost modelling for intrinsic vp.load.ff (#169890)

This patch is a rework of #160470 (which was reverted).
With getMemIntrinsicCost() now available, we can re‑land the change and
reduce vp_load_ff boilerplate.
DeltaFile
+65-65llvm/test/Analysis/CostModel/RISCV/vp-intrinsics.ll
+19-0llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
+16-0llvm/lib/Target/RISCV/RISCVISelLowering.cpp
+12-1llvm/include/llvm/CodeGen/BasicTTIImpl.h
+4-0llvm/lib/Target/RISCV/RISCVISelLowering.h
+4-0llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
+120-661 files not shown
+122-677 files

LLVM/project 0bd2f12mlir/docs/Dialects/Linalg OpDSL.md, mlir/include/mlir/Dialect/Linalg/IR LinalgNamedStructuredOps.yaml

[mlir][linalg] Restrict fill initial value type to output element type (#169567)

Disallow implicit casting, which is surprising, and, IME, usually
indicative of copy-paste errors.

Because the initial value must be a scalar, I don't expect this to
affect any data movement.
DeltaFile
+12-14mlir/test/python/integration/dialects/linalg/opsrun.py
+1-25mlir/test/Dialect/Linalg/fusion-elementwise-ops.mlir
+21-2mlir/lib/Dialect/Linalg/IR/LinalgInterfaces.cpp
+18-0mlir/test/Dialect/Linalg/invalid.mlir
+6-12mlir/include/mlir/Dialect/Linalg/IR/LinalgNamedStructuredOps.yaml
+9-8mlir/docs/Dialects/Linalg/OpDSL.md
+67-615 files not shown
+81-7511 files

LLVM/project b228256clang/include/clang/Basic arm_mve_defs.td arm_mve.td, clang/test/CodeGen/arm-mve-intrinsics ternary.c

[ARM] Introduce intrinsics for MVE fma under strict-fp. (#169771)

Similar to #169156, this adds an @arm.mve.fma intrinsic for strict-fp. A
Builder class is added to act as the common subclass of IRBuilder and
IRInt.
DeltaFile
+692-320clang/test/CodeGen/arm-mve-intrinsics/ternary.c
+112-12llvm/test/CodeGen/Thumb2/mve-intrinsics/strict-intrinsics.ll
+11-4clang/utils/TableGen/MveEmitter.cpp
+12-0llvm/lib/Target/ARM/ARMInstrMVE.td
+5-4clang/include/clang/Basic/arm_mve_defs.td
+4-2clang/include/clang/Basic/arm_mve.td
+836-3421 files not shown
+839-3427 files

LLVM/project ce2c081clang/lib/AST RecordLayoutBuilder.cpp

[clang] Move and update comment in getASTRecordLayout, NFC.

isDefinition was already renamed to isCompleteDefinition by commit
f937c023bf in 2011, later the day the comment was originally written.
DeltaFile
+4-5clang/lib/AST/RecordLayoutBuilder.cpp
+4-51 files

LLVM/project 22257e8utils/bazel/llvm-project-overlay/mlir BUILD.bazel

[bazel] Port #169873 (#170027)

A new dependency was added.
DeltaFile
+1-0utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
+1-01 files

LLVM/project dda1fcfllvm/tools/llc llc.cpp

[llc][NFC] Remove unreachable return statement (#169915)

`reportError()` is a `[[noreturn]]` that calls `exit(1)`.
DeltaFile
+2-4llvm/tools/llc/llc.cpp
+2-41 files

LLVM/project 70970d0flang/lib/Lower Runtime.cpp, flang/test/Lower pause-statement.f90

[flang] Implement lowering for the PAUSE statement (Fixes #166821) (#167115)

Implements lowering for the Fortran `PAUSE` statement.

- Handles PAUSE with no operand.
- Handles PAUSE with integer argument.
- Handles PAUSE with character literal argument.
- Adds a new lowering test: flang/test/Lower/pause-statement.f90.

Unlike STOP, PAUSE does not unconditionally terminate control flow.
The lowering preserves labels and GOTOs, consistent with legacy Fortran
behavior.

Fixes: #166821

---------

Co-authored-by: aditya nath <adityanath5002 at gmail.com>
Co-authored-by: Eugene Epshteyn <eepshteyn at nvidia.com>
DeltaFile
+47-4flang/lib/Lower/Runtime.cpp
+26-2flang/test/Lower/pause-statement.f90
+73-62 files

LLVM/project 3de11e9mlir/lib/Dialect/ControlFlow/IR ControlFlowOps.cpp CMakeLists.txt, mlir/test/Dialect/ControlFlow canonicalize.mlir

[mlir][CF] Add `ub.unreachable` canonicalization (#169873)

Basic blocks with only a `ub.unreachable` terminator are unreachable.
This commit adds a canonicalization pattern that folds to `cf.cond_br`
to `cf.br` if one of the destination branches is unreachable.
DeltaFile
+33-1mlir/lib/Dialect/ControlFlow/IR/ControlFlowOps.cpp
+22-0mlir/test/Dialect/ControlFlow/canonicalize.mlir
+1-0mlir/lib/Dialect/ControlFlow/IR/CMakeLists.txt
+56-13 files

LLVM/project 143a40bmlir/include/mlir/Dialect/ControlFlow/IR ControlFlowOps.td, mlir/include/mlir/Dialect/UB/IR UBOps.h

remove UB canonicalization
DeltaFile
+0-26mlir/lib/Dialect/UB/IR/UBOps.cpp
+0-10mlir/test/Dialect/UB/canonicalize.mlir
+0-4mlir/include/mlir/Dialect/UB/IR/UBOps.h
+0-3mlir/test/Dialect/ControlFlow/canonicalize.mlir
+2-0mlir/lib/Dialect/ControlFlow/IR/ControlFlowOps.cpp
+1-1mlir/include/mlir/Dialect/ControlFlow/IR/ControlFlowOps.td
+3-441 files not shown
+3-457 files

LLVM/project 92caacbmlir/include/mlir/Dialect/ControlFlow/IR ControlFlowOps.td, mlir/include/mlir/Dialect/UB/IR UBOps.td

remove UB canonicalization
DeltaFile
+0-26mlir/lib/Dialect/UB/IR/UBOps.cpp
+0-10mlir/test/Dialect/UB/canonicalize.mlir
+0-3mlir/test/Dialect/ControlFlow/canonicalize.mlir
+1-1mlir/include/mlir/Dialect/ControlFlow/IR/ControlFlowOps.td
+2-0mlir/lib/Dialect/ControlFlow/IR/ControlFlowOps.cpp
+0-1mlir/include/mlir/Dialect/UB/IR/UBOps.td
+3-416 files

LLVM/project 04a3be8mlir/include/mlir/Dialect/ControlFlow/IR ControlFlowOps.td, mlir/include/mlir/Dialect/UB/IR UBOps.h

[mlir][UB] Add `ub.unreachable` canonicalization
DeltaFile
+31-1mlir/lib/Dialect/ControlFlow/IR/ControlFlowOps.cpp
+26-0mlir/lib/Dialect/UB/IR/UBOps.cpp
+25-0mlir/test/Dialect/ControlFlow/canonicalize.mlir
+10-0mlir/test/Dialect/UB/canonicalize.mlir
+4-0mlir/include/mlir/Dialect/UB/IR/UBOps.h
+1-1mlir/include/mlir/Dialect/ControlFlow/IR/ControlFlowOps.td
+97-22 files not shown
+99-28 files

LLVM/project a8cffb8llvm/include/llvm/MC MCObjectFileInfo.h, llvm/lib/MC MCObjectFileInfo.cpp

Remove unused MCObjectFileInfo::SupportsWeakOmittedEHFrame

The code is related to pre-AsmPrinter legacy code (see
9cb0e94dc79657144d639c722619e1e4fc19040e in 2008). The only caller has
been removed by bb237c72a69e6294258874a40aaaf14ad2747710 in 2011.
DeltaFile
+0-7llvm/include/llvm/MC/MCObjectFileInfo.h
+0-4llvm/lib/MC/MCObjectFileInfo.cpp
+0-112 files

LLVM/project 75342d3

Merge branch 'users/meinersbur/openmp_hoist-module' into users/meinersbur/flang_builtin-mods_2
DeltaFile
+0-00 files

LLVM/project 0d10200llvm/test/CodeGen/AArch64 fixed-length-bf16-arith.ll, llvm/test/Transforms/AggressiveInstCombine umulh_carry4.ll umulh_ladder.ll

Merge remote-tracking branch 'official/main' into users/meinersbur/openmp_hoist-module
DeltaFile
+4,725-0llvm/test/tools/llvm-mca/RISCV/SpacemitX60/vlseg-vsseg.s
+3,019-0llvm/test/Transforms/AggressiveInstCombine/umulh_carry4.ll
+936-0llvm/test/CodeGen/AArch64/fixed-length-bf16-arith.ll
+858-0llvm/test/Transforms/AggressiveInstCombine/umulh_ladder.ll
+755-0llvm/test/Transforms/AggressiveInstCombine/umulh_carry.ll
+288-454mlir/lib/Dialect/Linalg/Utils/Utils.cpp
+10,581-454830 files not shown
+39,307-12,122836 files

LLVM/project ae89a20flang-rt/lib/runtime CMakeLists.txt, openmp CMakeLists.txt

Fix disabled flang_rt.quad.math
DeltaFile
+22-21flang-rt/lib/runtime/CMakeLists.txt
+1-1openmp/CMakeLists.txt
+23-222 files

LLVM/project 3ad9152llvm/test/tools/llvm-exegesis/RISCV/rvv filter.test, llvm/test/tools/llvm-exegesis/X86 snippet-generator-seed.test

[𝘀𝗽𝗿] initial version

Created using spr 1.3.7
DeltaFile
+16-0llvm/test/tools/llvm-exegesis/X86/snippet-generator-seed.test
+14-1llvm/tools/llvm-exegesis/lib/SnippetGenerator.cpp
+5-3llvm/test/tools/llvm-exegesis/RISCV/rvv/filter.test
+35-43 files