LLVM/project e2cd791 — llvm/lib/Target/M68k M68kISelLowering.cpp

fixup! Address review comments
DeltaFile
+4-10llvm/lib/Target/M68k/M68kISelLowering.cpp
+4-101 files

LLVM/project 6097412 — llvm/docs LangRef.md, llvm/include/llvm/IR BundleAttributes.def

[Verifier] Accept range assume bundles (#202586)

This patch update the verifier to accept range bundles, but doesn't
actually do anything with them. Follow-up patches will add handling of
the bundle to the various passes that can make use of the information.
DeltaFile
+21-0llvm/test/Verifier/assume-bundles.ll
+17-0llvm/lib/IR/Verifier.cpp
+6-0llvm/docs/LangRef.md
+1-0llvm/test/Bitcode/operand-bundles-bc-analyzer.ll
+1-0llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
+1-0llvm/include/llvm/IR/BundleAttributes.def
+47-06 files

LLVM/project 8a7d409 — compiler-rt/test/shadowcallstack lit.cfg.py

[compiler-rt][scs] Pass -mbranch-protection=none on AArch64 (#236821)

On AArch64 targets that enable `-mbranch-protection=standard` by default
(such as `aarch64-linux-android*`), `%clang_noscs` in `overflow.c` signs
and authenticates `x30` (`paciasp`/`autiasp`). Overwriting the return
address on the stack then traps with `SIGILL` (`FEAT_FPAC`) instead of
redirecting execution to `print_and_exit`.

Pass `-mbranch-protection=none` for `aarch64` in
`shadowcallstack/lit.cfg.py` so the test exercises ShadowCallStack in
isolation without PAC-RET.

Fixes failure on
https://lab.llvm.org/staging/#/builders/sanitizer-x86_64-linux-android.

Assisted-by: Gemini
DeltaFile
+3-0compiler-rt/test/shadowcallstack/lit.cfg.py
+3-01 files

LLVM/project 421e938 — llvm/include/llvm-c Support.h, llvm/include/llvm/Support CommandLine.h

[llvm-c] Make LLVMParseCommandLineOptions set library options in new contexts (#234820)

Since #233044, libraries whose options are declared in TableGen, such
as InstCombine and Scalar, read them from the LLVMContext of the module
being compiled. LLVMParseCommandLineOptions sets their global values,
so these libraries ignore it.

Record the library options in a process-wide store, which contexts
created through the C API (LLVMContextCreate, LLVMGetGlobalContext,
LLVMOrcCreateNewThreadSafeContext) start with. Contexts created before
the call do not see them.

Also print parse errors instead of ignoring them.

LLM-aided
DeltaFile
+27-8llvm/lib/Support/CommandLine.cpp
+23-0llvm/unittests/IR/LibraryOptionsContextTest.cpp
+9-1llvm/lib/IR/Core.cpp
+4-0llvm/include/llvm/Support/CommandLine.h
+4-0llvm/include/llvm-c/Support.h
+1-1llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
+68-106 files

LLVM/project 6b08d58 — llvm/test/CodeGen/AMDGPU amdgcn.bitcast.512bit.ll

[AMDGPU] Skip VI verifier in bitcast.512bit test (#236828)

With SlotIndexes compaction on by default (#235806), the VI RUN line of
amdgcn.bitcast.512bit.ll hits a known liveness bug in the SI post-RA
bundler (#235538), which the machine verifier reports on
EXPENSIVE_CHECKS builds. Disable the verifier for that RUN line until
the bundler is fixed, as amdgcn.bitcast.1024bit.ll already does.
DeltaFile
+3-1llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.512bit.ll
+3-11 files

LLVM/project 9f0b883 — utils/bazel/llvm-project-overlay/mlir BUILD.bazel

[Bazel] Fixes 9093d6e (#236827)

This fixes 9093d6e8dbdc453680c1b4b8adea8fce78005b4a (#236807).

Buildkite error link:
https://buildkite.com/llvm-project/upstream-bazel/builds?commit=9093d6e8dbdc453680c1b4b8adea8fce78005b4a

Co-authored-by: Google Bazel Bot <google-bazel-bot at google.com>
DeltaFile
+3-0utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
+3-01 files

LLVM/project 27569ce — llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes LoadStoreVec.h, llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes LoadStoreVec.cpp

[SandboxVec][LoadStoreVec] Vectorize store chains whose loads have external uses

vectorizeStores() used to give up on a load-store chain if any of the
loads had a user other than its store. Now that loads of mixed types
can be unpacked from a vector load, vectorize such chains as well: the
loads become a single vector load, and the external users are fed from
the lanes each load occupies, cast back to the load's type if needed.

The unpacking loop of vectorizeLoads() is factored out into
unpackLoads() (along with the canUnpackLoads() check) and shared by
both paths. Chains with a non-integral pointer load that has external
users are still left alone.

Co-Authored-By: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+119-100llvm/test/Transforms/SandboxVectorizer/Passes/LoadStoreVec/load_store_vec_mixed_types.ll
+49-35llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/LoadStoreVec.cpp
+8-14llvm/test/Transforms/SandboxVectorizer/Passes/LoadStoreVec/load_store_vec.ll
+11-1llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/LoadStoreVec.h
+187-1504 files

LLVM/project c7ccbae — llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes LoadStoreVec.h, llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes LoadStoreVec.cpp

[SandboxVec][LoadStoreVec] Support mixed-type load vectorization

Remove the restriction that every load in a top-level load chain must
have the vector's element type. A chain of mixed types such as
{i32, float} or {double, i32, i32} is loaded as a vector of integers
(as chosen by VecUtils::getCombinedVectorTypeFor()), each original load
is unpacked from the lanes it occupies, and then reinterpreted back to
its own type with Reinterpret::reinterpretValue().

Chains involving a non-integral pointer are left alone, since such a
pointer cannot be recovered from an integer lane.

Co-Authored-By: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+140-0llvm/test/Transforms/SandboxVectorizer/Passes/LoadStoreVec/load_store_vec_mixed_type_loads.ll
+26-10llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/LoadStoreVec.cpp
+6-3llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/LoadStoreVec.h
+172-133 files

LLVM/project b3524a5 — llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes LoadStoreVec.h

[SandboxVec][LoadStoreVec] Add LLVM_ABI annotations to Reinterpret

Export the out-of-line static members of Reinterpret, as reported by
the LLVM_ABI annotation check. getCastChain() is private but is called
from the inline canReinterpret(), so it needs to be exported too.

Co-Authored-By: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+6-6llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/LoadStoreVec.h
+6-61 files

LLVM/project fcdd24c — llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer VecUtils.h, llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes LoadStoreVec.h

[SandboxVec][LoadStoreVec] Add Reinterpret helper for same-size type casts

Replace getEquivalentConstantWithType() with a Reinterpret utility that
reinterprets the bits of a value as another type of the same size. It
builds a chain of ptrtoint / bitcast / inttoptr casts, and applies it
either to a constant (folding) or to a runtime value (inserting casts).
The runtime form will be used to unpack mixed-type vector loads and to
pack mixed-type store operands.

Also add VecUtils::isNonIntegralPtr(). A non-integral pointer has no
stable integer representation, so it is no longer packed into an
integer lane. Previously only a non-integral destination type was
rejected (via an assert), while a non-integral source such as
'ptr addrspace(5) null' was silently converted with ptrtoint.

Co-Authored-By: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+69-21llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/LoadStoreVec.cpp
+38-7llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/LoadStoreVec.h
+9-0llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/VecUtils.h
+5-1llvm/test/Transforms/SandboxVectorizer/Passes/LoadStoreVec/load_store_vec_mixed_types.ll
+121-294 files

LLVM/project 48cea40 — llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes LoadStoreVec.h, llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes LoadStoreVec.cpp

[SandboxVec][LoadStoreVec] Move contiguity check into canVectorize() (NFC)

Both vectorizeStores() and vectorizeLoads() (via createVectorLoad())
checked that the bundle is consecutive right before calling
canVectorize(). Fold that check into canVectorize() so that every
caller gets it.

Co-Authored-By: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+8-9llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/LoadStoreVec.cpp
+2-2llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/LoadStoreVec.h
+10-112 files

LLVM/project 0fb59b1 — llvm/lib/Transforms/Vectorize/SandboxVectorizer Legality.cpp, llvm/test/Transforms/SandboxVectorizer/Passes/LoadStoreVec load_store_vec_load_seeds.ll

[SandboxVec][LoadStoreVec] Reject bundles that cannot be scheduled

canVectorizeLSV() created a CantSchedule result when the scheduler
failed, but did not return it, so such bundles were still reported as
Widen. For a load chain like

  %ld0 = load i32, ptr %p0
  store i32 %ld0, ptr %p1
  %ld1 = load i32, ptr %p1

the vector load was placed after %ld1 and the store was rewritten to
use a lane extracted from it, producing a use before its definition.
Return the CantSchedule result.

Co-Authored-By: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+23-0llvm/test/Transforms/SandboxVectorizer/Passes/LoadStoreVec/load_store_vec_load_seeds.ll
+1-1llvm/lib/Transforms/Vectorize/SandboxVectorizer/Legality.cpp
+24-12 files

LLVM/project 3d1bcd3 — compiler-rt/test lit.common.cfg.py, compiler-rt/test/hwasan/TestCases print-memory-usage.c verbose_threads.c

[HWASan][test] XFAIL 4 thread tests on Android API >= 34 (#236816)

When building `compiler-rt` for Android with
`-DCOMPILER_RT_HWASAN_WITH_INTERCEPTORS=ON` at API >= 34, Clang uses
`/system/bin/linker_hwasan64`, whose `hwasan/libc.so` calls
`__hwasan_thread_enter()` alongside `HwasanThreadStartFunc`, creating
two `Thread` entries per `pthread_create` and leaking the first on
thread exit.

Add `android-34` to `compiler-rt/test/lit.common.cfg.py` and XFAIL the 4
affected thread tests until #236812 is resolved.

Fixes failures on
https://lab.llvm.org/buildbot/#/builders/sanitizer-x86_64-linux-android.

Assisted-by: Gemini
DeltaFile
+3-0compiler-rt/test/hwasan/TestCases/verbose_threads.c
+3-0compiler-rt/test/hwasan/TestCases/thread-uaf.c
+3-0compiler-rt/test/hwasan/TestCases/Linux/reuse-threads.cpp
+1-1compiler-rt/test/lit.common.cfg.py
+2-0compiler-rt/test/hwasan/TestCases/print-memory-usage.c
+12-15 files

LLVM/project 6dabd1b — clang/lib/CIR/Dialect/Transforms/TargetLowering CIRABIRewriteContext.cpp, clang/test/CIR/Transforms/abi-lowering indirect-aliased.cir

erase llvm.nofpclass
DeltaFile
+7-0clang/test/CIR/Transforms/abi-lowering/indirect-aliased.cir
+3-1clang/lib/CIR/Dialect/Transforms/TargetLowering/CIRABIRewriteContext.cpp
+10-12 files

LLVM/project 9093d6e — mlir/include/mlir/Dialect/Math/Transforms Passes.h, mlir/include/mlir/Dialect/X86/TransformOps X86TransformOps.td

[mlir][x86] Move AVX rsqrt approximation from Math to X86 transforms (#236807)

The `math.rsqrt` polynomial approximation emitted `x86.avx.rsqrt`, which
made `MLIRMathTransforms` depend on `MLIRX86Dialect` even though the
pattern was only enabled behind an AVX2 opt-in.

Move the pattern into `MLIRX86Transforms` and expose it as
`x86::populateMathRsqrtApproximationPatterns` and the transform op
`transform.apply_patterns.x86.math_rsqrt_approximation`.

Users who relied on the AVX2 rsqrt approximation should call
`x86::populateMathRsqrtApproximationPatterns` (C++) or use
`transform.apply_patterns.x86.math_rsqrt_approximation`.
DeltaFile
+191-0mlir/lib/Dialect/X86/Transforms/MathRsqrtApproximation.cpp
+1-178mlir/lib/Dialect/Math/Transforms/PolynomialApproximation.cpp
+125-0mlir/test/Dialect/X86/math-rsqrt-approximation.mlir
+1-82mlir/test/Dialect/Math/polynomial-approximation.mlir
+12-0mlir/include/mlir/Dialect/X86/TransformOps/X86TransformOps.td
+1-8mlir/include/mlir/Dialect/Math/Transforms/Passes.h
+331-26811 files not shown
+353-28917 files

LLVM/project 61817b4 — flang/lib/Optimizer/OpenMP DoConcurrentConversion.cpp, flang/test/Transforms/DoConcurrent skip_all_nested_loops.f90 not_perfectly_nested.f90

[flang][DOCONCURRENT] Fix device mapping of several live-ins kinds (#229912)

When a `do concurrent` loop is mapped to the device, every value the
loop uses from outside must be mapped into the `omp.target` region and
recreated inside it. Three cases were not handled correctly:
1. Live-ins declared with a `fir.shift` hit a TODO. This shape is
produced for descriptors with explicit lower bounds, for example an
assumed-shape dummy `a(5:)` or an associate-name bound to a pointer
component. The lower bounds are now mapped like the start indices of a
`fir.shape_shift`, and the box is re-declared on the device with a
rebuilt `fir.shift`. The box is loaded first because the mapped value is
the box's address, and `hlfir.declare` does not accept a shape for a box
address. Dropping the shift instead is not enough: the device would then
use the lower bounds of whichever declare result was mapped, which is
wrong when the loop uses the original base first.
2. Live-ins were de-duplicated by defining op. This was meant for the
two results of an `hlfir.declare`, but it also dropped all but the first
result of other multi-result ops. An array section of an associate-name
bound to an allocatable component uses both the lower bound and the

    [14 lines not shown]
DeltaFile
+80-36flang/lib/Optimizer/OpenMP/DoConcurrentConversion.cpp
+13-76flang/test/Transforms/DoConcurrent/map_shape_info.f90
+71-0flang/test/Transforms/DoConcurrent/map_live_in_results.mlir
+65-0flang/test/Transforms/DoConcurrent/map_shift_info.f90
+1-4flang/test/Transforms/DoConcurrent/skip_all_nested_loops.f90
+1-4flang/test/Transforms/DoConcurrent/not_perfectly_nested.f90
+231-1206 files

LLVM/project 6d289cc — mlir/lib/Conversion/ArithToSPIRV ArithToSPIRV.cpp, mlir/test/Conversion/ArithToSPIRV arith-to-spirv-unsupported.mlir arith-to-spirv.mlir

[mlir][SPIR-V] Add ArithToSPIRV patterns for ceildivui/ceildivsi/floordivsi (#212926)
DeltaFile
+131-0mlir/lib/Conversion/ArithToSPIRV/ArithToSPIRV.cpp
+75-0mlir/test/Conversion/ArithToSPIRV/arith-to-spirv.mlir
+9-0mlir/test/Conversion/ArithToSPIRV/arith-to-spirv-unsupported.mlir
+1-1mlir/test/Conversion/ConvertToSPIRV/arith.mlir
+216-14 files

LLVM/project e86973d — clang/lib/CIR/Dialect/Transforms/TargetLowering CIRABIRewriteContext.cpp, clang/test/CIR/Transforms/abi-lowering indirect-aliased-nyi.cir

update error
DeltaFile
+1-2clang/test/CIR/Transforms/abi-lowering/indirect-aliased-nyi.cir
+1-2clang/lib/CIR/Dialect/Transforms/TargetLowering/CIRABIRewriteContext.cpp
+2-42 files

LLVM/project f65bb51 — clang/lib/CIR/Dialect/Transforms CallConvLoweringPass.cpp, clang/test/CIR/Transforms/abi-lowering amdgpu-indirect-nyi.cir amdgpu-byref.cir

update nyi tests
DeltaFile
+55-0clang/test/CIR/Transforms/abi-lowering/amdgpu-byref.cir
+1-16clang/test/CIR/Transforms/abi-lowering/amdgpu-indirect-nyi.cir
+2-3clang/lib/CIR/Dialect/Transforms/CallConvLoweringPass.cpp
+58-193 files

LLVM/project 100e374 — clang/test/CIR/Transforms/abi-lowering indirect-aliased.cir

update CI failing test
DeltaFile
+1-1clang/test/CIR/Transforms/abi-lowering/indirect-aliased.cir
+1-11 files

LLVM/project 4e7cca2 — clang/lib/CIR/Dialect/Transforms/TargetLowering CIRABIRewriteContext.cpp, clang/test/CIR/Transforms/abi-lowering indirect-aliased-nyi.cir indirect-aliased.cir

[CIR][mlir][ABI] Add IndirectAliased (byref) argument lowering
DeltaFile
+196-0clang/test/CIR/Transforms/abi-lowering/indirect-aliased.cir
+118-53clang/lib/CIR/Dialect/Transforms/TargetLowering/CIRABIRewriteContext.cpp
+64-0clang/test/CIR/Transforms/abi-lowering/indirect-aliased-nyi.cir
+48-0mlir/unittests/ABI/TestTargetTest.cpp
+16-6mlir/lib/ABI/Targets/Test/TestTarget.cpp
+16-3mlir/include/mlir/ABI/ABIRewriteContext.h
+458-624 files not shown
+496-6510 files

LLVM/project 3bf0a20 — clang/include/clang/CIR/Dialect/IR CIRDataLayout.h, clang/lib/CIR/CodeGen CIRGenModule.cpp

[CIR] Emit llvm.used with target address spaces (#236349)

Use the default address space for llvm.used elements and the data layout
globals address space for the array itself, as classic CodeGen does

Linking a CIR module with a classic one failed on SPIR-V otherwise
DeltaFile
+11-6clang/lib/CIR/Dialect/Transforms/LoweringPrepare.cpp
+8-4clang/lib/CIR/CodeGen/CIRGenModule.cpp
+9-0clang/include/clang/CIR/Dialect/IR/CIRDataLayout.h
+2-1clang/test/CIR/CodeGenHIP/spirv-constant-addrspace.hip
+30-114 files

LLVM/project eb3e27b — clang/test/Driver sycl-std-default.cpp sycl-offload-jit-unix.cpp

[Driver][SYCL][NFC] Drop --no-offloadlib workarounds from SYCL tests (#236633)

Removes the `--no-offloadlib` and `-resource-dir=%S/Inputs/spirv64-sycl`
additions that #218528 made to the existing SYCL driver tests. They only
avoided the missing spirv64 builtins error, which #236556 removed. The
tests pass with or without the library installed.
DeltaFile
+26-43clang/test/Driver/sycl-offload-jit.cpp
+15-15clang/test/Driver/sycl.cpp
+14-14clang/test/Driver/sycl-windows.cpp
+4-8clang/test/Driver/sycl-nordc-fatbin.cpp
+3-6clang/test/Driver/sycl-offload-jit-unix.cpp
+4-4clang/test/Driver/sycl-std-default.cpp
+66-903 files not shown
+70-999 files

LLVM/project a9b1f55 — mlir/lib/Conversion/ComplexToSPIRV ComplexToSPIRV.cpp, mlir/test/Conversion/ComplexToSPIRV complex-to-spirv.mlir

[mlir][SPIR-V] Add ComplexToSPIRV lowering for complex.sin/cos (#231873)

Lowers complex.sin/cos via the shared TrigonometricOpPattern base,
following the standard real/imaginary component identities in terms of
sin, cos, and exp of the scalar components.
DeltaFile
+71-0mlir/test/Conversion/ComplexToSPIRV/complex-to-spirv.mlir
+58-1mlir/lib/Conversion/ComplexToSPIRV/ComplexToSPIRV.cpp
+129-12 files

LLVM/project f572fdd — llvm/lib/Support Path.cpp

[Support][Path] `TempFile::keep` does not delete the temporary when `rename` fails

`TempFile::keep` first attempts a `rename` of the file, but if it fails,
it falls back to a full copy of it. Originally, the code only removed
the temporary file when `copy_file` failed, which ended up in the original
temporary location being kept while it should have been discarded.

The issue is not present on Windows.

I wasn't able to find a reliable way to test the issue. But it should be
possible to reproduce if the source and destination underlying file systems are different.
DeltaFile
+3-3llvm/lib/Support/Path.cpp
+3-31 files

LLVM/project d3f1100 — utils/bazel/llvm-project-overlay/lldb BUILD.bazel

[bazel][lldb] Add lldb-test binary to prepare for shell tests (#236762)

lldb-test is the test driver many lldb Shell tests run (for example
`lldb-test object-file` and `lldb-test symbols`). CMake builds it with
every plugin linked in.

https://github.com/llvm/llvm-project/blob/2f7a16ae3f634b1e889d13b01e6a65914a4d13c1/lldb/tools/lldb-test/CMakeLists.txt#L1-L23
The bazel overlay had no target for it, and the Shell tests need it
before they can be modeled.

Add it, getting the plugins through //lldb:API like liblldb does.

I can't run bazel locally. Through Meta's bazel->BUCK translation, the
target builds, and `lldb-test object-file` / `lldb-test symbols` work on
a test binary.

assisted with: claude
DeltaFile
+28-0utils/bazel/llvm-project-overlay/lldb/BUILD.bazel
+28-01 files

LLVM/project 6894936 — utils/bazel/llvm-project-overlay/lldb/unittests BUILD.bazel

[bazel][lldb] Lldb bazel unit test expansion to core libraries (#236749)

Follow up to #232715. This adds the unit tests for lldb's core
libraries: Breakpoint, Callback, Core, DataFormatter, Expression,
Highlighter, Interpreter, Process, Protocol, Symbol, Target, Thread and
ValueObject. It also adds the lldbSymbolHelpers TestingSupport library
that several of them use. As before, target names and dependencies
follow the add_lldb_unittest() calls in CMake. SymbolTests and
TargetTests stage their Inputs/ the same way UtilityTests does.

Differences from CMake:
- //lldb:Interpreter is listed wherever //lldb:Core is. CMake gets it
through lldbCore, but the bazel Core library doesn't ddepend on
Interpreter, to avoid a cycle.
- Tests depend directly on the libraries providing the headers they
include, for layering_check. That includes testingSupport helpers, which
CMake finds through its global include directory.
- ExpressionTests assumes the AArch64 target is configured, like llvm's
target_aarch64_tests. CMake only builds that part when AArch64 is

    [4 lines not shown]
DeltaFile
+381-3utils/bazel/llvm-project-overlay/lldb/unittests/BUILD.bazel
+381-31 files

LLVM/project 87dbf15 — libcxx/include __split_buffer

[libcxx] Optimize __split_buffer::__relocate by using size-based __set_valid_range (#216822)

The new size is already known.
We can directly call the `(pointer, size_type)` overload.
This avoids redundant pointer arithmetic.
DeltaFile
+2-1libcxx/include/__split_buffer
+2-11 files

LLVM/project 266b909 — llvm/lib/Target/Sparc SparcRegisterInfo.td SparcISelLowering.cpp, llvm/test/CodeGen/SPARC inlineasm-cc-clobber.ll

[SPARC] Fix recognition of condition code clobbers (#235674)

Condition code clobbers were not detected correctly in
getRegForInlineAsmConstraint() which caused miscompilations when
building GMP.

Assisted-by: Claude
DeltaFile
+112-0llvm/test/CodeGen/SPARC/inlineasm-cc-clobber.ll
+12-0llvm/lib/Target/Sparc/SparcISelLowering.cpp
+3-0llvm/lib/Target/Sparc/SparcRegisterInfo.td
+127-03 files

LLVM/project 1061d3d — llvm/include/llvm/CodeGen ValueTypes.td, llvm/test/TableGen CPtrWildcard.td

[CodeGen] Add missing vector types of up to 4096 elements (#207782)

There are vector types of 4096 elements, but some previous powers of
two lengths were missing. Add missing i8, i16, f16, bf16 vector lengths
so the sequence is complete up to 4096 elements.

Signed-off-by: Alexey Karyakin <akaryaki at qti.qualcomm.com>
DeltaFile
+2-2llvm/test/TableGen/CPtrWildcard.td
+4-0llvm/include/llvm/CodeGen/ValueTypes.td
+6-22 files