LLVM/project 4671437libc/src/__support/math expm1.h tan.h

[libc] Add missing LIBC_INLINE to functions defined in .h files (#213442)
DeltaFile
+3-2libc/src/__support/math/tan.h
+2-2libc/src/__support/math/expm1.h
+5-42 files

LLVM/project 350089dlibc/src/__support common.h

[libc] Fix LLVM_LIBC_FUNCTION on 32-bit x86 Windows (#213456)

Previously, trying to compile libm with LIBC_COPT_PUBLIC_PACKAGING
defined failed on 32-bit Windows with

    error: alias must point to a defined variable or function

This is because 32-bit Windows adds a leading underscore to __cdecl C
functions, making the alias declaration not find its target symbol name.
The same problem exists on Apple platforms, which as solution don't emit
the alias for the C++ LIBC_NAMESPACE:: symbol.

Do the same on 32-bit Windows as on Apple platforms: Emit only
the underscore-prefixed symbol, not the LIBC_NAMESPACE:: alias.
DeltaFile
+17-14libc/src/__support/common.h
+17-141 files

LLVM/project 004ebf7llvm/test/TableGen RegClassByHwMode.td, llvm/utils/TableGen AsmMatcherEmitter.cpp

[𝘀𝗽𝗿] initial version

Created using spr 1.3.8-beta.1-arichardson
DeltaFile
+5-1llvm/utils/TableGen/AsmMatcherEmitter.cpp
+1-1llvm/test/TableGen/RegClassByHwMode.td
+6-22 files

LLVM/project 007c684mlir/include/mlir/Dialect/XeGPU/IR XeGPUAttrs.td XeGPUOps.td, mlir/lib/Dialect/XeGPU/IR XeGPUOps.cpp

[mlir][xegpu] Add xegpu.lane_shuffle op (#210777)

Add a lane-level XeGPU operation that re-distributes a subgroup's
fragments across its lanes without changing the element type.

The op takes a 1D vector — the fragment held by one lane — and returns a
fragment of the same type. A pack/unpack mode selects the direction:
viewing the subgroup as an S x N element grid (S = subgroup size, N =
elements per lane), pack moves element j of lane i from logical position
j*S + i to i*N + j, so a lane's elements end up at consecutive
positions; unpack is the reverse.
  
This implements xegpu.convert_layout semantics at the lane level when
lane_layout is unchanged but lane_data differs.
  
assisted-by-claude

---------

Co-authored-by: Claude Opus 4.8 <noreply at anthropic.com>
DeltaFile
+72-0mlir/include/mlir/Dialect/XeGPU/IR/XeGPUOps.td
+42-0mlir/test/Dialect/XeGPU/ops.mlir
+36-0mlir/test/Dialect/XeGPU/canonicalize.mlir
+23-0mlir/lib/Dialect/XeGPU/IR/XeGPUOps.cpp
+21-0mlir/include/mlir/Dialect/XeGPU/IR/XeGPUAttrs.td
+7-0mlir/test/Dialect/XeGPU/invalid.mlir
+201-01 files not shown
+204-07 files

LLVM/project cfd7f8blibc/test/shared shared_builtins_test.cpp

fix conflicts
DeltaFile
+2-5libc/test/shared/shared_builtins_test.cpp
+2-51 files

LLVM/project 1984097compiler-rt/lib/builtins comparetf2.cpp, libc/shared/builtins unordtf2.h letf2.h

[compiler-rt][builtins] libc-backed quad-float comparison builtins
DeltaFile
+49-0compiler-rt/lib/builtins/comparetf2.cpp
+36-0libc/src/__support/builtins/letf2.h
+36-0libc/src/__support/builtins/unordtf2.h
+36-0libc/src/__support/builtins/getf2.h
+35-0libc/shared/builtins/unordtf2.h
+35-0libc/shared/builtins/letf2.h
+227-06 files not shown
+321-012 files

LLVM/project 01d882acompiler-rt/lib/builtins comparedf2.cpp, libc/shared/builtins ledf2.h unorddf2.h

[compiler-rt][builtins] libc-backed double-float comparison builtins
DeltaFile
+54-0compiler-rt/lib/builtins/comparedf2.cpp
+30-0libc/src/__support/builtins/gedf2.h
+30-0libc/src/__support/builtins/ledf2.h
+30-0libc/src/__support/builtins/unorddf2.h
+29-0libc/shared/builtins/ledf2.h
+29-0libc/shared/builtins/unorddf2.h
+202-06 files not shown
+280-012 files

LLVM/project 63d6e8dcompiler-rt/lib/builtins comparesf2.cpp, libc/shared/builtins lesf2.h unordsf2.h

[compiler-rt][builtins] libc-backed single-float comparison builtins
DeltaFile
+54-0compiler-rt/lib/builtins/comparesf2.cpp
+30-0libc/src/__support/builtins/unordsf2.h
+30-0libc/src/__support/builtins/lesf2.h
+30-0libc/src/__support/builtins/gesf2.h
+29-0libc/shared/builtins/lesf2.h
+29-0libc/shared/builtins/unordsf2.h
+202-06 files not shown
+280-012 files

LLVM/project 8fd4c22libc/src/__support/builtins CMakeLists.txt cmp_helper.h

[libc][builtins] add cmp_helper for compiler-rt soft-float comparisons
DeltaFile
+63-0libc/src/__support/builtins/cmp_helper.h
+7-0libc/src/__support/builtins/CMakeLists.txt
+70-02 files

LLVM/project e2564f0libc/src/__support/builtins cmp_helper.h

fix format
DeltaFile
+2-2libc/src/__support/builtins/cmp_helper.h
+2-21 files

LLVM/project 6545f29llvm/lib/IR Operator.cpp, llvm/test/Transforms/ConstraintElimination gep-struct-offset-index-width.ll

[IR] Truncate struct field offsets exceeding the pointer index width. (#213436)

Update accumulateConstantOffset and collectOffset to implicitly truncate
struct field offsets. This fixes crashes in the new tests, where the
field offset does not fit in the index width.

PR: https://github.com/llvm/llvm-project/pull/213436
DeltaFile
+31-0llvm/test/Transforms/ConstraintElimination/gep-struct-offset-index-width.ll
+28-0llvm/test/Transforms/InstCombine/gep-struct-offset-index-width.ll
+6-4llvm/lib/IR/Operator.cpp
+65-43 files

LLVM/project bd9aa3clld/ELF Config.h Writer.cpp, lld/test/ELF ppc64-long-branch-rel14.s ppc64-pcrel-call-to-pcrel.s

[ELF] Retain .rela.dyn for PPC64 PI long-branch thunks (#212078)

PPC64PILongBranchThunk adds a relative relocation, which runs after
removeUnusedSyntheticSections. With no other dynamic relocation
.rela.dyn is incorrectly removed.

Extract the .rela.auth.dyn condition (#96496, #195649) to `mayGrowLate`
and add a .branch_lt check.
DeltaFile
+22-10lld/ELF/Writer.cpp
+10-10lld/test/ELF/ppc64-pcrel-call-to-pcrel.s
+10-1lld/test/ELF/ppc64-long-branch-rel14.s
+4-0lld/ELF/Config.h
+46-214 files

LLVM/project ce1c15aflang/include/flang/Parser parse-tree.h, flang/lib/Lower/OpenMP Clauses.cpp

[flang][OpenMP] Version-dependent parsing of map-type-modifier

Up until 5.2, ALWAYS, CLOSE, and PRESENT were keywords of the
map-type-modifier. Starting from 6.0 they all became their own
single-keyword modifiers. This allowed specifying them together,
unlike in the past where map-type-modifier was unique.

To avoid using a single representation of the modifiers, and be
able to validate them through non-conditional properties, the
AST was rewritten back to the older form in canonicalization
when the spec version was set to 5.2 or earlier.

Now that the parser is version-aware, it can generate the desired
AST from the start.

Additionally, extract the OMPX_HOLD modifier out of the map-type-
modifier into its own AST node regardless of version.
DeltaFile
+62-19flang/lib/Parser/openmp-parsers.cpp
+1-45flang/lib/Semantics/canonicalize-omp.cpp
+7-7flang/test/Parser/OpenMP/map-modifiers-v60.f90
+4-4flang/test/Parser/OpenMP/map-modifiers.f90
+1-2flang/include/flang/Parser/parse-tree.h
+0-1flang/lib/Lower/OpenMP/Clauses.cpp
+75-786 files

LLVM/project cf5e882flang/include/flang/Parser parsing.h user-state.h, flang/lib/Frontend FrontendAction.cpp ParserActions.cpp

[flang] Pass LangOptions to parser via UserState

This will help deal with syntax changes across different versions of
OpenMP. There are certain cases where being able to generate different
AST for the same source code depending on the version of the OpenMP
spec makes semantic analysis easier.
DeltaFile
+8-0flang/include/flang/Parser/user-state.h
+4-2flang/lib/Parser/parsing.cpp
+4-2flang/lib/Frontend/ParserActions.cpp
+3-1flang/lib/Frontend/FrontendAction.cpp
+3-1flang/include/flang/Parser/parsing.h
+1-1flang/lib/Semantics/mod-file.cpp
+23-71 files not shown
+24-87 files

LLVM/project 6dfd733lldb/source/Plugins/Platform/Windows PlatformWindows.cpp

[lldb][Windows] Improve error messages in PlatformWindows.cpp (#213011)

The reason for the failure is known but is not in the log. Add a helper
function to map the error to a string and log it.

---------

Co-authored-by: Jonas Devlieghere <jonas at devlieghere.com>
DeltaFile
+10-2lldb/source/Plugins/Platform/Windows/PlatformWindows.cpp
+10-21 files

LLVM/project 67a2074lldb/docs/resources test.md, lldb/packages/Python/lldbsuite/test skip_reason.py test_result.py

[lldb] Introduce the require decorator (#212753)

Currently, it is unclear if a test that is skipped is either:
- Unsupported because it will never run (macosx tests should not run on
Windows).
- Skipped because it's supposed to work but does not yet.
`@expectedFailure` is not always an option because a test might be
timing out and waiting 600s for it to fail is not acceptable.

This patch introduces 2 new decorators to differentiate those tests:
- `@requireX` meaning the tests require X to run (e.g `@requireDarwin`).
- `@requireNotX` meaning the tests requires anything but `X` to run (e.g
`@requireNotDarwin`).

In the tests results summary, this introduces a new category: `skipped`
tests:
- `@requireX` -> `UNSUPPORTED`
- `@skipIfX` -> `SKIPPED`


    [35 lines not shown]
DeltaFile
+121-0lldb/packages/Python/lldbsuite/test/decorators.py
+29-0lldb/docs/resources/test.md
+16-3lldb/packages/Python/lldbsuite/test/test_result.py
+17-0lldb/packages/Python/lldbsuite/test/skip_reason.py
+12-1lldb/test/API/lldbtest.py
+6-6lldb/test/API/linux/aarch64/gcs/TestAArch64LinuxGCS.py
+201-1082 files not shown
+322-12588 files

LLVM/project bd427e7llvm/utils/gn/secondary/clang-tools-extra/include-cleaner/unittests BUILD.gn, llvm/utils/gn/secondary/clang-tools-extra/unittests BUILD.gn

[gn] add ClangIncludeCleanerTests (#213073)
DeltaFile
+32-0llvm/utils/gn/secondary/clang-tools-extra/include-cleaner/unittests/BUILD.gn
+1-0llvm/utils/gn/secondary/clang-tools-extra/unittests/BUILD.gn
+33-02 files

LLVM/project 308cb96llvm/utils/gn/secondary/llvm/unittests/Target/RISCV BUILD.gn

[gn build] Port b94b699857a5 (#213458)
DeltaFile
+1-0llvm/utils/gn/secondary/llvm/unittests/Target/RISCV/BUILD.gn
+1-01 files

LLVM/project eeb1e68llvm/test/CodeGen/AArch64/GlobalISel contract-store.mir store-addressing-modes.mir

[AArch64][GlobalISel] Update a number of select tests to concrete types. NFC (#213454)
DeltaFile
+180-180llvm/test/CodeGen/AArch64/GlobalISel/opt-shifted-reg-compare.mir
+47-47llvm/test/CodeGen/AArch64/GlobalISel/select.mir
+44-44llvm/test/CodeGen/AArch64/GlobalISel/preselect-process-phis.mir
+42-42llvm/test/CodeGen/AArch64/GlobalISel/fold-brcond-fcmp.mir
+41-41llvm/test/CodeGen/AArch64/GlobalISel/store-addressing-modes.mir
+38-38llvm/test/CodeGen/AArch64/GlobalISel/contract-store.mir
+392-3927 files not shown
+497-49713 files

LLVM/project 7890908llvm/lib/Transforms/Scalar ConstraintElimination.cpp, llvm/test/Transforms/ConstraintElimination ne-tightening.ll

[ConstraintElim] Remove const op restriction from tightenBoundUsingNe. (#213440)

Remove the constant operand restriction for the bounds tightening logic
added in https://github.com/llvm/llvm-project/pull/213049.

The condition is not needed for correctness, and there are a number of
cases in practice where results can be improved:
https://github.com/dtcxzyw/llvm-opt-benchmark-nightly/pull/839


Compile-time impact in the noise

https://llvm-compile-time-tracker.com/compare.php?from=60f965b1f62c0c77bcdb2997ea9bb6603aa0d002&to=1f7190605cc3a13cd992eaad3053b599cd5e4ed0&stat=instructions:u

PR: https://github.com/llvm/llvm-project/pull/213440
DeltaFile
+1-2llvm/test/Transforms/ConstraintElimination/ne-tightening.ll
+1-1llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
+2-32 files

LLVM/project efe31d6llvm/lib/Analysis InstructionSimplify.cpp, llvm/test/Transforms/InstCombine fold-or-zext-sext.ll fold-and-zext-sext.ll

[InstSimplify] Fold `zext(X) | sext(X)` --> `sext(X)` and `zext(X) & sext(X)` --> `zext(X)` (#213313)

fix #213247

alive2: https://alive2.llvm.org/ce/z/G6se2o
godbolt: https://godbolt.org/z/M3nz5Tvcn
DeltaFile
+101-0llvm/test/Transforms/InstCombine/fold-or-zext-sext.ll
+101-0llvm/test/Transforms/InstCombine/fold-and-zext-sext.ll
+20-0llvm/lib/Analysis/InstructionSimplify.cpp
+222-03 files

LLVM/project e456ba9llvm/test/CodeGen/AMDGPU llvm.amdgcn.av.load.b128.ll amdgcn.bitcast.1024bit.ll, llvm/test/CodeGen/AMDGPU/GlobalISel llvm.amdgcn.ptr.s.buffer.load.ll

Merge branch 'main' into users/c8ef/generator
DeltaFile
+2,825-2,887llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
+5,516-0llvm/test/CodeGen/RISCV/rvv/fixed-vectors-clmulh.ll
+4,862-0llvm/test/Transforms/LoopVectorize/vplan-based-stride-mv.ll
+4,058-0llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.ptr.s.buffer.load.ll
+3,291-0llvm/test/CodeGen/AMDGPU/llvm.amdgcn.av.load.b128.ll
+2,988-0llvm/test/Transforms/LoopVectorize/VPlan/vplan-based-stride-mv.ll
+23,540-2,8873,524 files not shown
+178,425-103,8623,530 files

LLVM/project cfad953clang/test/Sema/LifetimeSafety/Inputs lifetime-analysis.h

fix test
DeltaFile
+3-3clang/test/Sema/LifetimeSafety/Inputs/lifetime-analysis.h
+3-31 files

LLVM/project 36b6f48libc/test/src/__support/FPUtil CMakeLists.txt float128_test.cpp

[libc] Add conversion tests between emulated and native f128 (#213422)

Adds conversion tests between emulated and native float128 type, which
would be later used in f128 functions .
DeltaFile
+23-0libc/test/src/__support/FPUtil/float128_test.cpp
+1-0libc/test/src/__support/FPUtil/CMakeLists.txt
+24-02 files

LLVM/project 82d818bmlir/lib/Target/LLVMIR ModuleImport.cpp, mlir/test/Target/LLVMIR/Import function-metadata.ll

[MLIR][LLVM] Preserve unknown function metadata on import

Import representable non-debug function metadata without a kind-specific
dialect conversion into `LLVMFuncOp` `function_metadata`. Preserve repeated
metadata kinds through the generic carrier so LLVM IR import and export can
round-trip the supported generic metadata subset.

Warn and drop attachments outside that subset while continuing to import the
function.
DeltaFile
+110-0mlir/test/Target/LLVMIR/Import/function-metadata.ll
+36-5mlir/lib/Target/LLVMIR/ModuleImport.cpp
+146-52 files

LLVM/project 1d87038mlir/lib/Target/LLVMIR ModuleTranslation.cpp, mlir/test/Target/LLVMIR function-metadata.mlir

[MLIR][LLVM] Translate LLVMFuncOp function metadata

Materialize LLVMFuncOp function_metadata through ModuleTranslation metadata conversion. Attach function metadata after module-level symbols are mapped so metadata references to functions, globals, aliases, and ifuncs can be resolved.
DeltaFile
+156-0mlir/test/Target/LLVMIR/function-metadata.mlir
+49-5mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
+205-52 files

LLVM/project 396eb66mlir/include/mlir/Dialect/LLVMIR LLVMOps.td LLVMAttrDefs.td, mlir/lib/Dialect/LLVMIR/IR LLVMAttrs.cpp

[MLIR][LLVM] Add function metadata to LLVMFuncOp

Add a generic LLVM dialect carrier for LLVM IR function metadata on LLVMFuncOp.
Represent attachments as an ordered list so repeated metadata kinds, such as
multiple type metadata attachments, can be preserved while keeping metadata names
language-agnostic.
DeltaFile
+22-0mlir/test/Dialect/LLVMIR/roundtrip.mlir
+22-0mlir/include/mlir/Dialect/LLVMIR/LLVMAttrDefs.td
+20-0mlir/test/Dialect/LLVMIR/invalid.mlir
+18-0mlir/lib/Dialect/LLVMIR/IR/LLVMAttrs.cpp
+3-0mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
+1-0mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
+86-06 files

LLVM/project c938d3bmlir/lib/Target/LLVMIR ModuleImport.cpp, mlir/test/Target/LLVMIR/Import import-failure.ll intrinsic-unregistered.ll

[MLIR][LLVM] Preserve global value metadata operands on import

Import global value references inside LLVM metadata operands as LLVM dialect metadata symbol-reference attributes. Add llvm.read_register import coverage for function, global, alias, and nameless-global metadata operands.
DeltaFile
+75-5mlir/test/Target/LLVMIR/Import/intrinsic-unregistered.ll
+51-13mlir/lib/Target/LLVMIR/ModuleImport.cpp
+45-0mlir/test/Target/LLVMIR/Import/import-failure.ll
+171-183 files

LLVM/project 9a894ffllvm/lib/Transforms/IPO IROutliner.cpp, llvm/test/CodeGen/AMDGPU llvm.amdgcn.av.load.b128.ll amdgcn.bitcast.1024bit.ll

Rebase

Created using spr 1.3.7
DeltaFile
+2,825-2,887llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
+4,862-0llvm/test/Transforms/LoopVectorize/vplan-based-stride-mv.ll
+4,058-0llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.ptr.s.buffer.load.ll
+3,291-0llvm/test/CodeGen/AMDGPU/llvm.amdgcn.av.load.b128.ll
+2,988-0llvm/test/Transforms/LoopVectorize/VPlan/vplan-based-stride-mv.ll
+0-2,975llvm/lib/Transforms/IPO/IROutliner.cpp
+18,024-5,8622,851 files not shown
+154,244-94,0442,857 files

LLVM/project 610a310mlir/include/mlir/Dialect/LLVMIR LLVMAttrDefs.td LLVMOps.td, mlir/lib/CAPI/Dialect LLVM.cpp

[MLIR][LLVM] Share LLVM metadata attribute translation (#203016)

Share LLVM dialect metadata materialization through `ModuleTranslation`
so named metadata and metadata-as-value lowering use one conversion
path. Resolve metadata symbol references to functions, globals, aliases,
and ifuncs, and diagnose malformed required metadata before lowering.

Rename `MDFuncAttr` to `MDGlobalValueAttr` to reflect its support for
symbol-backed global values.
DeltaFile
+19-43mlir/lib/Target/LLVMIR/Dialect/LLVMIR/LLVMToLLVMIRTranslation.cpp
+53-0mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
+32-1mlir/test/Target/LLVMIR/llvmir-named-metadata.mlir
+13-10mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
+13-8mlir/include/mlir/Dialect/LLVMIR/LLVMAttrDefs.td
+10-9mlir/lib/CAPI/Dialect/LLVM.cpp
+140-719 files not shown
+204-10215 files