LLVM/project b862554clang/tools/clang-sycl-linker ClangSYCLLinker.cpp, libsycl/src/detail program_manager.cpp device_binary_structures.hpp

[Offload][libsycl][clang-sycl-linker] Simplify SYCL Offload wrapping (#193876)

Replace the __sycl_tgt_bin_desc/__sycl_tgt_device_image-based fat binary
registration with a simpler OffloadBinary-native approach:

- __sycl_register_lib/__sycl_unregister_lib now take (BinaryStart, Size)
instead of a __sycl_tgt_bin_desc pointer; __sycl_unregister_lib only
needs BinaryStart since the runtime looks up the binary by its start
address.
- OffloadWrapper's SYCL wrapping is significantly simplified: the
__tgt_bin_desc/__tgt_device_image structs and the descriptor
construction code are replaced by a single embedded OffloadBinary blob
passed directly to the register/unregister entry points.
- clang-sycl-linker generates a single OffloadBinary, which contains
multiple images.
- ProgramAndKernelManager::registerFatBin parses the blob via
OffloadBinary::create, keying MDeviceImageManagers by BinaryStart to
eliminate the reparse on unregister.
- DeviceImageManager owns std::unique_ptr<OffloadBinary> instead of

    [8 lines not shown]
DeltaFile
+41-360llvm/lib/Frontend/Offloading/OffloadWrapper.cpp
+55-72libsycl/src/detail/program_manager.cpp
+0-59libsycl/src/detail/device_binary_structures.hpp
+30-20libsycl/src/detail/program_manager.hpp
+39-0llvm/include/llvm/Frontend/Offloading/Utility.h
+22-17clang/tools/clang-sycl-linker/ClangSYCLLinker.cpp
+187-5284 files not shown
+229-55910 files

LLVM/project 1a805acllvm/lib/Target/SPIRV SPIRVInstructionSelector.cpp, llvm/test/CodeGen/SPIRV/hlsl-intrinsics reversebits.ll

[HLSL] SPIRV Address after merge comments from #193068 (#194462)

This patch is addressing some comments that arose after #193068 was
merged.
DeltaFile
+11-13llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
+12-0llvm/test/CodeGen/SPIRV/hlsl-intrinsics/reversebits.ll
+23-132 files

LLVM/project ae11842lld/MachO ConcatOutputSection.cpp ConcatOutputSection.h

move lambdas to private helpers
DeltaFile
+112-105lld/MachO/ConcatOutputSection.cpp
+20-2lld/MachO/ConcatOutputSection.h
+132-1072 files

LLVM/project 20a62a4clang/lib/CIR/CodeGen CIRGenModule.h CIRGenModule.cpp

[CIR] Eliminate SymbolTable::lookupSymbolIn hotspots (#193362)

mlir::SymbolTable::lookupSymbolIn is O(n) per lookup, so cumulative
symbol lookups during CIRGen are O(n^2) in the number of global symbols.
On template-heavy translation units this becomes a significant
compile-time hotspot.

Replace the SymbolTable lookup path with a per-CIRGenModule DenseMap
cache keyed by symbol name, giving O(1) lookups.

On a synthetic template-heavy stress test, end-to-end compile time on
`clang -fclangir -S -emit-llvm -O0` improves by ~11% on a 33K-LOC input
(5.86s -> 5.21s) and ~16% on a 67K-LOC input (16.09s -> 13.52s). The
super-linear growth of the win with input size confirms the O(n^2) ->
O(n) effect.

Similar to previous compile time fix, repro shape (scale records and
template instantiations into the hundreds/thousands to amplify):


    [7 lines not shown]
DeltaFile
+24-0clang/lib/CIR/CodeGen/CIRGenModule.h
+13-6clang/lib/CIR/CodeGen/CIRGenModule.cpp
+4-6clang/lib/CIR/CodeGen/CIRGenItaniumCXXABI.cpp
+2-0clang/lib/CIR/CodeGen/CIRGenVTables.cpp
+2-0clang/lib/CIR/CodeGen/CIRGenDecl.cpp
+2-0clang/lib/CIR/CodeGen/CIRGenFunction.cpp
+47-121 files not shown
+48-127 files

LLVM/project 10fe2e3llvm/lib/Transforms/Vectorize VPlanAnalysis.cpp VPlanAnalysis.h

[VPlan] Pass TTI + CostKind to spillCost instead of CostCtx (NFC) (#194417)

Instead of passing CostContext, directly pass the needed TTI and
CostKind. This makes the function easier to re-use in other places,
without the need of constructing VPCostContext.

Split off from https://github.com/llvm/llvm-project/pull/194267 as
suggested.
DeltaFile
+8-6llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
+3-1llvm/lib/Transforms/Vectorize/VPlanAnalysis.h
+1-1llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
+12-83 files

LLVM/project d55166cllvm/lib/Target/NVPTX NVPTXInstrInfo.cpp NVPTXInstrInfo.td, llvm/test/CodeGen/NVPTX jump-table.ll i128.ll

[NVPTX] Add reverseBranchCondition and CBranch inverted flag (#191889)

Add flag to `CBranch` instruction for inverted predicate branches (`@!p
bra`) and implement `reverseBranchCondition` to support branch condition
inversion.

This enables passes like branch folding to properly reverse branch
conditions, and is a prerequisite for SETP predicate inversion CSE.

Assisted-by: Cursor / Claude
DeltaFile
+24-31llvm/test/CodeGen/NVPTX/jump-table.ll
+16-20llvm/test/CodeGen/NVPTX/i128.ll
+15-3llvm/lib/Target/NVPTX/NVPTXInstrInfo.cpp
+8-2llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
+4-4llvm/test/CodeGen/NVPTX/machinelicm-no-preheader.mir
+4-4llvm/test/CodeGen/NVPTX/branch-fold.mir
+71-645 files not shown
+85-6711 files

LLVM/project 34535e9clang/docs ReleaseNotes.rst, clang/include/clang/Basic DiagnosticSemaKinds.td

[Sema] Enforce parameter match for ownership_returns attribute (#192339)

Previously parsing multiple ownership_returns attributes with different
arguments could lead to a crash. The documentation states that if
forward declarations have ownership_returns, they must have the same
arguments, and it may appear at most once per declaration.

This patch ensures that if multiple ownership_returns attributes are
present, their arguments (identifier and the optional index) must
exactly match. The diagonstic err_ownership_param_mismatch is introduced
for clarity.

Test cases for f15, C::f, and the newly added f22 were also updated to
match the requirement that all declarations of ownership_returns have
the same arguments, using the err_ownership_param_mismatch diagonstic.

Fixes #188733
DeltaFile
+32-14clang/lib/Sema/SemaDeclAttr.cpp
+2-2clang/include/clang/Basic/DiagnosticSemaKinds.td
+4-0clang/test/Sema/attr-ownership.c
+1-0clang/docs/ReleaseNotes.rst
+39-164 files

LLVM/project 8e8bb22llvm/include/llvm/Object OffloadBinary.h, llvm/lib/Object OffloadBinary.cpp

Fix offload binary header (#194335)

Fixes #194331
DeltaFile
+1-1llvm/include/llvm/Object/OffloadBinary.h
+1-1llvm/lib/Object/OffloadBinary.cpp
+2-22 files

LLVM/project 8f69b9ellvm/lib/Target/PowerPC PPCRegisterInfo.td PPCMacroFusion.def

Revert "[PowerPC] Enable using HwMode for instructions (#191051)"

This reverts commit 2a83068537786696d4950ce694e7d34480631f48.
DeltaFile
+13-8llvm/lib/Target/PowerPC/PPCRegisterInfo.td
+3-3llvm/lib/Target/PowerPC/PPCMacroFusion.def
+2-2llvm/lib/Target/PowerPC/PPCRegisterClasses.td
+4-0llvm/lib/Target/PowerPC/PPCBack2BackFusion.def
+2-2llvm/lib/Target/PowerPC/PPCInstrInfo.td
+2-1llvm/lib/Target/PowerPC/P10InstrResources.td
+26-162 files not shown
+30-178 files

LLVM/project 464555dclang/lib/CIR/CodeGen CIRGenCXX.cpp, clang/test/CIR/CodeGen static-local.cpp

[CIR] Set the static_local attribute if needed when initializing (#194094)

There was a case where we were creating a GetGlobalOp when initializing
a static local variable that required a guard variable but failing to
set the static_local attribute on the GetGlobalOp. This led to a CIR
verificaiton error. This change sets the attribute when it is needed.

Assisted-by: Cursor / claude-4.7-opus-high
DeltaFile
+79-0clang/test/CIR/CodeGen/static-local.cpp
+0-16clang/test/CIR/Transforms/cast-bitcast-funcptr-roundtrip-fold.cir
+6-0clang/lib/CIR/CodeGen/CIRGenCXX.cpp
+85-163 files

LLVM/project 48b342bllvm/include/llvm/ADT StableHashing.h, llvm/test/CodeGen/X86 machine-block-hash.mir

[ADT] Make stable_hash_combine to be endian-independent (#194430)
DeltaFile
+16-3llvm/include/llvm/ADT/StableHashing.h
+4-12llvm/unittests/ADT/StableHashingTest.cpp
+0-3llvm/test/CodeGen/X86/machine-block-hash.mir
+20-183 files

LLVM/project d28a8b0clang/test/CodeGen scoped-atomic-ops.c, clang/test/CodeGen/AArch64/sve-intrinsics acle_sve_dupq.c

[CodeGen] Change -O0 bool load codegen to have nonzero model (#193783)

The main follow-up item to
https://github.com/llvm/llvm-project/pull/160790 was changing -O0
codegen to convert in-memory i8 bool values to i1 with the `nonzero`
rule (`icmp ne i8 %val, 0`) rather than the `truncate` rule (`trunc i8
%val to i1`).

Bool values can only be `true` or `false`. While they are notionally a
single bit, the smallest addressable unit is CHAR_BIT bits large, and
CHAR_BIT is typically 8. Programming errors (such as memcpying a random
byte to a `bool`) can cause the 8-bit storage for a `bool` value to have
a bit pattern that is different from `true` or `false`, which then leads
to undefined behavior.

Clang has historically taken advantage of this in optimized builds
(everything other than -O0) by attaching range metadata to `bool` loads
to assume that the value loaded can only be 0 or 1. This leads to
exploitable security issues, and the correct behavior is not always easy

    [31 lines not shown]
DeltaFile
+90-90clang/test/OpenMP/target_teams_distribute_reduction_codegen.cpp
+72-72clang/test/CodeGen/scoped-atomic-ops.c
+60-60clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_dupq.c
+50-50clang/test/OpenMP/target_teams_distribute_parallel_for_simd_if_codegen.cpp
+39-39clang/test/CodeGenCXX/nrvo.cpp
+38-38clang/test/OpenMP/teams_distribute_parallel_for_simd_if_codegen.cpp
+349-34975 files not shown
+681-68181 files

LLVM/project 7f6697bllvm/lib/Target/X86 X86CallingConv.td, llvm/test/CodeGen/X86 preserve_nonecc_call.ll

fix preserve_none in X86 backend (#192300)

This is a bug in the X86 backend affecting preserve_none with -O1. At
-O1, clang emits:
```
tail call preserve_nonecc void @_Z14func(ptr noundef nonnull byval(%struct.S) align 8 %1)
```
The `preserve_none` + `byval` never emitted the required caller-side
copy of the pointee. The callee received a pointer directly to the
original memory, violating the byval contract from LangRef: "a hidden
copy of the pointee is made between the caller and the callee, so the
callee is unable to modify the value in the caller".

The root cause is that CC_X86_64_Preserve_None in X86CallingConv.td had
no byval handling. As a result, byval arguments were falling through to
the register assignment rules and being assigned to registers instead of
stack slots.

The bug is fixed by one line in CC_X86_64_Preserve_None:

    [7 lines not shown]
DeltaFile
+49-0llvm/test/CodeGen/X86/preserve_nonecc_call.ll
+5-0llvm/lib/Target/X86/X86CallingConv.td
+54-02 files

LLVM/project 5e62582libc/hdr/types socklen_t.h

[libc] Include from sys/socket.h for socklen_t (#194456)
DeltaFile
+1-1libc/hdr/types/socklen_t.h
+1-11 files

LLVM/project 7826a43clang/include/clang/Format Format.h

[clang-format][NFC] Sort AlignConsecutiveMacros option correctly (#194453)
DeltaFile
+35-32clang/include/clang/Format/Format.h
+35-321 files

LLVM/project 693a178llvm/test/CodeGen/RISCV combine-is_fpclass.ll

[DAG] Precommit tests for computeKnownFPClass - ISD::EXTRACT_SUBVECTOR and ISD::INSERT_SUBVECTOR. (#190694)

This patch adds baseline tests for `ISD::EXTRACT_SUBVECTOR` and `ISD::INSERT_SUBVECTOR` in `computeKnownFPClass`  in #190378
DeltaFile
+150-0llvm/test/CodeGen/RISCV/combine-is_fpclass.ll
+150-01 files

LLVM/project 36023eaflang/include/flang/Parser openmp-utils.h, flang/include/flang/Semantics openmp-utils.h

[flang][OpenMP] Move some utility functions from Semantics to Parser,… (#194434)

… NFC

Functions that only operate on AST nodes and not require any semantic
information belong in the parser library.
DeltaFile
+41-0flang/lib/Parser/openmp-utils.cpp
+0-41flang/lib/Semantics/openmp-utils.cpp
+4-4flang/lib/Semantics/resolve-directives.cpp
+8-0flang/include/flang/Parser/openmp-utils.h
+0-7flang/include/flang/Semantics/openmp-utils.h
+2-3flang/lib/Semantics/check-omp-structure.cpp
+55-552 files not shown
+58-588 files

LLVM/project 1c90be3clang/include/clang/CIR/Dialect/IR CIROps.td, clang/lib/CIR/CodeGen CIRGenCXX.cpp

[CIR] Implement static-local-tls lowering (#194059)

thread_local variables at function scope work very much like
static-locals, except with slightly different lowering from
cir-lowering-prepare. This patch implements that lowering. Global tls
variables are left to a later patch.

One decision I made here was that LocalInitOp lost its
'static-local'-ness, and assumes it is always static-local. Global TLS
is probably just going to use Global directly, so we don't need to to
permit it.

I DID leave it in the printing, as it makes it more clear what is
happening/for symmetry with get_global/global.

---------

Co-authored-by: Henrich Lauko <henrich.lau at gmail.com>
DeltaFile
+360-0clang/test/CIR/CodeGen/thread-local-in-func.cpp
+50-46clang/lib/CIR/Dialect/Transforms/LoweringPrepare.cpp
+4-27clang/test/CIR/IR/invalid-static-local.cir
+15-9clang/test/CIR/IR/static-local.cir
+9-7clang/include/clang/CIR/Dialect/IR/CIROps.td
+4-11clang/lib/CIR/CodeGen/CIRGenCXX.cpp
+442-1003 files not shown
+452-1119 files

LLVM/project 6226ca5clang/include/clang/CIR MissingFeatures.h, clang/lib/CIR/CodeGen CIRGenExpr.cpp

[CIR] Implement declref-lvalue lambda lowering (#194409)

This NYI showed up a few times and is pretty easy to get to,
     implementation is equally as trivial.

---------

Co-authored-by: Andy Kaylor <akaylor at nvidia.com>
DeltaFile
+191-0clang/test/CIR/CodeGen/lambda-decomp-decl-captures.cpp
+2-3clang/lib/CIR/CodeGen/CIRGenExpr.cpp
+0-1clang/include/clang/CIR/MissingFeatures.h
+193-43 files

LLVM/project 944b80bllvm/docs LangRef.rst ReleaseNotes.md, llvm/include/llvm/IR DataLayout.h

[DataLayout] Add null pointer value infrastructure

Add support for specifying the null pointer bit representation per address space
in DataLayout via new pointer spec flags:
- 'z': null pointer is all-zeros
- 'o': null pointer is all-ones

When neither flag is present, the address space inherits the default set by the
new 'N<null-value>' top-level specifier ('Nz' or 'No'). If that is also absent,
the null pointer value is zero.

No target DataLayout strings are updated in this change. This is pure
infrastructure for a future ConstantPointerNull semantic change to support
targets with non-zero null pointers (e.g. AMDGPU).
DeltaFile
+136-1llvm/unittests/IR/DataLayoutTest.cpp
+63-7llvm/lib/IR/DataLayout.cpp
+22-1llvm/include/llvm/IR/DataLayout.h
+17-1llvm/docs/LangRef.rst
+8-0llvm/docs/ReleaseNotes.md
+246-105 files

LLVM/project 925e284llvm/lib/Transforms/Vectorize SLPVectorizer.cpp, llvm/test/Transforms/SLPVectorizer/AArch64 non-power-of-2-with-adjusted-gathers.ll

[SLP]Use VF for build-vector slice size when GatheredScalars were resized

After ExtractShuffles processing resizes GatheredScalars to VF and
recomputes NumParts, isGatherShuffledEntry populates Mask of size VF
and partitions it according to the post-resize NumParts. The previous
SliceSize formula based on E->Scalars.size() no longer matches that
layout and triggers an out-of-bounds ArrayRef::slice while iterating
gather-shuffle entries. Use getPartNumElems(VF, NumParts) by default;
fall back to the original-scalars formula only when
Mask.size() == E->Scalars.size() (no resize happened).

Fixes https://github.com/llvm/llvm-project/pull/194189#pullrequestreview-4182214738

Reviewers: 

Pull Request: https://github.com/llvm/llvm-project/pull/194455
DeltaFile
+130-0llvm/test/Transforms/SLPVectorizer/AArch64/non-power-of-2-with-adjusted-gathers.ll
+5-3llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+135-32 files

LLVM/project 8062e82clang/docs ReleaseNotes.rst, clang/lib/CodeGen CGCall.cpp CodeGenModule.cpp

[Clang] Emit LLVM flatten attribute instead of per-callsite alwaysinline (#188615)

Follow-up to #174899 which added the flatten function attribute to LLVM
IR and implemented recursive inlining in the `AlwaysInliner` pass.

This patch updates Clang to emit the LLVM flatten attribute on functions
with `__attribute__((flatten))`, instead of the previous approach of
marking each call site with `alwaysinline`. This completes the
transition to matching GCC's flatten semantics.

  Changes:
  - Remove the callsite `alwaysinline` annotation logic from CGCall.cpp
  - Emit the flatten function attribute in CodeGenModule.cpp
  - Update clang/test/CodeGen/flatten.c to reflect the new IR output
- Update clang/test/CodeGen/AArch64/sme-inline-callees-streaming-attrs.c
to reflect the new behavior
  - Add release notes documenting the behavior change

RFC:
https://discourse.llvm.org/t/rfc-function-level-flatten-depth-attribute-for-depth-limited-inlining
DeltaFile
+81-34clang/test/CodeGen/AArch64/sme-inline-callees-streaming-attrs.c
+20-12clang/test/CodeGen/flatten.c
+0-11clang/lib/CodeGen/CGCall.cpp
+10-0clang/docs/ReleaseNotes.rst
+3-0clang/lib/CodeGen/CodeGenModule.cpp
+114-575 files

LLVM/project 98fe008offload/test/offloading interop-print.c

[offload] Un-XFAIL interop-print.c test for nvidia (#194447)
DeltaFile
+0-2offload/test/offloading/interop-print.c
+0-21 files

LLVM/project 2962f64llvm/include/llvm/IR DebugInfoMetadata.h DIBuilder.h, llvm/lib/IR DIBuilder.cpp LLVMContextImpl.h

Allow DIBasicType (and others) to have a scope and location (#190217)

DIBasicType derives from DIType and so it already has slots to store the
scope and location of the type. However, the DIBasicType constructor
(and corresponding DIBuilder method) does not expose this, presumably
because it is not needed by C or C++.

In Ada it is more common to create one's own basic type. So, for Ada
exposing this functionality would be handy.

This patch adds a new overload of DIBuilder::createBasicType to allow
this. Because only Ada uses fixed point types, the patch simply updates
these DIBuilder methods unconditionally.

Note that DwarfUnit already handles this scenario and so no changes were
needed there.
DeltaFile
+114-81llvm/include/llvm/IR/DebugInfoMetadata.h
+54-28llvm/lib/IR/DIBuilder.cpp
+34-17llvm/lib/IR/LLVMContextImpl.h
+40-7llvm/include/llvm/IR/DIBuilder.h
+39-0llvm/test/Bitcode/fixedpoint_scope.ll
+21-17llvm/lib/IR/DebugInfoMetadata.cpp
+302-1505 files not shown
+358-16811 files

LLVM/project 6aec182llvm/lib/Target/PowerPC PPCISelLowering.cpp PPCInstrInfo.td

[PowerPC] Further refactor atomic loads

Depending on the availability of the word-part feature, different code
is generated for 1 and 2 byte atomic loads. This change moves the decision
to use the word-part feature from C++ into TableGen patterns. This is done
via:

 - move code from `EmitPartwordAtomicBinary()` into new function
   'signExtendOperandIfUnknown()'
 - decouple functions `EmitPartwordAtomicBinary()` and `EmitAtomicBinary()`
 - remove the size from the name of the pseudo instructions; instead,
   introduce a pseudo instruction which is used in case the word-part
   feature is missing
 - update the handling of the pseudo instruction insertion accordingly

A side effect of this change is the implementation requires 11 pseudo
instructions less.
DeltaFile
+56-48llvm/lib/Target/PowerPC/PPCISelLowering.cpp
+42-16llvm/lib/Target/PowerPC/PPCInstrInfo.td
+98-642 files

LLVM/project 538090cllvm/lib/Target/AMDGPU/AsmParser AMDGPUAsmParser.cpp, llvm/test/MC/AMDGPU hsa-gfx125x-v4-user-sgpr-err.s hsa-gfx12-v4-user-sgpr-err.s

[AMDGPU] Validate user SGPR count against HW range, not field width

The previous validation checked only the field width,
allowing values that exceeded the actual hardware limits
(e.g. 0–16 on gfx6-gfx120 and 0–32 on gfx125x) as long
as they fit in the bit width.
Tighten validation to reject out-of-range user SGPR counts.
DeltaFile
+14-0llvm/test/MC/AMDGPU/hsa-gfx125x-v4-user-sgpr-err.s
+13-0llvm/test/MC/AMDGPU/hsa-gfx12-v4-user-sgpr-err.s
+2-5llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
+29-53 files

LLVM/project 0f42045clang/lib/Sema SemaOpenMP.cpp

remove experimental/unnecessary forward decl

Created using spr 1.3.5
DeltaFile
+1-5clang/lib/Sema/SemaOpenMP.cpp
+1-51 files

LLVM/project 822493allvm/test/CodeGen/AArch64/Atomics aarch64-atomicrmw-lse2.ll aarch64-atomicrmw-v8a.ll, llvm/test/CodeGen/RISCV/rvv setcc-int-vp.ll

rebase

Created using spr 1.3.5
DeltaFile
+3,230-456llvm/test/CodeGen/WebAssembly/strided-int-mac.ll
+1,250-1,305llvm/test/CodeGen/AArch64/Atomics/aarch64-atomicrmw-lse2.ll
+1,250-1,305llvm/test/CodeGen/AArch64/Atomics/aarch64-atomicrmw-v8a.ll
+1,250-1,305llvm/test/CodeGen/AArch64/Atomics/aarch64-atomicrmw-rcpc3.ll
+1,250-1,305llvm/test/CodeGen/AArch64/Atomics/aarch64-atomicrmw-rcpc.ll
+704-882llvm/test/CodeGen/RISCV/rvv/setcc-int-vp.ll
+8,934-6,5581,525 files not shown
+62,189-31,9861,531 files

LLVM/project 3224a85llvm/test/CodeGen/AArch64/Atomics aarch64-atomicrmw-lse2.ll aarch64-atomicrmw-rcpc.ll, llvm/test/CodeGen/RISCV/rvv setcc-int-vp.ll

[𝘀𝗽𝗿] changes introduced through rebase

Created using spr 1.3.5

[skip ci]
DeltaFile
+3,230-456llvm/test/CodeGen/WebAssembly/strided-int-mac.ll
+1,250-1,305llvm/test/CodeGen/AArch64/Atomics/aarch64-atomicrmw-lse2.ll
+1,250-1,305llvm/test/CodeGen/AArch64/Atomics/aarch64-atomicrmw-rcpc.ll
+1,250-1,305llvm/test/CodeGen/AArch64/Atomics/aarch64-atomicrmw-rcpc3.ll
+1,250-1,305llvm/test/CodeGen/AArch64/Atomics/aarch64-atomicrmw-v8a.ll
+704-882llvm/test/CodeGen/RISCV/rvv/setcc-int-vp.ll
+8,934-6,5581,525 files not shown
+62,189-31,9861,531 files

LLVM/project 7c17ccfllvm/test/CodeGen/AArch64/Atomics aarch64-atomicrmw-rcpc3.ll aarch64-atomicrmw-lse2.ll, llvm/test/CodeGen/RISCV/rvv setcc-int-vp.ll

rebase

Created using spr 1.3.5
DeltaFile
+3,230-456llvm/test/CodeGen/WebAssembly/strided-int-mac.ll
+1,250-1,305llvm/test/CodeGen/AArch64/Atomics/aarch64-atomicrmw-rcpc3.ll
+1,250-1,305llvm/test/CodeGen/AArch64/Atomics/aarch64-atomicrmw-lse2.ll
+1,250-1,305llvm/test/CodeGen/AArch64/Atomics/aarch64-atomicrmw-v8a.ll
+1,250-1,305llvm/test/CodeGen/AArch64/Atomics/aarch64-atomicrmw-rcpc.ll
+704-882llvm/test/CodeGen/RISCV/rvv/setcc-int-vp.ll
+8,934-6,5581,525 files not shown
+62,189-31,9861,531 files