LLVM/project 96480b2mlir/lib/Dialect/Bufferization/IR BufferizableOpInterface.cpp, mlir/test/Dialect/Bufferization/Transforms test-one-shot-module-bufferize.mlir one-shot-module-bufferize.mlir

[mlir][bufferization] Drop TensorLikeType::getBufferType() (#201350)

Replace TensorLikeType::getBufferType() with
options.unknownTypeConverterFn() hook. Make the hook work with
tensor-like and buffer-like types (instead of builtins) to maintain the
same behaviour at the API boundary level and still allow user types to
be properly supported.

Historically, an attempt to support user types within the one-shot
bufferization framework was made. As part of it,
TensorLikeType::getBufferType() was introduced to allow user-provided
types to customize bufferization. However, the whole affair proved to be
overly complex: there is an interface with customization points for
user-provided tensors, and options-based (not sufficient) implementation
for builtin tensors. On top of this, there was always a
function-specific hook to customize function-level behaviour further. As
a result of this, users would need to implement two different mechanisms
on their end: interface implementation + option hooks.


    [19 lines not shown]
DeltaFile
+298-0mlir/test/Dialect/Bufferization/Transforms/test-one-shot-module-bufferize.mlir
+0-232mlir/test/Dialect/Bufferization/Transforms/one-shot-module-bufferize.mlir
+16-48mlir/test/lib/Dialect/Test/TestOpDefs.cpp
+22-24mlir/lib/Dialect/Bufferization/IR/BufferizableOpInterface.cpp
+32-7mlir/test/lib/Dialect/Bufferization/TestOneShotModuleBufferize.cpp
+0-38mlir/test/Dialect/Bufferization/Transforms/one-shot-bufferize.mlir
+368-34913 files not shown
+407-45219 files

LLVM/project 9ac836bclang/lib/AST/ByteCode Interp.h, clang/test/AST/ByteCode intap.cpp

[clang][bytecode] Fix shifting by negative IntAP values (#202505)

The negation of a negative value didn't necessarily result in a positive
value. Fix that by giving it one more bit of precision.
DeltaFile
+8-2clang/test/AST/ByteCode/intap.cpp
+1-1clang/lib/AST/ByteCode/Interp.h
+9-32 files

LLVM/project 0e9ff98offload/plugins-nextgen/level_zero/src L0Queue.cpp

[OFFLOAD][L0] Add wait events for AsyncQueue memFill (#202287)

Fix an issue where memFill operations were not chained properly with respect prior operations.
DeltaFile
+3-1offload/plugins-nextgen/level_zero/src/L0Queue.cpp
+3-11 files

LLVM/project d7d9601llvm/include/llvm/Analysis Loads.h, llvm/lib/Analysis Loads.cpp ValueTracking.cpp

[Loads] Migrate isDereferenceable APIs to SimplifyQuery (#202553)

These take the usual set of analysis parameters, so we can encapsulate
them using SimplifyQuery.
DeltaFile
+55-77llvm/lib/Analysis/Loads.cpp
+9-13llvm/include/llvm/Analysis/Loads.h
+5-3llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
+3-3llvm/lib/CodeGen/TargetLoweringBase.cpp
+3-3llvm/lib/Analysis/ValueTracking.cpp
+2-2llvm/lib/CodeGen/MachineOperand.cpp
+77-1015 files not shown
+86-10811 files

LLVM/project 3519974llvm/tools/llvm-exegesis/lib Assembler.h

Revert "[NFC][llvm-exegesis] Disable CFI-icall for JIT-executed function (#20…"

This reverts commit 1ada747bd3be297fcd2ac309f679f0a4024c1b1f.
DeltaFile
+1-2llvm/tools/llvm-exegesis/lib/Assembler.h
+1-21 files

LLVM/project 01d3932clang/lib/Headers __clang_hip_runtime_wrapper.h, clang/test/Headers hip-constexpr-cmath.hip

[Clang][HIP] Include `__clang_cuda_math_forward_declares.h` before `<cmath>` (#201563)

In HIP, `constexpr` functions are treated as both `__host__` and
`__device__`.

A new version of the MS STL shipped with the build tools version
14.51.36231 has `constexpr` definitions for some `cmath` functions when
the
compiler in use is Clang (this gets worse when C++23 is in use).

These definitions conflict with the `__device__` declarations we provide
in the header wrappers.

There is a workaround for this: We do not mark `constexpr`
functions [_that are defined in a system
header_](https://github.com/llvm/llvm-project/blob/03127a03860b9d8cb440fe8f51c00647f45eb8be/clang/lib/Sema/SemaCUDA.cpp#L877)
as
`__host__` and `__device__` if there is a previous `__device__`
 declaration.

    [14 lines not shown]
DeltaFile
+70-0clang/test/Headers/hip-constexpr-cmath.hip
+6-1clang/lib/Headers/__clang_hip_runtime_wrapper.h
+76-12 files

LLVM/project c4f4206libcxx/test/libcxx/containers/sequences/vector nodiscard.iterator.verify.cpp

[libc++][vector] Test `[[nodiscard]]` applied to `vector::iterator` (#202262)

Adds test coverage.

`[[nodicard]]` applied in:

- #198489
- #198492

Towards #172124

Co-authored-by: Hristo Hristov <zingam at outlook.com>
DeltaFile
+52-0libcxx/test/libcxx/containers/sequences/vector/nodiscard.iterator.verify.cpp
+52-01 files

LLVM/project 09b451flibcxx/include __bit_reference, libcxx/test/libcxx/containers/sequences/vector.bool nodiscard.iterator.verify.cpp

[libc++][vector] Apply `[[nodiscard]]` to `vector<bool>::iterator` (#202265)

Towards #172124

Co-authored-by: Hristo Hristov <zingam at outlook.com>
DeltaFile
+52-0libcxx/test/libcxx/containers/sequences/vector.bool/nodiscard.iterator.verify.cpp
+9-6libcxx/include/__bit_reference
+61-62 files

LLVM/project 96a2636clang/lib/AST/ByteCode InterpFrame.h InterpFrame.cpp

[clang][bytecode] Remove `InterpFrame::ThisPointerOffset` (#202322)

Replace it with a `uint8_t` representing some bool flags about the
function. This reduces the size of a frame from 88 to 80 bytes.
DeltaFile
+9-4clang/lib/AST/ByteCode/InterpFrame.h
+4-6clang/lib/AST/ByteCode/InterpFrame.cpp
+13-102 files

LLVM/project 0f6f15allvm/include/llvm/Analysis ScalarEvolution.h, llvm/lib/Transforms/Utils ScalarEvolutionExpander.cpp

[SCEVExpander] Don't expand a UDiv with a possibly-poison divisor (#202378)

SCEVExpander::isSafeToExpand only check divisor isKnownNonZero, which
ignore the possibility of poison. For the following divisor:
```
%ct = call i32 @llvm.cttz.i32(i32 %x, i1 true)
%divisor = add i32 %ct, 1
...
%rem = urem i32 1, %divisor
```
The urem may be hoisted unsafely.

Fix by also check divisor isGuaranteedNotToBePoison.

Fixes https://github.com/llvm/llvm-project/issues/202028
DeltaFile
+42-0llvm/test/Transforms/IndVarSimplify/exit-value-safe-udiv.ll
+3-3llvm/include/llvm/Analysis/ScalarEvolution.h
+2-1llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
+47-43 files

LLVM/project bfb1cd6llvm/test/CodeGen/SPIRV preserve-interface.ll, mlir/include/mlir/Dialect/LLVMIR NVVMOps.td

Merge branch 'main' into revert-200312-emit-cbuffer-globals-as-internal
DeltaFile
+137-41mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
+112-26mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
+101-0mlir/test/Conversion/SPIRVToLLVM/cl-ops-to-llvm.mlir
+69-5mlir/test/Target/LLVMIR/nvvmir-invalid.mlir
+0-69llvm/test/CodeGen/SPIRV/preserve-interface.ll
+55-0mlir/test/Conversion/SPIRVToLLVM/cast-ops-to-llvm.mlir
+474-14139 files not shown
+917-40745 files

LLVM/project 944284fmlir/include/mlir/Interfaces ControlFlowInterfaces.td

[mlir][Interfaces] Document completeness requirement of `RegionBranchOpInterface` (#202018)

Document that interface implementations must report all possible control
flow edges. Failure to report a possible edge may break
analyses/transformations/APIs such as
`RegionBranchOpInterface::isRepetitiveRegion`.
DeltaFile
+19-20mlir/include/mlir/Interfaces/ControlFlowInterfaces.td
+19-201 files

LLVM/project a172eb9llvm/lib/CodeGen/GlobalISel InlineAsmLowering.cpp, llvm/test/CodeGen/AMDGPU/GlobalISel inline-asm-mismatched-size.ll

[GlobalISel][AMDGPU] Emit proper diagnostic when inline asm register allocation fails (#201380)

Replace the silent fallback return with a DiagnosticInfoInlineAsm error
and undef result values, so the failure is reported to the user instead
of relying on -global-isel-abort

discussed in https://github.com/llvm/llvm-project/pull/200771
DeltaFile
+22-7llvm/lib/CodeGen/GlobalISel/InlineAsmLowering.cpp
+1-1llvm/test/CodeGen/AMDGPU/GlobalISel/inline-asm-mismatched-size.ll
+23-82 files

LLVM/project 6746898clang/lib/CodeGen CGHLSLRuntime.cpp, clang/test/CodeGenHLSL preserve-interface-dce.hlsl preserve-interface.hlsl

Revert "[clang][SPIR-V] Implement -fspv-preserve-interface (#196404)" (#202558)

This reverts commit 95c24830265cba8c4844dda3384025bac0bf96b4.

Fail log:
https://lab.llvm.org/buildbot/#/builders/226/builds/9015/steps/7/logs/stdio

```
FAILED: lib/libLLVMFrontendHLSL.so.23.0git 
: && /opt/rh/gcc-toolset-13/root/usr/bin/c++ -fPIC -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wno-uninitialized -Wno-nonnull -Wno-class-memaccess -Wno-dangling-reference -Wno-redundant-move -Wno-pessimizing-move -Wno-array-bounds -Wno-stringop-overread -Wno-dangling-pointer -Wno-noexcept-type -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wno-misleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -O3 -DNDEBUG  -Wl,-z,defs -Wl,-z,nodelete   -Wl,-rpath-link,/home/botworker/bbot/amdgpu-offload-build-only/build/./lib  -Wl,--gc-sections -shared -Wl,-soname,libLLVMFrontendHLSL.so.23.0git -o lib/libLLVMFrontendHLSL.so.23.0git lib/Frontend/HLSL/CMakeFiles/LLVMFrontendHLSL.dir/CBuffer.cpp.o lib/Frontend/HLSL/CMakeFiles/LLVMFrontendHLSL.dir/HLSLBinding.cpp.o lib/Frontend/HLSL/CMakeFiles/LLVMFrontendHLSL.dir/HLSLResource.cpp.o lib/Frontend/HLSL/CMakeFiles/LLVMFrontendHLSL.dir/HLSLRootSignature.cpp.o lib/Frontend/HLSL/CMakeFiles/LLVMFrontendHLSL.dir/RootSignatureMetadata.cpp.o lib/Frontend/HLSL/CMakeFiles/LLVMFrontendHLSL.dir/RootSignatureValidations.cpp.o  -Wl,-rpath,"\$ORIGIN/../lib:\$ORIGIN/../lib/x86_64-unknown-linux-gnu:/home/botworker/bbot/amdgpu-offload-build-only/build/lib:"  lib/libLLVMCore.so.23.0git  lib/libLLVMBinaryFormat.so.23.0git  lib/libLLVMSupport.so.23.0git  -Wl,-rpath-link,/home/botworker/bbot/amdgpu-offload-build-only/build/lib && :
/opt/rh/gcc-toolset-13/root/usr/libexec/gcc/x86_64-redhat-linux/13/ld: lib/Frontend/HLSL/CMakeFiles/LLVMFrontendHLSL.dir/CBuffer.cpp.o: in function `llvm::hlsl::CBufferMetadata::removeCBufferGlobalsFromUseList(llvm::Module&)':
CBuffer.cpp:(.text._ZN4llvm4hlsl15CBufferMetadata31removeCBufferGlobalsFromUseListERNS_6ModuleE+0xce): undefined reference to `llvm::removeFromUsedLists(llvm::Module&, llvm::function_ref<bool (llvm::Constant*)>)'
collect2: error: ld returned 1 exit status
```
DeltaFile
+0-69llvm/test/CodeGen/SPIRV/preserve-interface.ll
+0-51llvm/test/CodeGen/SPIRV/preserve-interface-dce.ll
+5-39llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
+0-25clang/test/CodeGenHLSL/preserve-interface-dce.hlsl
+0-24clang/test/CodeGenHLSL/preserve-interface.hlsl
+0-15clang/lib/CodeGen/CGHLSLRuntime.cpp
+5-2234 files not shown
+6-24510 files

LLVM/project 514f5b7llvm/lib/Analysis ConstantFolding.cpp, llvm/test/Transforms/InstSimplify bitcast-vector-fold.ll

[ConstantFolding] Fix dropped bits in non-integer-ratio bitcast with undef lane (#202282)

When constant-folding a vector bitcast(e.g. <4 x i24> -> <3 x i32>), an
undef source element inserted a DstBitSize-wide zero placeholder into
the bit buffer. This could clobber defined source element, producing a
wrong result on big-endian targets.

Fix by inserting SrcBitSize-wide zero instead.

Alive2 proof:
  before (unsound): https://alive2.llvm.org/ce/z/R_ZQ75
  after  (verified): https://alive2.llvm.org/ce/z/VuV3mz
DeltaFile
+1-1llvm/lib/Analysis/ConstantFolding.cpp
+1-1llvm/test/Transforms/InstSimplify/bitcast-vector-fold.ll
+2-22 files

LLVM/project d8f9b04llvm/lib/Transforms/Scalar StructurizeCFG.cpp, llvm/test/Transforms/StructurizeCFG callbr.ll

misc review feedback
DeltaFile
+15-16llvm/lib/Transforms/Scalar/StructurizeCFG.cpp
+1-1llvm/test/Transforms/StructurizeCFG/callbr.ll
+16-172 files

LLVM/project 7ffada7mlir/include/mlir/Interfaces ControlFlowInterfaces.td

[mlir][Interfaces] Document completeness requirement of `RegionBranchOpInterface`
DeltaFile
+19-20mlir/include/mlir/Interfaces/ControlFlowInterfaces.td
+19-201 files

LLVM/project 08636d4mlir/include/mlir/Dialect/SPIRV/IR SPIRVExperimentalMLOps.td SPIRVOps.td, mlir/test/Dialect/SPIRV/IR experimental-ml-ops.mlir

[mlir][spirv] Add Arm.ExperimentalMLOperations.1 extended inst set (#202283)

This instruction set provides a mechanism to encode experimental ML
operations in SPIR-V modules. Such instructions are encoded via the
single CALL operator in the instruction set by specifying an op_code and
customized inputs values.

Reference:
https://github.com/KhronosGroup/SPIRV-Registry/blob/main/extended/Arm.ExperimentalMLOperations.asciidoc

Signed-off-by: Niklas Lithammer <niklas.lithammer at arm.com>
Signed-off-by: Davide Grohmann <davide.grohmann at arm.com>
DeltaFile
+52-0mlir/include/mlir/Dialect/SPIRV/IR/SPIRVExperimentalMLOps.td
+25-0mlir/test/Target/SPIRV/experimental-ml-ops.mlir
+14-0mlir/test/Dialect/SPIRV/IR/experimental-ml-ops.mlir
+1-0mlir/include/mlir/Dialect/SPIRV/IR/SPIRVOps.td
+92-04 files

LLVM/project 383db8a.ci compute_projects.py

[CI][Offload] Fix offload depends on openmp (#202541)

It appears that Offload depends on OpenMP. Thus, enable OpenMP as a
runtime to test when offload has changes.
DeltaFile
+1-1.ci/compute_projects.py
+1-11 files

LLVM/project bf86088llvm/unittests/Support/DynamicLibrary DynamicLibraryTest.cpp

Revert "[test][Support] Disable CFI-icall for DynamicLibrary Overload test" (#202550)

Reverts llvm/llvm-project#202446
DeltaFile
+1-1llvm/unittests/Support/DynamicLibrary/DynamicLibraryTest.cpp
+1-11 files

LLVM/project edaf762llvm/lib/Transforms/Scalar StructurizeCFG.cpp, llvm/test/Transforms/StructurizeCFG callbr.ll

move to getUniquePredecessor for intermediate targets and collapse identical callbr->target edges
DeltaFile
+185-10llvm/test/Transforms/StructurizeCFG/callbr.ll
+36-9llvm/lib/Transforms/Scalar/StructurizeCFG.cpp
+221-192 files

LLVM/project 6bf8d4bllvm/lib/Transforms/Vectorize VPlanTransforms.cpp, llvm/test/Transforms/LoopVectorize iv-select-cmp-decreasing.ll first-order-recurrence.ll

[VPlan] Look through BCast when folding live-ins (#202527)

This gives us some minor improvements.
DeltaFile
+20-20llvm/test/Transforms/LoopVectorize/iv-select-cmp-decreasing.ll
+12-12llvm/test/Transforms/LoopVectorize/first-order-recurrence.ll
+6-10llvm/test/Transforms/LoopVectorize/iv-select-cmp-trunc.ll
+4-2llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
+3-3llvm/test/Transforms/LoopVectorize/interleave-with-i65-induction.ll
+2-2llvm/test/Transforms/LoopVectorize/X86/induction-step.ll
+47-494 files not shown
+51-5310 files

LLVM/project bfda9f2clang/lib/CodeGen CGHLSLRuntime.cpp, clang/test/CodeGenHLSL preserve-interface-dce.hlsl preserve-interface.hlsl

Revert "[clang][SPIR-V] Implement -fspv-preserve-interface (#196404)"

This reverts commit 95c24830265cba8c4844dda3384025bac0bf96b4.
DeltaFile
+0-69llvm/test/CodeGen/SPIRV/preserve-interface.ll
+0-51llvm/test/CodeGen/SPIRV/preserve-interface-dce.ll
+5-39llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
+0-25clang/test/CodeGenHLSL/preserve-interface-dce.hlsl
+0-24clang/test/CodeGenHLSL/preserve-interface.hlsl
+0-15clang/lib/CodeGen/CGHLSLRuntime.cpp
+5-2234 files not shown
+6-24510 files

LLVM/project 1d484e8clang/lib/CodeGen CGHLSLRuntime.cpp, clang/test/CodeGenHLSL preserve-interface-dce.hlsl preserve-interface.hlsl

Revert "[clang][SPIR-V] Implement -fspv-preserve-interface (#196404)"

This reverts commit 95c24830265cba8c4844dda3384025bac0bf96b4.
DeltaFile
+0-69llvm/test/CodeGen/SPIRV/preserve-interface.ll
+0-51llvm/test/CodeGen/SPIRV/preserve-interface-dce.ll
+5-39llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
+0-25clang/test/CodeGenHLSL/preserve-interface-dce.hlsl
+0-24clang/test/CodeGenHLSL/preserve-interface.hlsl
+0-15clang/lib/CodeGen/CGHLSLRuntime.cpp
+5-2234 files not shown
+6-24510 files

LLVM/project 3fec9c7mlir/lib/Conversion/SPIRVToLLVM SPIRVToLLVM.cpp, mlir/test/Conversion/SPIRVToLLVM cl-ops-to-llvm.mlir cast-ops-to-llvm.mlir

[mlir][SPIR-V] Add SPIRVToLLVM direct conversions for cast, CL, GL and logical ops (#202506)

Lower the OpenCL extended instruction set math ops, GL math ops (Trunc,
Asin, Acos, Atan), logical Ordered/Unordered, and the pointer cast ops
to their LLVM dialect equivalents
DeltaFile
+101-0mlir/test/Conversion/SPIRVToLLVM/cl-ops-to-llvm.mlir
+55-0mlir/test/Conversion/SPIRVToLLVM/cast-ops-to-llvm.mlir
+45-0mlir/lib/Conversion/SPIRVToLLVM/SPIRVToLLVM.cpp
+36-0mlir/test/Conversion/SPIRVToLLVM/logical-ops-to-llvm.mlir
+28-0mlir/test/Conversion/SPIRVToLLVM/gl-ops-to-llvm.mlir
+265-05 files

LLVM/project c3d13cellvm/lib/Target/AMDGPU AMDGPULowerBufferFatPointers.cpp, llvm/test/CodeGen/AMDGPU lower-buffer-fat-pointers-contents-legalization.ll

[AMDGPU] Use alloc size for array stride in LowerBufferFatPointers (#202530)

Array elements are laid out at multiples of getTypeAllocSize, not
getTypeStoreSize

LLVM memory model lays out array element `i` at `i * allocSize`
(reflected in `DataLayout::getTypeAllocSize`), apply it for fat pointers
to prevent miscompile
DeltaFile
+28-0llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-contents-legalization.ll
+4-4llvm/lib/Target/AMDGPU/AMDGPULowerBufferFatPointers.cpp
+32-42 files

LLVM/project 38da686llvm/unittests/Support/DynamicLibrary DynamicLibraryTest.cpp

Revert "[test][Support] Disable CFI-icall for DynamicLibrary Overload test (#…"

This reverts commit e34dc2960ce94be069ac2a973c943b61ef9b3b23.
DeltaFile
+1-1llvm/unittests/Support/DynamicLibrary/DynamicLibraryTest.cpp
+1-11 files

LLVM/project 544af82mlir/include/mlir/Interfaces ControlFlowInterfaces.td

address comments
DeltaFile
+37-7mlir/include/mlir/Interfaces/ControlFlowInterfaces.td
+37-71 files

LLVM/project ab31c28mlir/include/mlir/Dialect/LLVMIR NVVMOps.td, mlir/lib/Dialect/LLVMIR/IR NVVMDialect.cpp

[MLIR][NVVM] Add support for narrow-fp to bf16x2 conversions (#200157)

This change adds the following NVVM Ops to support narrow-fp to bf16x2
conversions:

- `nvvm.convert.f6x2.to.bf16x2`
- `nvvm.convert.f4x2.to.bf16x2`
- `nvvm.convert.f8x2.to.bf16x2` (updated to allow `E4M3FN` and `E5M2`
types)

Also removes unnecessary verifiers for narrow-fp to `f16x2` conversions
to instead use `TypeAttrOf` to validate the source type in the ODS
definition.
DeltaFile
+137-41mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
+112-26mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
+69-5mlir/test/Target/LLVMIR/nvvmir-invalid.mlir
+42-0mlir/test/Target/LLVMIR/nvvm/convert_fp6x2.mlir
+40-0mlir/test/Target/LLVMIR/nvvm/convert_fp8x2.mlir
+22-0mlir/test/Target/LLVMIR/nvvm/convert_fp4x2.mlir
+422-726 files

LLVM/project 8b49023compiler-rt/test/builtins/Unit lit.cfg.py

[Compiler-rt][test] Fix circular link dependency between builtins and libc (#199482)

Currently, the link order is `libclang_rt.builtins.a -lc -lm`. Builtins
are scanned first after which symbols like `abort` are unresolved
references that are resolved through libc.a. However, resolving the
references to these symbols further lead to undefined references to
`_aeabi_uldivmod` etc. that can only resolved through builtins.
Reversing the order also wont fix the issue because `libc.a` introduces
`__aeabi_uldivmod` which is resolved by builtins but it introduces
`abort` which can only be resolved libc.a.

This patch fixes this by wrapping the archives in a linker group
(--start-group/--end-group), which instructs the linker to rescan all
archives in the group until no new symbols can be resolved.

This error is exposed only when bfd like linkers are used.
DeltaFile
+3-1compiler-rt/test/builtins/Unit/lit.cfg.py
+3-11 files