LLVM/project 4d7b4fd.github/workflows test-suite.yml

[GitHub] Build llvm-size for test-suite.yml workflow (#207642)

This is also needed by llvm-test-suite
DeltaFile
+1-1.github/workflows/test-suite.yml
+1-11 files

LLVM/project d5288e7llvm/lib/Target/BPF BPFCodeGenPassBuilder.cpp BPFTargetMachine.cpp

[𝘀𝗽𝗿] initial version

Created using spr 1.3.7
DeltaFile
+123-0llvm/lib/Target/BPF/BPFCodeGenPassBuilder.cpp
+2-38llvm/lib/Target/BPF/BPFTargetMachine.cpp
+7-0llvm/lib/Target/BPF/BPF.h
+6-0llvm/lib/Target/BPF/BPFTargetMachine.h
+6-0llvm/lib/Target/BPF/BPFPassRegistry.def
+3-0llvm/lib/Target/BPF/BPFISelDAGToDAG.cpp
+147-381 files not shown
+150-387 files

LLVM/project 4536fa6llvm/lib/Target/BPF BPF.h BPFPassRegistry.def

[𝘀𝗽𝗿] changes to main this commit is based on

Created using spr 1.3.7

[skip ci]
DeltaFile
+7-0llvm/lib/Target/BPF/BPF.h
+6-0llvm/lib/Target/BPF/BPFPassRegistry.def
+3-0llvm/lib/Target/BPF/BPFISelDAGToDAG.cpp
+16-03 files

LLVM/project b2cb2ebllvm/lib/Target/BPF BPF.h BPFPassRegistry.def

[𝘀𝗽𝗿] initial version

Created using spr 1.3.7
DeltaFile
+7-0llvm/lib/Target/BPF/BPF.h
+6-0llvm/lib/Target/BPF/BPFPassRegistry.def
+3-0llvm/lib/Target/BPF/BPFISelDAGToDAG.cpp
+16-03 files

LLVM/project 774f8a0libc/src/complex/generic cabsf.cpp cabs.cpp, libc/test/src/complex CAbsTest.h cabsf_test.cpp

[libc][complex] Enable cabs and cabsf in libc (#206677)

This PR adds basic implementation for cabs and cabsf in LLVM libc and
also extend current MPC infrastructure to support cabs operation.

---------

Signed-off-by: jinge90 <ge.jin at intel.com>
DeltaFile
+119-0libc/test/src/complex/CAbsTest.h
+37-0libc/test/src/complex/cabsf_test.cpp
+36-0libc/test/src/complex/cabs_test.cpp
+28-0libc/src/complex/generic/cabsf.cpp
+28-0libc/src/complex/generic/cabs.cpp
+28-0libc/src/complex/generic/CMakeLists.txt
+276-015 files not shown
+399-121 files

LLVM/project f7d7502lldb/source/Plugins/ObjectFile/ELF ObjectFileELF.cpp, llvm/include/llvm/BinaryFormat DynamicTags.def

[SPARC] Make SPARC_REGISTER Sparc specific in llvm-readobj and LLDB (#206316)

The commit 4418a8e5 failed to limit SPARC_REGISTER to Sparc targets
only, which causes conflict when adding new dynamic tags for other
targets.
DeltaFile
+12-0lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp
+12-0llvm/lib/Object/ELF.cpp
+4-0llvm/include/llvm/BinaryFormat/DynamicTags.def
+28-03 files

LLVM/project 311c3cellvm/include/llvm InitializePasses.h, llvm/include/llvm/CodeGen StaticDataAnnotator.h Passes.h

[NewPM] Port StaticDataAnnotator

Standard NewPM pass porting. The PassBuilder wireup/test coverage will
come in the next PR.

Reviewers: arsenm, teresajohnson, mingmingl-llvm

Pull Request: https://github.com/llvm/llvm-project/pull/207629
DeltaFile
+29-16llvm/lib/CodeGen/StaticDataAnnotator.cpp
+25-0llvm/include/llvm/CodeGen/StaticDataAnnotator.h
+1-1llvm/include/llvm/CodeGen/Passes.h
+1-1llvm/lib/CodeGen/TargetPassConfig.cpp
+1-1llvm/include/llvm/InitializePasses.h
+1-1llvm/lib/CodeGen/CodeGen.cpp
+58-203 files not shown
+60-219 files

LLVM/project 17ccf17clang/test/CodeGen/RISCV rvp-intrinsics.c, cross-project-tests/intrinsic-header-tests riscv_packed_simd.c

[𝘀𝗽𝗿] changes introduced through rebase

Created using spr 1.3.7

[skip ci]
DeltaFile
+271-0llvm/test/CodeGen/RISCV/rvp-simd-64.ll
+159-90libcxx/include/set
+244-0clang/test/CodeGen/RISCV/rvp-intrinsics.c
+207-0cross-project-tests/intrinsic-header-tests/riscv_packed_simd.c
+146-0llvm/docs/AMDGPUDMAOperations.md
+109-0llvm/test/CodeGen/RISCV/rvp-simd-32.ll
+1,136-9074 files not shown
+2,145-48480 files

LLVM/project dc56f71llvm/include/llvm InitializePasses.h, llvm/include/llvm/CodeGen StaticDataSplitter.h Passes.h

[NewPM] Port StaticDataSplitter

Standard pass porting. Remove the MBPI member given it was unused.

Reviewers: arsenm, teresajohnson, mingmingl-llvm

Pull Request: https://github.com/llvm/llvm-project/pull/207627
DeltaFile
+68-27llvm/lib/CodeGen/StaticDataSplitter.cpp
+28-0llvm/include/llvm/CodeGen/StaticDataSplitter.h
+1-1llvm/lib/CodeGen/TargetPassConfig.cpp
+1-1llvm/include/llvm/CodeGen/Passes.h
+1-1llvm/include/llvm/InitializePasses.h
+1-1llvm/include/llvm/Passes/MachinePassRegistry.def
+100-312 files not shown
+102-328 files

LLVM/project 224b9d2libcxx/include set, libcxx/test/std/containers/associative/multiset iterator.pass.cpp merge.pass.cpp

[libc++] Make `<set>` `std::multiset` constexpr as part of P3372R3 (#206257)
DeltaFile
+159-90libcxx/include/set
+20-15libcxx/test/std/containers/associative/multiset/multiset.cons/copy_assign.pass.cpp
+21-13libcxx/test/std/containers/associative/multiset/iterator.pass.cpp
+22-11libcxx/test/std/containers/associative/multiset/merge.pass.cpp
+18-6libcxx/test/std/containers/associative/multiset/equal_range_transparent.pass.cpp
+17-5libcxx/test/std/containers/associative/multiset/count_transparent.pass.cpp
+257-14057 files not shown
+841-30163 files

LLVM/project 9b2d44allvm/include/llvm/ObjectYAML ContiguousBlobAccumulator.h, llvm/lib/ObjectYAML ELFEmitter.cpp ContiguousBlobAccumulator.cpp

[ObjectYAML][NFC] Hoist ContiguousBlobAccumulator into a shared header (#207306)

Move ContiguousBlobAccumulator out of ELFEmitter.cpp's anonymous
namespace so other yaml2obj emitters can reuse it.
DeltaFile
+2-103llvm/lib/ObjectYAML/ELFEmitter.cpp
+98-0llvm/include/llvm/ObjectYAML/ContiguousBlobAccumulator.h
+69-0llvm/lib/ObjectYAML/ContiguousBlobAccumulator.cpp
+1-0llvm/lib/ObjectYAML/CMakeLists.txt
+170-1034 files

LLVM/project 4a62c05lld/ELF AMDGPUObjectLinking.cpp, lld/test/ELF amdgpu-lds-link-time-ordering-multigroup.s amdgpu-lds-link-time-random-layout.s

[RFC][AMDGPU][lld] Add object linking support

Add AMDGPU ELF object-linking support in lld, including resource propagation,
LDS layout, indirect-call handling, named-barrier updates, target compatibility
checks, and kernel descriptor/metadata patching.

This is a large PR because the linker needs to understand and validate several
AMDGPU object-linking concepts end to end. I tried to keep the changes scoped to
the necessary linker support and related metadata plumbing, but I'm open to
suggestions on how to split or structure the review to make it easier.
DeltaFile
+1,726-0lld/ELF/AMDGPUObjectLinking.cpp
+505-0lld/test/ELF/amdgpu-lds-link-time-ordering-multigroup.s
+432-0lld/test/ELF/amdgpu-lds-link-time-random-layout.s
+425-0lld/test/ELF/amdgpu-lds-link-time-grouped.s
+402-0lld/test/ELF/amdgpu-lds-link-time-ordering-complex.s
+400-0lld/test/ELF/amdgpu-resource-usage.s
+3,890-045 files not shown
+10,087-451 files

LLVM/project 760f940llvm/docs AMDGPUUsage.rst, llvm/include/llvm/Support AMDGPUObjLinkingInfo.h

[AMDGPU] Add FUNC_WAVE32 for object linking info flag
DeltaFile
+17-17llvm/test/CodeGen/AMDGPU/lds-link-time-codegen.ll
+5-5llvm/test/MC/AMDGPU/amdgpu-info-roundtrip.s
+3-1llvm/include/llvm/Support/AMDGPUObjLinkingInfo.h
+4-0llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp
+1-0llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
+1-0llvm/docs/AMDGPUUsage.rst
+31-232 files not shown
+33-238 files

LLVM/project 5ed0716llvm/docs AMDGPUUsage.rst, llvm/include/llvm/Support AMDGPUObjLinkingInfo.h

[AMDGPU] Add FUNC_WGP_MODE for object linking info flag
DeltaFile
+18-0llvm/test/CodeGen/AMDGPU/lds-link-time-codegen.ll
+5-5llvm/test/MC/AMDGPU/amdgpu-info-roundtrip.s
+4-0llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp
+3-1llvm/include/llvm/Support/AMDGPUObjLinkingInfo.h
+1-0llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
+1-0llvm/docs/AMDGPUUsage.rst
+32-62 files not shown
+34-68 files

LLVM/project 4f844b9llvm/docs AMDGPUUsage.rst, llvm/lib/Target/AMDGPU AMDGPUAsmPrinter.cpp AMDGPUMCResourceInfo.cpp

[AMDGPU] Introduce ABI occupancy for object linking

This PR introduces ABI occupancy as the contract used to compile functions under
object linking. The default is derived from the occupancy needed for a 1024
workitem workgroup, can be overridden with `-amdgpu-abi-waves-per-eu`, and can
be overridden per function by `amdgpu-flat-work-group-size` or tightened by an
accepted `amdgpu-waves-per-eu` hint.

The backend emits the selected occupancy in `.amdgpu.info` and uses it to
enforce the object linking register budget.
DeltaFile
+67-35llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
+56-7llvm/docs/AMDGPUUsage.rst
+34-3llvm/lib/Target/AMDGPU/AMDGPUMCResourceInfo.cpp
+34-0llvm/test/CodeGen/AMDGPU/object-linking-abi-occupancy-preserves-attr.ll
+32-2llvm/lib/Target/AMDGPU/AMDGPUSubtarget.cpp
+31-0llvm/test/CodeGen/AMDGPU/object-linking-abi-occupancy-kernel-no-attr.ll
+254-4715 files not shown
+446-4821 files

LLVM/project deecf8dllvm/docs AMDGPUDMAOperations.md AMDGPUAsyncOperations.rst

[docs][AMDGPU] move DMA operations to a separate file (#206917)

This includes the various `.async` and `.tensor` operations. Various
scattered bits of information are now in one place. Also added the
missing documentation for tensor intrinsics.
DeltaFile
+146-0llvm/docs/AMDGPUDMAOperations.md
+10-46llvm/docs/AMDGPUAsyncOperations.rst
+26-28llvm/docs/AMDGPUUsage.rst
+7-1llvm/docs/UserGuides.md
+189-754 files

LLVM/project 29fa6a8clang/lib/CodeGen/TargetBuiltins RISCV.cpp, clang/test/CodeGen/RISCV rvp-intrinsics.c

[RISCV][P-ext] Support Packed Merge. (#207110)
DeltaFile
+271-0llvm/test/CodeGen/RISCV/rvp-simd-64.ll
+244-0clang/test/CodeGen/RISCV/rvp-intrinsics.c
+207-0cross-project-tests/intrinsic-header-tests/riscv_packed_simd.c
+109-0llvm/test/CodeGen/RISCV/rvp-simd-32.ll
+47-4llvm/lib/Target/RISCV/RISCVISelLowering.cpp
+24-1clang/lib/CodeGen/TargetBuiltins/RISCV.cpp
+902-53 files not shown
+945-59 files

LLVM/project 3aea741llvm/include/llvm/CodeGen StaticDataSplitter.h StaticDataAnnotator.h, llvm/lib/CodeGen StaticDataSplitter.cpp StaticDataAnnotator.cpp

[𝘀𝗽𝗿] initial version

Created using spr 1.3.7
DeltaFile
+68-27llvm/lib/CodeGen/StaticDataSplitter.cpp
+29-16llvm/lib/CodeGen/StaticDataAnnotator.cpp
+28-0llvm/include/llvm/CodeGen/StaticDataSplitter.h
+25-0llvm/include/llvm/CodeGen/StaticDataAnnotator.h
+2-2llvm/lib/CodeGen/TargetPassConfig.cpp
+2-2llvm/include/llvm/CodeGen/Passes.h
+154-475 files not shown
+162-5311 files

LLVM/project 32b0279llvm/include/llvm/CodeGen StaticDataSplitter.h Passes.h, llvm/include/llvm/Passes MachinePassRegistry.def

[𝘀𝗽𝗿] changes to main this commit is based on

Created using spr 1.3.7

[skip ci]
DeltaFile
+68-27llvm/lib/CodeGen/StaticDataSplitter.cpp
+28-0llvm/include/llvm/CodeGen/StaticDataSplitter.h
+1-1llvm/lib/CodeGen/CodeGen.cpp
+1-1llvm/lib/CodeGen/TargetPassConfig.cpp
+1-1llvm/include/llvm/Passes/MachinePassRegistry.def
+1-1llvm/include/llvm/CodeGen/Passes.h
+100-312 files not shown
+102-328 files

LLVM/project 3ad2a76llvm/include/llvm InitializePasses.h, llvm/include/llvm/CodeGen StaticDataSplitter.h

[𝘀𝗽𝗿] initial version

Created using spr 1.3.7
DeltaFile
+68-27llvm/lib/CodeGen/StaticDataSplitter.cpp
+28-0llvm/include/llvm/CodeGen/StaticDataSplitter.h
+1-1llvm/lib/CodeGen/TargetPassConfig.cpp
+1-1llvm/lib/CodeGen/CodeGen.cpp
+1-1llvm/include/llvm/Passes/MachinePassRegistry.def
+1-1llvm/include/llvm/InitializePasses.h
+100-312 files not shown
+102-328 files

LLVM/project 319c1f1llvm/include/llvm/Analysis StaticDataProfileInfo.h, llvm/lib/Analysis StaticDataProfileInfo.cpp

[NewPM] Port StaticDataProfileInfo and wire into x86 AsmPrinter

Ports the analysis to the NewPM and wires it into the NewPM x86
AsmPrinter where we are currently just returning nullptr.

Reviewers: mingmingl-llvm, teresajohnson, arsenm, RKSimon

Pull Request: https://github.com/llvm/llvm-project/pull/207550
DeltaFile
+28-0llvm/include/llvm/Analysis/StaticDataProfileInfo.h
+18-3llvm/lib/Target/X86/X86AsmPrinter.cpp
+15-2llvm/lib/Analysis/StaticDataProfileInfo.cpp
+1-1llvm/lib/Target/X86/X86AsmPrinter.h
+1-0llvm/lib/Passes/PassBuilder.cpp
+1-0llvm/lib/Passes/PassRegistry.def
+64-66 files

LLVM/project 9529b57llvm/include/llvm/CodeGen UnreachableBlockElim.h MachineBlockPlacement.h, llvm/lib/Target/AMDGPU AMDGPU.h GCNNSAReassign.h

[NPM] Make few more passes Required
DeltaFile
+4-4llvm/lib/Target/AMDGPU/AMDGPU.h
+2-2llvm/include/llvm/CodeGen/UnreachableBlockElim.h
+1-1llvm/lib/Target/AMDGPU/GCNNSAReassign.h
+1-1llvm/include/llvm/CodeGen/MachineBlockPlacement.h
+1-1llvm/include/llvm/CodeGen/RegisterCoalescerPass.h
+1-1llvm/include/llvm/CodeGen/RenameIndependentSubregs.h
+10-1014 files not shown
+24-2420 files

LLVM/project 0e86546llvm/include/llvm/Analysis ModuleSummaryAnalysis.h, llvm/lib/Analysis StackSafetyAnalysis.cpp ModuleSummaryAnalysis.cpp

[NPM] Port ImmutableModuleSummaryAnalysis to NPM
DeltaFile
+29-0llvm/include/llvm/Analysis/ModuleSummaryAnalysis.h
+5-2llvm/lib/Analysis/StackSafetyAnalysis.cpp
+2-0llvm/lib/Passes/PassRegistry.def
+1-0llvm/lib/Analysis/ModuleSummaryAnalysis.cpp
+37-24 files

LLVM/project 434e4e1llvm/lib/Target/RISCV RISCVMakeCompressible.cpp, llvm/test/CodeGen/RISCV make-compressible-zilsd.mir make-compressible-rv64.mir

[RISCV] Run MakeCompresible at Os as well (#207172)
DeltaFile
+14-14llvm/test/CodeGen/RISCV/make-compressible-zilsd.mir
+1-1llvm/lib/Target/RISCV/RISCVMakeCompressible.cpp
+1-1llvm/test/CodeGen/RISCV/make-compressible-rv64.mir
+1-1llvm/test/CodeGen/RISCV/make-compressible-xqci.mir
+1-1llvm/test/CodeGen/RISCV/make-compressible-zbc-zhinx.mir
+1-1llvm/test/CodeGen/RISCV/make-compressible-zbc.mir
+19-193 files not shown
+22-229 files

LLVM/project dfab07allvm/lib/Target/AMDGPU AMDGPUAsmPrinter.h AMDGPUTargetMachine.cpp

review comments
DeltaFile
+3-3llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.h
+3-1llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
+1-0llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
+7-43 files

LLVM/project bb639a1mlir/lib/Target/LLVMIR/Dialect/NVVM LLVMIRToNVVMTranslation.cpp, mlir/test/Target/LLVMIR/Import nvvmir.ll

[MLIR][NVVM]Import llvm intrinsics for nvvm.barrier (#202862)

This PR adds LLVM IR import support for the `bar.sync` intrinsic family,
lifting the four variants into `nvvm.barrier` with the appropriate
`aligned` attribute and optional thread-count operand.

`LLVM_IntrOpBase` and its auto-generated import is one to one, but four
`bar.sync` variants are many-to-one, where they all lift into
`nvvm.barrier`, differing only in `aligned` and the optional
`numberOfThreads` operand.

An alternative implementation would extend mlir-tblgen with many-to-one
intrinsic-to-op mapping support so the conversion could live in
`NVVMOps.td`. But the change is bigger than manually import `bar.sync`
intrinsic family.
DeltaFile
+59-7mlir/lib/Target/LLVMIR/Dialect/NVVM/LLVMIRToNVVMTranslation.cpp
+43-1mlir/test/Target/LLVMIR/Import/nvvmir.ll
+102-82 files

LLVM/project 321c7a2llvm/lib/Transforms/Vectorize SLPVectorizer.cpp, llvm/test/Transforms/SLPVectorizer/AArch64 externally-used-copyables.ll

[𝘀𝗽𝗿] initial version

Created using spr 1.3.7
DeltaFile
+93-95llvm/test/Transforms/SLPVectorizer/AArch64/externally-used-copyables.ll
+9-12llvm/test/Transforms/SLPVectorizer/X86/copyable-operands-reordering.ll
+3-12llvm/test/Transforms/SLPVectorizer/X86/vect_copyable_in_binops.ll
+5-8llvm/test/Transforms/SLPVectorizer/X86/gathered-node-with-in-order-parent.ll
+7-6llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+5-7llvm/test/Transforms/SLPVectorizer/X86/vec_list_bias_external_insert_shuffled.ll
+122-1405 files not shown
+143-16311 files

LLVM/project f1d1746llvm/lib/Target/M68k/GISel M68kLegalizerInfo.cpp

[M68K][GlobalISel] Remove dependency on legal ruleset (#207614)

This fills in always legal rules, to remove the dependency on the legacy
ruleset. This is not guaranteed to be all the rules, just the ones that
appear
in tests.

See #197308
DeltaFile
+2-0llvm/lib/Target/M68k/GISel/M68kLegalizerInfo.cpp
+2-01 files

LLVM/project a678529llvm/lib/Transforms/IPO OpenMPOpt.cpp, llvm/test/Transforms/OpenMP spmd_parallel_wrapper_removal.ll spmdization.ll

[OpenMPOpt] Null generic-mode wrappers for SPMDized kernels

If a kernel gets SPMDized, it doesn't need the wrapper function that is
passed to __kmpc_parallel_60. Keeping the dead wrapper function can lead
to lots of misleading "local memory global used by non-kernel function"
AMDGPU backend warnings.
Let OpenMPOpt null the wrapper argument such that DCE can then remove
the corresponding dead functions.

Claude assisted with this patch.
DeltaFile
+80-0llvm/test/Transforms/OpenMP/spmd_parallel_wrapper_removal.ll
+63-0llvm/lib/Transforms/IPO/OpenMPOpt.cpp
+8-8llvm/test/Transforms/OpenMP/spmdization.ll
+1-1llvm/test/Transforms/OpenMP/spmdization_assumes.ll
+1-1llvm/test/Transforms/OpenMP/get_hardware_num_threads_in_block_fold.ll
+1-1llvm/test/Transforms/OpenMP/is_spmd_exec_mode_fold.ll
+154-116 files

LLVM/project 6d6ef7cllvm/include/llvm/Analysis StaticDataProfileInfo.h, llvm/lib/Target/X86 X86AsmPrinter.cpp

fix

Created using spr 1.3.7
DeltaFile
+3-0llvm/lib/Target/X86/X86AsmPrinter.cpp
+1-1llvm/include/llvm/Analysis/StaticDataProfileInfo.h
+4-12 files