LLVM/project bb97e64llvm/test/Analysis/CostModel/AMDGPU fused_costs.ll, llvm/test/CodeGen/AArch64 arm64-2013-01-13-ffast-fcmp.ll

CodeGen: Drop inert -fp-contract flags from tests

-fp-contract is nearly dead, but referenced in tests. These have
no output change with or without the flag now.

Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>
DeltaFile
+434-434llvm/test/CodeGen/AMDGPU/GlobalISel/combine-fma-add-fma-mul.ll
+0-88llvm/test/CodeGen/AMDGPU/GlobalISel/combine-fma-add-ext-fma.ll
+19-19llvm/test/CodeGen/AMDGPU/fdot2.ll
+6-6llvm/test/Analysis/CostModel/AMDGPU/fused_costs.ll
+1-7llvm/test/CodeGen/AMDGPU/prevent-fmul-hoist-ir.ll
+0-5llvm/test/CodeGen/AArch64/arm64-2013-01-13-ffast-fcmp.ll
+460-55923 files not shown
+485-58629 files

LLVM/project 4b11439llvm/lib/Target/AArch64 AArch64ISelLowering.cpp, llvm/test/CodeGen/AArch64 arm64-tbl.ll arm64-build-vector.ll

[AArch64] Combine scalar_to_vector(C) -> buildvector (#220948)

This helps keep a single canonical form of a constant vector, helping a
number of the existing buildvector combines trigger.
DeltaFile
+26-27llvm/test/CodeGen/AArch64/pext.ll
+20-21llvm/test/CodeGen/AArch64/pdep.ll
+14-6llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
+2-4llvm/test/CodeGen/AArch64/neon-anyof-splat.ll
+1-1llvm/test/CodeGen/AArch64/arm64-tbl.ll
+1-1llvm/test/CodeGen/AArch64/arm64-build-vector.ll
+64-606 files

LLVM/project 5700f6fclang/test/CodeGenCoroutines coro-destructor-of-final_suspend.cpp, llvm/lib/Transforms/Coroutines CoroFrame.cpp

[CoroSplit] Don't go sub-word for suspend index (#221374)

Currently, `CoroFrame` selects the coroutine suspend index type
(`SwitchIndexType`) using `Type::getIntNTy(Context, IndexBits)`. For
coroutines with fewer than 256 suspend points, this produces
sub-byte/sub-word integer types (such as `i1`, `i2`, or `i8`) in the
coroutine frame struct.

On targets whose `DataLayout` specifies `-n32` (no legal sub-32-bit
integer types), storing and loading sub-word integer fields in memory
forces the backend to emit read-modify-write sequences on every
coroutine suspend and zero-extension masks on every resume.

Use `DataLayout::getSmallestLegalIntType(Context, IndexBits)` when
selecting `SwitchIndexType` so that targets respect their legal native
integer width.
DeltaFile
+48-0llvm/test/Transforms/Coroutines/coro-split-index-datalayout.ll
+2-4clang/test/CodeGenCoroutines/coro-destructor-of-final_suspend.cpp
+4-1llvm/lib/Transforms/Coroutines/CoroFrame.cpp
+2-2llvm/test/Transforms/Coroutines/coro-frame-reuse-alloca-02.ll
+2-2llvm/test/Transforms/Coroutines/coro-frame-reuse-alloca-01.ll
+2-2llvm/test/Transforms/Coroutines/coro-alloca-08.ll
+60-1126 files not shown
+89-4032 files

LLVM/project 884a22cllvm/lib/CodeGen AtomicExpandPass.cpp, llvm/test/Transforms/AtomicExpand/AMDGPU unaligned-atomic.ll

Update diagnostic
DeltaFile
+12-11llvm/lib/CodeGen/AtomicExpandPass.cpp
+4-5llvm/test/Transforms/AtomicExpand/AMDGPU/unaligned-atomic.ll
+16-162 files

LLVM/project 586cfbcllvm/lib/Target/X86 X86CompressEVEX.cpp, llvm/test/CodeGen/X86 compress-evex-vpmov-kill.mir avx512-icmp-sle-zero.ll

[X86] X86CompressEVEX - Fold AVX-512 sign-mask compares to MOVMSK (#216884)

## Summary

Fold AVX-512 complementary signed sign-test masks to the corresponding
MOVMSK instructions in `X86CompressEVEX`.

AVX-512 lowers comparisons such as:

- `X >= 0`
- `X > -1`

to `VPCMP*` producing a k-mask followed by `KMOV`.

For 128-bit and 256-bit B/D/Q forms, these masks can instead be obtained
from the source sign bits using:

- `VPCMPB` -> `VPMOVMSKB`
- `VPCMPD` -> `VMOVMSKPS`

    [43 lines not shown]
DeltaFile
+240-0llvm/test/CodeGen/X86/compress-evex-sign-mask.mir
+215-0llvm/test/CodeGen/X86/bitcast-sign-mask.ll
+146-29llvm/lib/Target/X86/X86CompressEVEX.cpp
+4-6llvm/test/CodeGen/X86/avx512-icmp-sle-zero.ll
+1-1llvm/test/CodeGen/X86/compress-evex-vpmov-kill.mir
+606-365 files

LLVM/project a9cbac7llvm/lib/Target/ARM ARMLowOverheadLoops.cpp, llvm/test/CodeGen/Thumb2/LowOverheadLoops dbg-verify.ll

[ARM] Handle debug instructions in LowOverheadLoop (#221699)

The last instruction in the block might be a debug instruction, in which
case we should get the last non-debug instruction.

Fixes #221633.
DeltaFile
+81-0llvm/test/CodeGen/Thumb2/LowOverheadLoops/dbg-verify.ll
+3-2llvm/lib/Target/ARM/ARMLowOverheadLoops.cpp
+84-22 files

LLVM/project d6a6de0llvm/lib/Target/AMDGPU DSInstructions.td

[AMDGPU] Use AMDGPUMnemonicAlias in DS_Real_gfx13 (NFC) (#217912)

Emit an AMDGPUMnemonicAlias in DS_Real_gfx13 so it carries the
PredicateControl fields.

NFC: 46 gfx13 aliases gain the PredicateControl fields at their
defaults; Predicates is unchanged on all of them.
DeltaFile
+9-7llvm/lib/Target/AMDGPU/DSInstructions.td
+9-71 files

LLVM/project 0347486llvm/lib/Target/AArch64 AArch64SchedNeoverseV3AE.td, llvm/test/tools/llvm-mca/AArch64/Neoverse V3AE-sve-instructions.s

[AArch64] Correct the throughput of reductions on Neoverse V3ae (#221151)

This tightens up the throughput of sve saddv, sminv, smaxv, along with
the unsigned variants. They were a bit high due to the use of too many
micro ops.
DeltaFile
+37-37llvm/test/tools/llvm-mca/AArch64/Neoverse/V3AE-sve-instructions.s
+8-9llvm/lib/Target/AArch64/AArch64SchedNeoverseV3AE.td
+45-462 files

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

[mlir][llvm] Gate unhandled function metadata warning

Emit the warning for unhandled function metadata only when expensive
warnings are requested, matching how the flag is already used for
instruction metadata.

Co-Authored-By: Claude Opus 5 (1M context) <noreply at anthropic.com>
DeltaFile
+2-2mlir/test/Target/LLVMIR/Import/function-metadata.ll
+1-1mlir/test/Target/LLVMIR/Import/function-attributes.ll
+2-0mlir/lib/Target/LLVMIR/ModuleImport.cpp
+5-33 files

LLVM/project 6b0b1callvm/include/llvm/ABI FunctionInfo.h

default CanBeFlattened to false
DeltaFile
+1-1llvm/include/llvm/ABI/FunctionInfo.h
+1-11 files

LLVM/project 32e8241clang/lib/CIR/Dialect/Transforms CallConvLoweringPass.cpp, llvm/include/llvm/ABI FunctionInfo.h

[ABI] Add CanBeFlattened to ArgInfo for Direct struct coerces
DeltaFile
+43-0llvm/unittests/ABI/FunctionInfoTest.cpp
+12-2llvm/include/llvm/ABI/FunctionInfo.h
+7-4clang/lib/CIR/Dialect/Transforms/CallConvLoweringPass.cpp
+1-0llvm/utils/gn/secondary/llvm/unittests/ABI/BUILD.gn
+1-0llvm/unittests/ABI/CMakeLists.txt
+64-65 files

LLVM/project e910926llvm/include/llvm/ExecutionEngine/Orc/Shared SymbolNameSpec.h Mangler.h, llvm/lib/ExecutionEngine/Orc Mangling.cpp

[ORC] Add SymbolNameSpec, hoist name mangling into Shared.

Introduce two Shared, ExecutionSession-independent pieces:

 - SymbolNameSpec (Shared/SymbolNameSpec.h): a StringRef paired with a
   SymbolNameKind (Verbatim, Linker, IR, C) describing the naming level
   a symbol name is expressed in. A lightweight, dependency-free value
   type, so it can describe interface-name constants in Shared headers.

 - Mangler (Shared/Mangler.h, Shared/Mangler.cpp): the linker
   name-mangling logic factored out of MangleAndInterner. It holds only
   a ManglingMode (no ExecutionSession or SymbolStringPool), so names
   can be mangled on the executor side as well as the controller
   side. It exposes withMangledNameDo (which avoids allocating when
   mangling is a no-op) and a mangledCopy convenience, both dispatching
   on the spec's SymbolNameKind.

MangleAndInterner becomes a thin wrapper: it derives a ManglingMode
(from an ABIName / ManglingMode / DataLayout), holds a Mangler, and

    [6 lines not shown]
DeltaFile
+90-0llvm/include/llvm/ExecutionEngine/Orc/Shared/Mangler.h
+0-87llvm/unittests/ExecutionEngine/Orc/MangleAndInternerTest.cpp
+87-0llvm/unittests/ExecutionEngine/Orc/ManglerTest.cpp
+0-79llvm/lib/ExecutionEngine/Orc/Mangling.cpp
+68-0llvm/include/llvm/ExecutionEngine/Orc/Shared/SymbolNameSpec.h
+53-0llvm/lib/ExecutionEngine/Orc/Shared/Mangler.cpp
+298-1664 files not shown
+324-18810 files

LLVM/project 16df25dllvm/include/llvm/ADT APInt.h, llvm/lib/Support APInt.cpp

[APInt][NFC] Add branch hints to APInt single-word (#219437)

The fast-path for APInt is generally done with for "single word"
integers, i.e. ones that can be represented in a single 64-bit word.
This commit adds branch hints to the single-word branching to help
indicate to the compilers prioritize branch-prediction towards the
fast-path. The trade-off of this is that the >64-bit APInt case will be
slower.

---------

Signed-off-by: Steffen Holst Larsen <sholstla at amd.com>
DeltaFile
+47-47llvm/include/llvm/ADT/APInt.h
+37-35llvm/lib/Support/APInt.cpp
+84-822 files

LLVM/project 2a9266cllvm/lib/Target/AArch64/GISel AArch64InstructionSelector.cpp

[AArch64][GlobalISel] Avoid duplicate register-bank queries in selectCopy (NFC) (#221655)

selectCopy redundantly queried both register banks through a single-use
helper. Inline the helper to reuse the existing results.

Small -0.04% geomean improvement on CTMark aarch64-O0-g.

https://llvm-compile-time-tracker.com/compare.php?from=97cbc1e404b980edc58bfbcabb6f1c61793b624b&to=ca7c3e1d88a6ca20b104b0fb62ce79897b61afc8&stat=instructions:u

Assisted-by: codex
DeltaFile
+19-35llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
+19-351 files

LLVM/project 2c2ff26llvm/include/llvm/CodeGen/GlobalISel GIMatchTableExecutorImpl.h

[GlobalISel] Avoid copying complex pattern renderers (NFC) (#221657)

They're immediately destroyed after being copied, move them instead.

Improves aarch64-O0-g CTMark geomean -0.10%.

https://llvm-compile-time-tracker.com/compare.php?from=97cbc1e404b980edc58bfbcabb6f1c61793b624b&to=69a2cfb9a265b7c4a18ef7121a7afb239c886d13&stat=instructions:u

Assisted-by: codex
DeltaFile
+1-1llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutorImpl.h
+1-11 files

LLVM/project 0c098aellvm/lib/Support CMakeLists.txt

[Support] [CMake] Only pass -Wno-c99-extensions to Clang, not GCC (#221822)

GCC doesn't support this option, only Clang.

GCC doesn't warn if an unrecognized `-Wno-<foo>` option is passed, but
if GCC produces other warnings, it also adds a note about `-Wno-<foo>`
not being recognized, and that it may have been intended to silence the
warning that was produced.
DeltaFile
+1-1llvm/lib/Support/CMakeLists.txt
+1-11 files

LLVM/project 011005fllvm/lib/Target/X86 X86InstrSNP.td, llvm/test/MC/Disassembler/X86 x86-64.txt

[X86] Support further Zen5 and Zen6 instructions (#221659)

Support the following system instructions,
RMPREAD: https://docs.amd.com/v/u/en-US/24594_3.38_APM_Vol3_PUB
RMPOPT: https://docs.amd.com/search/all?query=69201
RMPCHKD (RMP Dirty) : https://docs.amd.com/search/all?query=69203
DeltaFile
+24-0llvm/test/MC/X86/SNP-64.s
+18-0llvm/lib/Target/X86/X86InstrSNP.td
+9-0llvm/test/MC/Disassembler/X86/x86-64.txt
+51-03 files

LLVM/project 1e679c0llvm/cmake/modules HandleLLVMOptions.cmake, mlir CMakeLists.txt

[CMake] Move -Wno-unused-but-set-parameter from MLIR up to LLVM (#221824)

This warning is known to have false positives with GCC versions before
14.

Since 3aec6a40bb4e49f9ea181ac5c949b6c7c20a5465, this warning appears
when building LLVMSupport as well - thus move the disabling of the
warning up from MLIR to all of LLVM.

In HandleLLVMOptions, the common procedure is to not check for whether
the options are supported or not, but to just hardcode the version
ranges where the options are supported, per compiler.

This option (and -Wunused-but-set-parameter) is available in GCC since
long before our minimum required version.
DeltaFile
+0-7mlir/CMakeLists.txt
+7-0llvm/cmake/modules/HandleLLVMOptions.cmake
+7-72 files

LLVM/project d402c61llvm/lib/Target/X86 X86ISelLowering.cpp X86InstrCompiler.td, llvm/test/CodeGen/X86 PR40322.ll atomic-unordered.ll

[X86] Fold atomic loads into compares (#221290)

A compare of an atomic load kept the load in a register (mov + cmp/test)
where a compare of a regular load folds the load into the compare's
memory operand. The folded form performs a single full-width load, and
on x86 an ordinary load already provides every ordering up to seq_cst,
so folding is legal for any non-extending atomic load.

Add isel patterns folding an atomic load into CMP (mi/mr/rm forms across
i8/i16/i32/i64). Compare-to-zero already reaches these via EmitTest;
nonzero and register compares are emitted as a flag-only X86ISD::SUB (to
enable CSE with a real subtract) whose load the peephole then folds. The
peephole cannot move an ordered access, so those never folded for atomic
loads. Emit X86ISD::CMP instead when an operand is a foldable atomic
load: it has no non-atomic sibling to CSE with anyway.

x86lint reports 5854 "load foldable into compare" sites in a release
build of Firefox's libxul.so; sampling shows the majority are
atomic-load compares of the kind this folds -- mozilla::Atomic and

    [5 lines not shown]
DeltaFile
+370-0llvm/test/CodeGen/X86/atomic-cmp-fold.ll
+31-0llvm/lib/Target/X86/X86InstrCompiler.td
+12-0llvm/lib/Target/X86/X86ISelLowering.cpp
+5-5llvm/test/CodeGen/X86/atomic-unordered.ll
+1-2llvm/test/CodeGen/X86/PR40322.ll
+419-75 files

LLVM/project 05fa66ellvm/test/CodeGen/X86 var-permute-128.ll stack-align.ll

[UpdateTestChecks][X86] Allow --no_x86_scrub_sp to disable folded stack spill/restore stack math scrubing (#221788)

We were handling cases to show general load/store stack math, but had
missed the r/w/rmw folded cases
DeltaFile
+137-137llvm/test/CodeGen/X86/swifterror.ll
+54-54llvm/test/CodeGen/X86/llvm.sincos.vec.ll
+50-50llvm/test/CodeGen/X86/subcarry.ll
+8-8llvm/test/CodeGen/X86/huge-stack.ll
+4-4llvm/test/CodeGen/X86/var-permute-128.ll
+4-4llvm/test/CodeGen/X86/stack-align.ll
+257-2572 files not shown
+264-2648 files

LLVM/project de49e0bllvm/test/CodeGen/AMDGPU/GlobalISel regbankcombiner-merge-readanylane.mir regbankcombiner-smed3.mir

comments
DeltaFile
+2-2llvm/test/CodeGen/AMDGPU/GlobalISel/regbankcombiner-smed3.mir
+2-2llvm/test/CodeGen/AMDGPU/GlobalISel/regbankcombiner-clamp-fmed3-const.mir
+1-1llvm/test/CodeGen/AMDGPU/GlobalISel/regbankcombiner-merge-readanylane.mir
+5-53 files

LLVM/project 1b0c43bllvm/lib/Target/AMDGPU AMDGPUTargetMachine.cpp AMDGPU.h

comments
DeltaFile
+18-25llvm/lib/Target/AMDGPU/AMDGPURegBankCombiner.cpp
+3-3llvm/lib/Target/AMDGPU/AMDGPU.h
+2-2llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
+23-303 files

LLVM/project 7c154ballvm/lib/Target/AMDGPU AMDGPUPassRegistry.def AMDGPUTargetMachine.cpp, llvm/test/CodeGen/AMDGPU/GlobalISel regbankcombiner-smed3.mir regbankcombiner-clamp-fmed3-const.mir

[AMDGPU][GIsel][NPM] Port "AMDGPURegBankCombiner" to NPM
DeltaFile
+81-32llvm/lib/Target/AMDGPU/AMDGPURegBankCombiner.cpp
+13-2llvm/lib/Target/AMDGPU/AMDGPU.h
+2-2llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
+1-2llvm/lib/Target/AMDGPU/AMDGPUPassRegistry.def
+2-0llvm/test/CodeGen/AMDGPU/GlobalISel/regbankcombiner-smed3.mir
+2-0llvm/test/CodeGen/AMDGPU/GlobalISel/regbankcombiner-clamp-fmed3-const.mir
+101-381 files not shown
+102-387 files

LLVM/project df3c1f7llvm/lib/Target/AMDGPU AMDGPUPassRegistry.def AMDGPUTargetMachine.cpp, llvm/test/CodeGen/AMDGPU/GlobalISel regbankselect-mui.mir regbankselect-load.mir

[AMDGPU][GIsel][NPM] Port "AMDGPURegBankLegalize" to NPM (#217322)

Probably doesn't require all tests to be updated.

Assisted-by: Opus-4.8,
DeltaFile
+50-17llvm/lib/Target/AMDGPU/AMDGPURegBankLegalize.cpp
+21-3llvm/lib/Target/AMDGPU/AMDGPU.h
+2-2llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
+3-0llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-load.mir
+1-1llvm/lib/Target/AMDGPU/AMDGPUPassRegistry.def
+1-0llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-mui.mir
+78-231 files not shown
+79-237 files

LLVM/project cc798fbllvm/docs NVPTXUsage.md, llvm/lib/IR AutoUpgrade.cpp

[LLVM][NVPTX] Add Rubin extensions for G2S Tensor intrinsics (#220029)

This change adds support for the Rubin-extended Global-to-Shared tensor
copy intrinsics for both the Cluster and CTA variants:

1. 32-bit multicast mask support: the G2S Cluster intrinsics are now
overloaded on the multicast mask type (i16/i32); an i32 mask lowers to
`.multicast::cluster::32b`.
2. Data-validity reporting through the mbarrier: all G2S Cluster and CTA
intrinsics, including the property-override forms, take a trailing `i32
%validate_pattern` immediate (range [0, 6)) that selects a
`.mbarrier::report::validity` qualifier. It defaults to 0 (disabled).
3. Override tensor map properties: the G2S Cluster and CTA intrinsics
now support `.override::global_address`, optionally followed by
`.override::global_dim` / `.override::global_dim_stride`, across all
load modes. The dim/stride overrides apply to tile mode only; im2col and
gather4 support the global-address override only.

The new `validate_pattern` argument changes the IR signatures of all G2S

    [3 lines not shown]
DeltaFile
+253-75llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
+229-42llvm/docs/NVPTXUsage.md
+108-108mlir/test/Target/LLVMIR/nvvm/tma_load_cluster_im2col.mlir
+212-0llvm/test/CodeGen/NVPTX/cp-async-bulk-tensor-g2s-mc32.ll
+205-0llvm/test/CodeGen/NVPTX/cp-async-bulk-tensor-g2s-override.ll
+133-61llvm/lib/IR/AutoUpgrade.cpp
+1,140-28625 files not shown
+2,088-66431 files

LLVM/project 0ffb307llvm/lib/CodeGen/GlobalISel IRTranslator.cpp, llvm/test/CodeGen/AMDGPU/GlobalISel amdgpu-irtranslator.ll

[GlobalISel] Lower bytecast in IRTranslator

Add translateByteCast and move byte-specific cast lowering out of
translateBitCast. Byte-pointer crossings use G_INTTOPTR/G_PTRTOINT; other
byte casts reuse the existing G_BITCAST/COPY paths.

Co-authored-by: Cursor <cursoragent at cursor.com>
DeltaFile
+17-17llvm/test/CodeGen/AMDGPU/GlobalISel/amdgpu-irtranslator.ll
+19-8llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
+36-252 files

LLVM/project a5cbaeellvm/include/llvm/Bitcode LLVMBitCodes.h, llvm/lib/Bitcode/Reader BitcodeReader.cpp

[Bitcode] Add ByteCast encoding and decoding

Add CAST_BYTECAST to the bitcode cast opcode table and wire it through the
reader and writer so bytecast instructions round-trip in bitcode.

Co-authored-by: Cursor <cursoragent at cursor.com>
DeltaFile
+72-0llvm/test/Bitcode/bytecast.ll
+1-0llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
+1-0llvm/lib/Bitcode/Reader/BitcodeReader.cpp
+1-0llvm/include/llvm/Bitcode/LLVMBitCodes.h
+75-04 files

LLVM/project 9edc538llvm/include/llvm-c Core.h, llvm/lib/IR Core.cpp

[LLVM-C] Add LLVMBuildByteCast

Expose a C API builder for the bytecast instruction, mirroring the existing
LLVMBuildBitCast entry point, and teach llvm-c-test --echo to clone bytecast
so the new entry point is exercised by a round-trip test.

Co-authored-by: Cursor <cursoragent at cursor.com>
DeltaFile
+53-0llvm/test/Bindings/llvm-c/bytecast.ll
+6-0llvm/lib/IR/Core.cpp
+5-0llvm/tools/llvm-c-test/echo.cpp
+2-0llvm/include/llvm-c/Core.h
+66-04 files

LLVM/project f686638llvm/include/llvm/IR Operator.h Instructions.h, llvm/lib/IR Instructions.cpp

[IR] Add ByteCast opcode and ByteCastInst

Introduce a dedicated bytecast instruction for casts involving byte types.
Split byte cast validation out of bitcast, add ByteCastInst, constant folding,
and verifier support. Renumber subsequent opcodes to keep Instruction.def unique.

Add LLVMByteCast to the C API opcode enum for Core.cpp mapping tables, minimal
codegen stubs, assembler/llubi support, and bitcast-to-bytecast fallback in the
parser so existing IR text continues to assemble.

Co-authored-by: Cursor <cursoragent at cursor.com>
DeltaFile
+83-12llvm/lib/IR/Instructions.cpp
+45-44llvm/test/tools/llvm-ir2vec/entities.ll
+29-29llvm/test/tools/llvm-ir2vec/triplets.ll
+14-14llvm/unittests/Analysis/IR2VecTest.cpp
+28-0llvm/include/llvm/IR/Instructions.h
+24-0llvm/include/llvm/IR/Operator.h
+223-9928 files not shown
+327-14034 files

LLVM/project c14dc03llvm/lib/CodeGen/GlobalISel IRTranslator.cpp, llvm/test/CodeGen/AMDGPU/GlobalISel amdgpu-irtranslator.ll

[GlobalISel] Lower bytecast in IRTranslator

Add translateByteCast and move byte-specific cast lowering out of
translateBitCast. Byte-pointer crossings use G_INTTOPTR/G_PTRTOINT; other
byte casts reuse the existing G_BITCAST/COPY paths.

Co-authored-by: Cursor <cursoragent at cursor.com>
DeltaFile
+17-17llvm/test/CodeGen/AMDGPU/GlobalISel/amdgpu-irtranslator.ll
+19-8llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
+36-252 files