LLVM/project 394aa60clang/lib/CIR/CodeGen CIRGenBuiltinAArch64.cpp

[CIR][NFC] Sync AArch64 NEON intrinsics with Clang (#204862)

Sync AArch64 NEON intrinsics with Clang after changes merged from
#204201
DeltaFile
+0-76clang/lib/CIR/CodeGen/CIRGenBuiltinAArch64.cpp
+0-761 files

LLVM/project bb87fbbllvm/lib/CAS OnDiskGraphDB.cpp, llvm/lib/MC MCObjectFileInfo.cpp

[llvm] Avoid premature Twine .str() materialization (#204828)
DeltaFile
+13-16llvm/lib/Transforms/IPO/InstrumentorUtils.cpp
+6-9llvm/lib/TableGen/TGParser.cpp
+4-4llvm/lib/Transforms/IPO/InstrumentorConfigFile.cpp
+4-4llvm/lib/MC/MCObjectFileInfo.cpp
+4-4llvm/lib/ObjCopy/COFF/COFFObjcopy.cpp
+3-3llvm/lib/CAS/OnDiskGraphDB.cpp
+34-405 files not shown
+40-4611 files

LLVM/project d10349cllvm/lib/Analysis InstructionSimplify.cpp, llvm/test/Transforms/InstCombine pdep.ll pext.ll

[InstSimplify] Add fold for pdep(0,x) -> 0 and pext(0,x) -> 0 (#204810)

As noted on #204144
DeltaFile
+2-4llvm/test/Transforms/InstCombine/pdep.ll
+2-4llvm/test/Transforms/InstCombine/pext.ll
+4-0llvm/lib/Analysis/InstructionSimplify.cpp
+8-83 files

LLVM/project eb21e78llvm/lib/Target/X86 X86WinEHUnwindV3.cpp

Mark LastEpilogIdx as maybe_unused (#204857)

#203108 added a variable which is read only in debug builds, so we are
seeing warning in release builds without asserts.
DeltaFile
+1-1llvm/lib/Target/X86/X86WinEHUnwindV3.cpp
+1-11 files

LLVM/project fa135bbllvm/test/tools/llubi metadata.ll verify.ll, llvm/tools/llubi llubi.cpp

[llubi] Run verifier on the input IR (#204095)

This PR runs the IR verifier in llubi by default and adds a
`--disable-verify` opt-out.
DeltaFile
+2-49llvm/test/tools/llubi/metadata.ll
+20-0llvm/test/tools/llubi/verify.ll
+0-18llvm/test/tools/llubi/intr_vector_manip.ll
+9-8llvm/tools/llubi/lib/Interpreter.cpp
+7-5llvm/test/tools/llubi/assume_invalid_align.ll
+10-0llvm/tools/llubi/llubi.cpp
+48-802 files not shown
+50-828 files

LLVM/project ef5d544flang/lib/Lower/OpenMP OpenMP.cpp, flang/lib/Lower/Support ReductionProcessor.cpp

[flang][OpenMP] Scope-qualify user-defined reduction names in lowering (#202474)

A named !$omp declare reduction was lowered to an omp.declare_reduction
operation whose symbol name was just the bare reduction name (e.g.
`@a`), without any scope qualification. Semantic name resolution was
correct and gave each scope its own reduction symbol, but lowering
deduplicates the declare reduction op by name, so two subroutines that
declared a reduction with the same name collapsed onto a single op.

As a result, a reduction(name:var) clause could bind to a declaration
that leaked in from a different scope.

Per OpenMP 6.0 7.6.14, a user-defined reduction has the same visibility
and accessibility as a variable declared at the same location.

Qualify the generated op name with the scope in which the reduction is
declared using mangleName, the same approach already used for
omp.private and declare mapper. This is applied consistently when the op
is created, when a clause references it, and when its existence is

    [2 lines not shown]
DeltaFile
+35-0flang/test/Lower/OpenMP/declare-reduction-same-name-different-scope.f90
+9-9flang/test/Lower/OpenMP/declare-reduction-target-intrinsic.f90
+14-4flang/lib/Lower/Support/ReductionProcessor.cpp
+6-1flang/lib/Lower/OpenMP/OpenMP.cpp
+3-3flang/test/Lower/OpenMP/Todo/multiple-types-declare_reduction.f90
+2-2flang/test/Lower/OpenMP/declare-reduction-no-initializer-intrinsic.f90
+69-1910 files not shown
+80-3016 files

LLVM/project 403ce0dflang/lib/Semantics check-omp-structure.cpp, flang/test/Semantics/OpenMP requires10.f90 requires03.f90

[flang][OpenMP] Emit warning that REVERSE_OFFLOAD is not supported (#204647)

Right now we quietly ignore it, whereas the OpenMP spec mandates a
compilation error for requirements that the implementation does not
support.
The REVERSE_OFFLOAD was not causing a compilation error to allow testing
of incremental implementation improvements, but we should at least warn
about not supporting it.
DeltaFile
+1-9llvm/include/llvm/Frontend/OpenMP/OMP.td
+6-0flang/lib/Semantics/check-omp-structure.cpp
+2-0flang/test/Semantics/OpenMP/requires10.f90
+1-0flang/test/Semantics/OpenMP/requires03.f90
+1-0flang/test/Semantics/OpenMP/requires04.f90
+1-0flang/test/Semantics/OpenMP/requires05.f90
+12-95 files not shown
+17-911 files

LLVM/project 26f8682clang/include/clang/Driver CommonArgs.h, clang/lib/Driver/ToolChains CommonArgs.cpp AMDGPU.cpp

clang/AMDGPU: Fix double linking opencl libs with --libclc-lib

Noticed by inspection. If using an explicit --libclc-lib flag,
do not attempt to also link the rocm device libs which will contain
different implementations of the same opencl symbols.

Co-Authored-By: Claude <noreply at anthropic.com>
DeltaFile
+8-7clang/lib/Driver/ToolChains/CommonArgs.cpp
+9-0clang/test/Driver/opencl-libclc.cl
+5-1clang/include/clang/Driver/CommonArgs.h
+2-1clang/lib/Driver/ToolChains/AMDGPU.cpp
+24-94 files

LLVM/project ca7b8d4clang/lib/Driver/ToolChains AMDGPU.cpp HIPAMD.cpp

clang/AMDGPU: Merge toolchain subclasses

Simplify the toolchain implementations by collapsing
them into one. Previously we had a confusing split. The
AMDGPUToolChain base class implemented much of the base
support. It was subclassed by ROCMToolChain, which would
have been more accurately described as the offloading subclass.

That was further subclassed into HIP and OpenMP specific subclasses.
Deleting those two is the important part of this change. There was
code duplication, and features arbitrarily handled in one but not
the other. The offload kind is passed in almost everywhere if you
really need to know the original language. However, I consider
this an antifeature, and it is really poor QoI to have the HIP
and OpenMP toolchains behave differently in any way. The platform
should be consistent and the driver behaviors should not depend
on the language.

There is additional mess in the handling of spirv, which this

    [9 lines not shown]
DeltaFile
+264-123clang/lib/Driver/ToolChains/AMDGPU.cpp
+2-193clang/lib/Driver/ToolChains/HIPAMD.cpp
+0-94clang/lib/Driver/ToolChains/AMDGPUOpenMP.cpp
+48-23clang/lib/Driver/ToolChains/AMDGPU.h
+0-68clang/lib/Driver/ToolChains/AMDGPUOpenMP.h
+1-50clang/lib/Driver/ToolChains/HIPAMD.h
+315-5514 files not shown
+340-56610 files

LLVM/project b8802cdclang/lib/Driver/ToolChains AMDGPU.cpp, clang/test/Driver amdgpu-openmp-max-threads.c

clang/AMDGPU: Remove artificial restriction on --gpu-max-threads-per-block

Previously this flag was only handled for HIP, and would produce an unused
argument warning. Also use a simpler method for forwarding the flag to cc1.
DeltaFile
+2-8clang/lib/Driver/ToolChains/AMDGPU.cpp
+5-0clang/test/Driver/amdgpu-openmp-max-threads.c
+7-82 files

LLVM/project ae60782libc/src/libgen dirname.cpp basename.cpp, libc/test/src/libgen dirname_test.cpp basename_test.cpp

Revert "[libc] Implement basename and dirname in libgen.h (#204554)" (#204856)

Reverted due to death tests failing with ASan on buildbots. Reverts
commit 29692c150f86d76cfb58e8bf2c0e97dc6afd2088.
DeltaFile
+0-74libc/test/src/libgen/dirname_test.cpp
+0-62libc/test/src/libgen/basename_test.cpp
+0-48libc/src/libgen/dirname.cpp
+0-43libc/test/src/libgen/CMakeLists.txt
+0-42libc/src/libgen/basename.cpp
+0-30libc/src/libgen/dirname.h
+0-29916 files not shown
+0-45822 files

LLVM/project 6ba9306llvm/include/llvm/IR IntrinsicsAMDGPU.td, llvm/lib/Target/AMDGPU AMDGPUInstructionSelector.cpp SIISelLowering.cpp

[AMDGPU] Guard more intrinsics with target features
DeltaFile
+1-51llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
+0-42llvm/lib/Target/AMDGPU/SIISelLowering.cpp
+0-24llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
+15-2llvm/include/llvm/IR/IntrinsicsAMDGPU.td
+4-4llvm/test/CodeGen/AMDGPU/unsupported-av-load.ll
+4-4llvm/test/CodeGen/AMDGPU/unsupported-av-store.ll
+24-12712 files not shown
+45-14318 files

LLVM/project bbafbd9clang/lib/CodeGen CodeGenAction.cpp, llvm/lib/CodeGen/SelectionDAG SelectionDAGBuilder.cpp

[RFC][CodeGen] Add generic target feature checks for intrinsics

This PR adds target-independent infrastructure for annotating LLVM intrinsics
with required subtarget feature expressions.

It introduces a TargetFeatures string field to intrinsic TableGen records.
TableGen emits an intrinsic-to-feature mapping table.

Both SelectionDAG and GlobalISel now perform this check before lowering target
intrinsics. This allows targets to opt in by annotating intrinsic definitions
directly, rather than adding custom checks during lowering, legalization, or
instruction selection.

This PR uses one AMDGPU intrinsic as an example.
DeltaFile
+96-3llvm/lib/MC/MCSubtargetInfo.cpp
+37-0clang/lib/CodeGen/CodeGenAction.cpp
+36-0llvm/lib/IR/DiagnosticInfo.cpp
+33-1llvm/utils/TableGen/Basic/IntrinsicEmitter.cpp
+28-0llvm/test/TableGen/intrinsic-target-features.td
+25-0llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
+255-414 files not shown
+391-920 files

LLVM/project ae77c46llvm/lib/IR Verifier.cpp VerifierAMDGPU.cpp, llvm/test/Verifier callbr-intrinsic.ll

[RFC][IR] Extract AMDGPU-specific verification logic into `VerifierAMDGPU.cpp`

`Verifier.cpp` is large and already mixes generic IR verification with
target-specific checks. We also have a growing amount of AMDGPU verifier logic
downstream, which would all end up in the same file if we don't address this,
and that is not ideal.

This patch extracts AMDGPU-specific verification logic into a separate
`VerifierAMDGPU.cpp` file, with shared infrastructure (`VerifierSupport`) moved
into `VerifierInternal.h`.

This is purely a code organization change, not a target-dependent IR verifier.
All checks remain compiled and linked into `LLVMCore` regardless of the target
triple. The extracted functions are called unconditionally at well-defined
extension points in `Verifier.cpp`, and each function internally gates on
target-specific conditions (for example, triple checks or intrinsic IDs) as
needed. The file is strictly limited to AMDGPU-specific IR constructs (amdgcn
intrinsics, AMDGPU module flags, etc.), and does not contain generic IR rules
that vary by target.

    [10 lines not shown]
DeltaFile
+23-530llvm/lib/IR/Verifier.cpp
+401-0llvm/lib/IR/VerifierAMDGPU.cpp
+233-0llvm/lib/IR/VerifierInternal.h
+6-6llvm/test/Verifier/callbr-intrinsic.ll
+1-0llvm/utils/gn/secondary/llvm/lib/IR/BUILD.gn
+1-0llvm/lib/IR/CMakeLists.txt
+665-5366 files

LLVM/project e995171clang/lib/CIR/CodeGen CIRGenBuiltinAArch64.cpp, clang/test/CodeGen/AArch64 neon-intrinsics.c

[CIR][AArch64] Upstream widening-addition and vector-shift-left-and-widen NEON builtins (#204285)

Related to https://github.com/llvm/llvm-project/issues/185382

CIR lowering for
- widening-addition intrinsics
(https://arm-software.github.io/acle/neon_intrinsics/advsimd.html#widening-addition)
- vector-shift-left-and-widen intrinsics
(https://arm-software.github.io/acle/neon_intrinsics/advsimd.html#vector-shift-left-and-widen)

Port tests:
- `clang/test/CodeGen/AArch64/neon_intrinsics.c` to
`clang/test/CodeGen/AArch64/neon/add.c`
- `clang/test/CodeGen/AArch64/neon_intrinsics.c` to
`clang/test/CodeGen/AArch64/neon/intrinsics.c`
DeltaFile
+0-495clang/test/CodeGen/AArch64/neon-intrinsics.c
+371-0clang/test/CodeGen/AArch64/neon/add.c
+187-0clang/test/CodeGen/AArch64/neon/intrinsics.c
+11-1clang/lib/CIR/CodeGen/CIRGenBuiltinAArch64.cpp
+569-4964 files

LLVM/project 85c81a2llvm/lib/MC MCWin64EH.cpp, llvm/lib/Target/X86 X86WinEHUnwindV3.cpp

[x64][win] Windows x64 unwind v3: Use tail-relative epilog offsets and add size-based splitting (#203108)

Win64 Unwind v3 encodes each epilog's EpilogOffset as a signed 16-bit
field. The encoder previously measured the first epilog offset from the
fragment start, which overflowed for large functions and produced a
cryptic "<unknown>:0: value too large for field" error (and, on the
early .seh_handlerdata path, an assertion failure).

Two changes:

- MCWin64EH.cpp: Always emit epilog offsets tail-relative. The first
epilog descriptor is measured from the fragment end and subsequent ones
as deltas from the previous epilog, so descriptors are emitted in
descending address order (all non-positive, per spec). A new lazy
MCUnwindV3EpilogOffsetTargetExpr resolves the fragment-end-relative
value at layout time (it may not have a symbol yet when emitted via
.seh_handlerdata) and reports a clean, function-named diagnostic on
genuine overflow.


    [11 lines not shown]
DeltaFile
+124-48llvm/test/MC/COFF/seh-unwindv3-inheritance.s
+119-26llvm/lib/Target/X86/X86WinEHUnwindV3.cpp
+113-0llvm/test/CodeGen/X86/win64-eh-unwindv3-split-large.ll
+95-17llvm/lib/MC/MCWin64EH.cpp
+8-7llvm/test/MC/COFF/seh-unwindv3-nonmirror.s
+4-4llvm/test/MC/COFF/seh-unwindv3-large.s
+463-1026 files

LLVM/project abbb031bolt/lib/Rewrite RewriteInstance.cpp, bolt/test/binary-analysis/AArch64 cfg-warning.s

[BOLT][rewrite] warn about functions without CFG before binary analyses. (#197294)
DeltaFile
+38-0bolt/test/binary-analysis/AArch64/cfg-warning.s
+22-2bolt/lib/Rewrite/RewriteInstance.cpp
+60-22 files

LLVM/project 8c922aallvm/lib/Transforms/Instrumentation MemorySanitizer.cpp

[MemorySanitizer] Merge x86 BMI and PackedBits handlers into handleGenericBitManipulation (#204786)

As discussed on #204144 - its not necessary to have separate handlers, just because some are target intrinsics
DeltaFile
+13-29llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
+13-291 files

LLVM/project d43b360llvm/lib/Transforms/Vectorize SLPVectorizer.cpp, llvm/test/Transforms/SLPVectorizer/X86 reduced-value-replace-extractelement-cost.ll

[SLP] Fix reduction cost crash for reduced values replaced by extractelement

A reduced value may be replaced by an extractelement while vectorizing a
previous subvector, so it is no longer a key in ReducedValsToOps.
Look through replaced values to the reduction operation among their users.

Fixes #204814

Reviewers: 

Pull Request: https://github.com/llvm/llvm-project/pull/204847
DeltaFile
+61-0llvm/test/Transforms/SLPVectorizer/X86/reduced-value-replace-extractelement-cost.ll
+15-2llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+76-22 files

LLVM/project 1eb9056llvm/test/MC/AMDGPU gfx13_asm_vop3_dpp16.s

[AMDGPU][NFC] Templatise and roundtrip gfx13_asm_vop3_dpp16.s

Again, this is based on the templatised version of
gfx12_asm_vop3_dpp16.s with the GFX13-specific changes re-applied
on top of it.

gfx13_dasm_vop3_dpp16.txt was never upstreamed, so no changes for
the disassembler side.
DeltaFile
+12,991-3,310llvm/test/MC/AMDGPU/gfx13_asm_vop3_dpp16.s
+12,991-3,3101 files

LLVM/project fd6a30blibcxx/test/libcxx/gdb gdb_pretty_printer_test.sh.cpp, libcxx/utils/gdb/libcxx printers.py

[libcxx] Make std::pair pretty-printer ABI-independent (#201768)

std::pair is printed explicitly instead of relying on GDB's default
struct formatting to keep output stable across ABI configurations.

With _LIBCPP_DEPRECATED_ABI_DISABLE_PAIR_TRIVIAL_COPY_CTOR (default on
some platforms, e.g. FreeBSD), std::pair gains an empty
__non_trivially_copyable_base base class. GDB would otherwise render
this as <...__non_trivially_copyable_base<...>> = {<No data fields>},
which makes output ABI-dependent.

Only first and second are meaningful, so print them directly.
DeltaFile
+15-0libcxx/utils/gdb/libcxx/printers.py
+13-0libcxx/test/libcxx/gdb/gdb_pretty_printer_test.sh.cpp
+28-02 files

LLVM/project 28c99aelibcxx/include regex, libcxx/test/std/re/re.traits transform_primary.pass.cpp

Fix __transform_primary in FreeBSD

FreeBSD's strxfrm() encodes collation weights one level at a time,
separating the primary, secondary, and tertiary with '.' bytes. Since
primary equivalence only depends on the primary collation weight, ignore
everything after the first separator when constructing the transformed
key.

This patch the intended behavior of primary equivalence and avoids
relying on glibc's fixed-size collation-key representation.
DeltaFile
+23-0libcxx/include/regex
+0-1libcxx/test/std/re/re.traits/transform_primary.pass.cpp
+23-12 files

LLVM/project 29692c1libc/src/libgen dirname.cpp basename.cpp, libc/test/src/libgen dirname_test.cpp basename_test.cpp

[libc] Implement basename and dirname in libgen.h (#204554)

Added the POSIX standard functions basename and dirname under a new
libgen.h header. The implementations modify the input path in-place
using cpp::string_view to determine boundaries safely.

Added find_last_not_of to cpp::string_view to support trailing slash
removal.

Implemented:
* libc/include/libgen.yaml, libgen.h.def: Public API definitions.
* libc/src/libgen/basename.cpp, dirname.cpp: Generic implementations.
* libc/test/src/libgen/: Unit and hermetic tests.

Registered the new entrypoints for all active Linux targets (x86_64,
aarch64, arm, riscv) and added docgen configuration.

Assisted-by: Automated tooling, human reviewed.
DeltaFile
+74-0libc/test/src/libgen/dirname_test.cpp
+62-0libc/test/src/libgen/basename_test.cpp
+48-0libc/src/libgen/dirname.cpp
+43-0libc/test/src/libgen/CMakeLists.txt
+42-0libc/src/libgen/basename.cpp
+30-0libc/src/libgen/dirname.h
+299-016 files not shown
+458-022 files

LLVM/project 0f2f6b2libc/src/stdlib qsort_util.h

Address comment that was missed
DeltaFile
+2-2libc/src/stdlib/qsort_util.h
+2-21 files

LLVM/project 22dce64llvm/lib/Target/AMDGPU SIInstrInfo.cpp SIInstrInfo.h

[AMDGPU] Remove some functions unused since #105645. NFC. (#204844)
DeltaFile
+0-159llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
+0-18llvm/lib/Target/AMDGPU/SIInstrInfo.h
+0-1772 files

LLVM/project afd47cfllvm/test/CodeGen/AMDGPU amdgcn.bitcast.1024bit.ll, llvm/test/CodeGen/RISCV clmul.ll

Merge remote-tracking branch 'origin/main' into users/c8ef/atomic_minmax
DeltaFile
+25,784-36,416llvm/test/CodeGen/RISCV/rvv/clmulh-sdnode.ll
+12,227-23,140llvm/test/CodeGen/RISCV/rvv/clmul-sdnode.ll
+4,004-11,142llvm/test/CodeGen/RISCV/clmul.ll
+6,940-6,782llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
+3,502-9,174llvm/test/CodeGen/X86/clmul-vector.ll
+3,985-7,989llvm/test/CodeGen/Thumb2/mve-clmul.ll
+56,442-94,6432,558 files not shown
+200,924-168,8992,564 files

LLVM/project 646a1b5libc/test/src/stdlib QsortReentrantTest.h

Address comments and add some code comments
DeltaFile
+17-11libc/test/src/stdlib/QsortReentrantTest.h
+17-111 files

LLVM/project 467a5feclang/lib/Analysis/FlowSensitive FormulaSerialization.cpp, clang/lib/CodeGen CGHLSLRuntime.cpp

[clang] Avoid premature Twine .str() materialization (#204830)

Several call sites pass `expr.str()` to parameters of type `const
llvm::Twine &`, forcing a throwaway heap std::string that is immediately
rewrapped into a Twine. Drop the `.str()` and let Twine accept the
StringRef/concatenation directly.

Co-authored-by: Claude Opus 4.8 (1M context) <noreply at anthropic.com>
DeltaFile
+4-4clang/lib/CodeGen/CGHLSLRuntime.cpp
+2-3clang/lib/Analysis/FlowSensitive/FormulaSerialization.cpp
+2-2clang/lib/Driver/Driver.cpp
+1-2clang/lib/Parse/ParseOpenMP.cpp
+1-1clang/lib/Format/Format.cpp
+1-1clang/lib/Driver/ToolChains/Clang.cpp
+11-133 files not shown
+14-169 files

LLVM/project 87a2cd9llvm/test/CodeGen/AMDGPU vector-reduce-umin.ll integer-mad-patterns.ll, llvm/test/CodeGen/AMDGPU/GlobalISel fdiv.f32.ll

AMDGPU/GlobalISel: Remove -new-reg-bank-select option

AMDGPU's -global-isel pipeline that uses AMDGPURegBankSelect and
AMDGPURegBankLegalize, previously -global-isel -new-reg-bank-select,
is now the default -global-isel pipeline.

Remove -new-reg-bank-select option from the compiler.
Remove -new-reg-bank-select from all llvm regression tests.
Edit a couple comments to reference RegBankLegalize instead of
-new-reg-bank-select.
DeltaFile
+12-12llvm/test/CodeGen/AMDGPU/vector-reduce-umin.ll
+12-12llvm/test/CodeGen/AMDGPU/integer-mad-patterns.ll
+12-12llvm/test/CodeGen/AMDGPU/vector-reduce-umax.ll
+12-12llvm/test/CodeGen/AMDGPU/GlobalISel/fdiv.f32.ll
+12-12llvm/test/CodeGen/AMDGPU/vector-reduce-smax.ll
+11-11llvm/test/CodeGen/AMDGPU/llvm.amdgcn.wave.shuffle.ll
+71-71891 files not shown
+2,531-2,539897 files

LLVM/project 5bb3690llvm/lib/Target/AMDGPU/AsmParser AMDGPUAsmParser.cpp, llvm/lib/Target/SPIRV SPIRVCommandLine.cpp

[llvm][Target] Avoid premature Twine .str() materialization (#204836)

Call sites in the AMDGPU and SPIRV parsers and the SystemZ AsmPrinter /
InstrInfo pass `expr.str()` (or `.str().c_str()`) to parameters of type
`const llvm::Twine &`, forcing a throwaway heap std::string that is
immediately rewrapped into a Twine. Drop the materialization and let
Twine accept the concatenation directly.

Co-authored-by: Claude Opus 4.8 (1M context) <noreply at anthropic.com>
DeltaFile
+7-8llvm/lib/Target/SystemZ/SystemZAsmPrinter.cpp
+2-4llvm/lib/Target/SystemZ/SystemZInstrInfo.cpp
+3-2llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
+2-2llvm/lib/Target/SPIRV/SPIRVCommandLine.cpp
+14-164 files