llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT--> @llvm/pr-subscribers-llvm-globalisel Author: Matt Arsenault (arsenm) <details> <summary>Changes</summary> --- Patch is 81.61 KiB, truncated to 20.00 KiB below, full version: https://github.com/llvm/llvm-project/pull/176384.diff 61 Files Affected: - (modified) llvm/lib/CodeGen/AtomicExpandPass.cpp (+36-8) - (modified) llvm/test/CodeGen/AMDGPU/idemponent-atomics.ll (+1-1) - (modified) llvm/test/CodeGen/AMDGPU/private-memory-atomics.ll (+1-1) - (modified) llvm/test/Transforms/AtomicExpand/AArch64/atomicrmw-fp.ll (+1-1) - (modified) llvm/test/Transforms/AtomicExpand/AArch64/expand-atomicrmw-xchg-fp.ll (+2-2) - (modified) llvm/test/Transforms/AtomicExpand/AArch64/pcsections.ll (+1-1) - (modified) llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-f32-agent.ll (+8-8) - (modified) llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-f32-system.ll (+8-8) - (modified) llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-f64-agent.ll (+8-8) - (modified) llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-f64-system.ll (+8-8) - (modified) llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-i16-system.ll (+1-1) - (modified) llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-i16.ll (+1-1) - (modified) llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-i32-agent.ll (+8-8) - (modified) llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-i32-system.ll (+8-8) - (modified) llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-i64-agent.ll (+8-8) - (modified) llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-i64-system.ll (+8-8) - (modified) llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-i8-system.ll (+1-1) - (modified) llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-i8.ll (+2-2) - (modified) llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-private-gas.ll (+2-2) - (modified) llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-rmw-fadd-flat-specialization-preserve-name.ll (+1-1) - (modified) llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-rmw-fadd-flat-specialization.ll (+4-4) - (modified) llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-rmw-fadd.ll (+6-6) - (modified) llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-rmw-fmax.ll (+2-2) - (modified) llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-rmw-fmin.ll (+2-2) - (modified) llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-rmw-fsub.ll (+2-2) - (modified) llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-rmw-nand.ll (+2-2) - (modified) llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-simplify-cfg-CAS-block.ll (+1-1) - (modified) llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-v2bf16-agent.ll (+8-8) - (modified) llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-v2bf16-system.ll (+8-8) - (modified) llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-v2f16-agent.ll (+8-8) - (modified) llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-v2f16-system.ll (+8-8) - (modified) llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomicrmw-flat-noalias-addrspace.ll (+7-7) - (modified) llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomicrmw-fp-vector.ll (+3-3) - (modified) llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomicrmw-integer-ops-0-to-add-0.ll (+7-7) - (modified) llvm/test/Transforms/AtomicExpand/AMDGPU/expand-cmpxchg-flat-maybe-private.ll (+1-1) - (modified) llvm/test/Transforms/AtomicExpand/AMDGPU/no-expand-atomic-load.ll (+1-1) - (modified) llvm/test/Transforms/AtomicExpand/AMDGPU/no-expand-atomic-store.ll (+1-1) - (modified) llvm/test/Transforms/AtomicExpand/AMDGPU/unaligned-atomic.ll (+1-1) - (modified) llvm/test/Transforms/AtomicExpand/ARM/atomic-expansion-v7.ll (+1-1) - (modified) llvm/test/Transforms/AtomicExpand/ARM/atomic-expansion-v8.ll (+1-1) - (modified) llvm/test/Transforms/AtomicExpand/ARM/atomicrmw-fp.ll (+1-1) - (modified) llvm/test/Transforms/AtomicExpand/ARM/cmpxchg-weak.ll (+1-1) - (modified) llvm/test/Transforms/AtomicExpand/Hexagon/atomicrmw-fp.ll (+1-1) - (modified) llvm/test/Transforms/AtomicExpand/LoongArch/atomicrmw-expand.ll (+1-1) - (modified) llvm/test/Transforms/AtomicExpand/LoongArch/atomicrmw-fp.ll (+1-1) - (modified) llvm/test/Transforms/AtomicExpand/LoongArch/load-store-atomic.ll (+2-2) - (modified) llvm/test/Transforms/AtomicExpand/Mips/atomicrmw-fp.ll (+1-1) - (modified) llvm/test/Transforms/AtomicExpand/PowerPC/atomicrmw-fp.ll (+1-1) - (modified) llvm/test/Transforms/AtomicExpand/PowerPC/cfence-double.ll (+2-2) - (modified) llvm/test/Transforms/AtomicExpand/PowerPC/cfence-float.ll (+2-2) - (modified) llvm/test/Transforms/AtomicExpand/PowerPC/cmpxchg.ll (+2-2) - (modified) llvm/test/Transforms/AtomicExpand/PowerPC/issue55983.ll (+2-2) - (modified) llvm/test/Transforms/AtomicExpand/RISCV/atomicrmw-fp.ll (+1-1) - (modified) llvm/test/Transforms/AtomicExpand/SPARC/libcalls.ll (+1-1) - (modified) llvm/test/Transforms/AtomicExpand/SPARC/partword.ll (+1-1) - (modified) llvm/test/Transforms/AtomicExpand/X86/expand-atomic-libcall.ll (+1-1) - (modified) llvm/test/Transforms/AtomicExpand/X86/expand-atomic-non-integer.ll (+1-1) - (modified) llvm/test/Transforms/AtomicExpand/X86/expand-atomic-rmw-fp.ll (+1-1) - (modified) llvm/test/Transforms/AtomicExpand/X86/expand-atomic-rmw-initial-load.ll (+1-1) - (modified) llvm/test/Transforms/AtomicExpand/X86/expand-atomic-xchg-fp.ll (+1-1) - (added) llvm/test/Transforms/AtomicExpand/X86/missing-analysis.ll (+7) ``````````diff diff --git a/llvm/lib/CodeGen/AtomicExpandPass.cpp b/llvm/lib/CodeGen/AtomicExpandPass.cpp index 6d05888709944..ac6603b76d141 100644 --- a/llvm/lib/CodeGen/AtomicExpandPass.cpp +++ b/llvm/lib/CodeGen/AtomicExpandPass.cpp @@ -63,6 +63,7 @@ namespace { class AtomicExpandImpl { const TargetLowering *TLI = nullptr; + const LibcallLoweringInfo *LibcallLowering = nullptr; const DataLayout *DL = nullptr; private: @@ -132,7 +133,9 @@ class AtomicExpandImpl { bool processAtomicInstr(Instruction *I); public: - bool run(Function &F, const TargetMachine *TM); + bool run(Function &F, + const LibcallLoweringModuleAnalysisResult &LibcallResult, + const TargetMachine *TM); }; class AtomicExpandLegacy : public FunctionPass { @@ -143,6 +146,11 @@ class AtomicExpandLegacy : public FunctionPass { initializeAtomicExpandLegacyPass(*PassRegistry::getPassRegistry()); } + void getAnalysisUsage(AnalysisUsage &AU) const override { + AU.addRequired<LibcallLoweringInfoWrapper>(); + FunctionPass::getAnalysisUsage(AU); + } + bool runOnFunction(Function &F) override; }; @@ -179,6 +187,7 @@ char &llvm::AtomicExpandID = AtomicExpandLegacy::ID; INITIALIZE_PASS_BEGIN(AtomicExpandLegacy, DEBUG_TYPE, "Expand Atomic instructions", false, false) +INITIALIZE_PASS_DEPENDENCY(LibcallLoweringInfoWrapper) INITIALIZE_PASS_DEPENDENCY(TargetPassConfig) INITIALIZE_PASS_END(AtomicExpandLegacy, DEBUG_TYPE, "Expand Atomic instructions", false, false) @@ -379,11 +388,14 @@ bool AtomicExpandImpl::processAtomicInstr(Instruction *I) { return MadeChange; } -bool AtomicExpandImpl::run(Function &F, const TargetMachine *TM) { +bool AtomicExpandImpl::run( + Function &F, const LibcallLoweringModuleAnalysisResult &LibcallResult, + const TargetMachine *TM) { const auto *Subtarget = TM->getSubtargetImpl(F); if (!Subtarget->enableAtomicExpand()) return false; TLI = Subtarget->getTargetLowering(); + LibcallLowering = &LibcallResult.getLibcallLowering(*Subtarget); DL = &F.getDataLayout(); bool MadeChange = false; @@ -416,8 +428,11 @@ bool AtomicExpandLegacy::runOnFunction(Function &F) { if (!TPC) return false; auto *TM = &TPC->getTM<TargetMachine>(); + + const LibcallLoweringModuleAnalysisResult &LibcallResult = + getAnalysis<LibcallLoweringInfoWrapper>().getResult(*F.getParent()); AtomicExpandImpl AE; - return AE.run(F, TM); + return AE.run(F, LibcallResult, TM); } FunctionPass *llvm::createAtomicExpandLegacyPass() { @@ -425,10 +440,21 @@ FunctionPass *llvm::createAtomicExpandLegacyPass() { } PreservedAnalyses AtomicExpandPass::run(Function &F, - FunctionAnalysisManager &AM) { + FunctionAnalysisManager &FAM) { + auto &MAMProxy = FAM.getResult<ModuleAnalysisManagerFunctionProxy>(F); + + const LibcallLoweringModuleAnalysisResult *LibcallResult = + MAMProxy.getCachedResult<LibcallLoweringModuleAnalysis>(*F.getParent()); + + if (!LibcallResult) { + F.getContext().emitError("'" + LibcallLoweringModuleAnalysis::name() + + "' analysis required"); + return PreservedAnalyses::all(); + } + AtomicExpandImpl AE; - bool Changed = AE.run(F, TM); + bool Changed = AE.run(F, *LibcallResult, TM); if (!Changed) return PreservedAnalyses::all(); @@ -1966,7 +1992,8 @@ bool AtomicExpandImpl::expandAtomicOpToLibcall( return false; } - if (!TLI->getLibcallName(RTLibType)) { + RTLIB::LibcallImpl LibcallImpl = LibcallLowering->getLibcallImpl(RTLibType); + if (LibcallImpl == RTLIB::Unsupported) { // This target does not implement the requested atomic libcall so give up. return false; } @@ -2073,8 +2100,9 @@ bool AtomicExpandImpl::expandAtomicOpToLibcall( for (Value *Arg : Args) ArgTys.push_back(Arg->getType()); FunctionType *FnType = FunctionType::get(ResultTy, ArgTys, false); - FunctionCallee LibcallFn = - M->getOrInsertFunction(TLI->getLibcallName(RTLibType), FnType, Attr); + FunctionCallee LibcallFn = M->getOrInsertFunction( + RTLIB::RuntimeLibcallsInfo::getLibcallImplName(LibcallImpl), FnType, + Attr); CallInst *Call = Builder.CreateCall(LibcallFn, Args); Call->setAttributes(Attr); Value *Result = Call; diff --git a/llvm/test/CodeGen/AMDGPU/idemponent-atomics.ll b/llvm/test/CodeGen/AMDGPU/idemponent-atomics.ll index 704b325210b50..d45cde4ca2376 100644 --- a/llvm/test/CodeGen/AMDGPU/idemponent-atomics.ll +++ b/llvm/test/CodeGen/AMDGPU/idemponent-atomics.ll @@ -1,6 +1,6 @@ ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py ; RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx942 < %s | FileCheck -check-prefixes=GFX942 %s -; RUN: opt -mtriple=amdgcn-amd-amdhsa -S -passes=atomic-expand < %s | FileCheck --check-prefix=OPT %s +; RUN: opt -mtriple=amdgcn-amd-amdhsa -S -passes='require<libcall-lowering-info>,atomic-expand' < %s | FileCheck --check-prefix=OPT %s define i32 @global_agent_monotonic_idempotent_or(ptr addrspace(1) %in) { ; GFX942-LABEL: global_agent_monotonic_idempotent_or: diff --git a/llvm/test/CodeGen/AMDGPU/private-memory-atomics.ll b/llvm/test/CodeGen/AMDGPU/private-memory-atomics.ll index b43454840ee16..4e70640609fef 100644 --- a/llvm/test/CodeGen/AMDGPU/private-memory-atomics.ll +++ b/llvm/test/CodeGen/AMDGPU/private-memory-atomics.ll @@ -1,5 +1,5 @@ ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py -; RUN: opt -S -mtriple=amdgcn-- -mcpu=tahiti -passes=atomic-expand < %s | FileCheck -check-prefix=IR %s +; RUN: opt -S -mtriple=amdgcn-- -mcpu=tahiti -passes='require<libcall-lowering-info>,atomic-expand' < %s | FileCheck -check-prefix=IR %s ; RUN: llc -mtriple=amdgcn-- -mcpu=tahiti < %s | FileCheck -check-prefix=GCN %s define i32 @load_atomic_private_seq_cst_i32(ptr addrspace(5) %ptr) { diff --git a/llvm/test/Transforms/AtomicExpand/AArch64/atomicrmw-fp.ll b/llvm/test/Transforms/AtomicExpand/AArch64/atomicrmw-fp.ll index 1b728f56ab2ea..3e7468a2c8f38 100644 --- a/llvm/test/Transforms/AtomicExpand/AArch64/atomicrmw-fp.ll +++ b/llvm/test/Transforms/AtomicExpand/AArch64/atomicrmw-fp.ll @@ -1,5 +1,5 @@ ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --check-globals -; RUN: opt -S -mtriple=aarch64-linux-gnu -passes=atomic-expand %s | FileCheck %s +; RUN: opt -S -mtriple=aarch64-linux-gnu -passes='require<libcall-lowering-info>,atomic-expand' %s | FileCheck %s define float @test_atomicrmw_fadd_f32(ptr %ptr, float %value) !prof !0 { ; CHECK-LABEL: @test_atomicrmw_fadd_f32( diff --git a/llvm/test/Transforms/AtomicExpand/AArch64/expand-atomicrmw-xchg-fp.ll b/llvm/test/Transforms/AtomicExpand/AArch64/expand-atomicrmw-xchg-fp.ll index b509b2469cfdc..5770d15579199 100644 --- a/llvm/test/Transforms/AtomicExpand/AArch64/expand-atomicrmw-xchg-fp.ll +++ b/llvm/test/Transforms/AtomicExpand/AArch64/expand-atomicrmw-xchg-fp.ll @@ -1,6 +1,6 @@ ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --check-globals -; RUN: opt -codegen-opt-level=1 -S -mtriple=aarch64-- -passes=atomic-expand %s | FileCheck %s -; RUN: opt -codegen-opt-level=1 -S -mtriple=aarch64-- -mattr=+outline-atomics -passes=atomic-expand %s | FileCheck %s --check-prefix=OUTLINE-ATOMICS +; RUN: opt -codegen-opt-level=1 -S -mtriple=aarch64-- -passes='require<libcall-lowering-info>,atomic-expand' %s | FileCheck %s +; RUN: opt -codegen-opt-level=1 -S -mtriple=aarch64-- -mattr=+outline-atomics -passes='require<libcall-lowering-info>,atomic-expand' %s | FileCheck %s --check-prefix=OUTLINE-ATOMICS define void @atomic_swap_f16(ptr %ptr, half %val) !prof !0 { ; CHECK-LABEL: @atomic_swap_f16( diff --git a/llvm/test/Transforms/AtomicExpand/AArch64/pcsections.ll b/llvm/test/Transforms/AtomicExpand/AArch64/pcsections.ll index c5c890559152d..017984e13e705 100644 --- a/llvm/test/Transforms/AtomicExpand/AArch64/pcsections.ll +++ b/llvm/test/Transforms/AtomicExpand/AArch64/pcsections.ll @@ -1,5 +1,5 @@ ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py -; RUN: opt -S -mtriple=aarch64-linux-gnu -passes=atomic-expand %s | FileCheck %s +; RUN: opt -S -mtriple=aarch64-linux-gnu -passes='require<libcall-lowering-info>,atomic-expand' %s | FileCheck %s define i8 @atomic8_load_unordered(ptr %a) nounwind uwtable { ; CHECK-LABEL: @atomic8_load_unordered( diff --git a/llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-f32-agent.ll b/llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-f32-agent.ll index bfc9be32ad5fa..cb80b89c7d807 100644 --- a/llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-f32-agent.ll +++ b/llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-f32-agent.ll @@ -1,12 +1,12 @@ ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 4 -; RUN: opt -S -mtriple=amdgcn-amd-amdhsa -mcpu=gfx803 -passes=atomic-expand %s | FileCheck -check-prefixes=COMMON,GFX803 %s -; RUN: opt -S -mtriple=amdgcn-amd-amdhsa -mcpu=gfx906 -passes=atomic-expand %s | FileCheck -check-prefixes=COMMON,GFX906 %s -; RUN: opt -S -mtriple=amdgcn-amd-amdhsa -mcpu=gfx908 -passes=atomic-expand %s | FileCheck -check-prefixes=COMMON,GFX908 %s -; RUN: opt -S -mtriple=amdgcn-amd-amdhsa -mcpu=gfx90a -passes=atomic-expand %s | FileCheck -check-prefixes=COMMON,GFX90A %s -; RUN: opt -S -mtriple=amdgcn-amd-amdhsa -mcpu=gfx942 -passes=atomic-expand %s | FileCheck -check-prefixes=COMMON,GFX942 %s -; RUN: opt -S -mtriple=amdgcn-amd-amdhsa -mcpu=gfx1030 -passes=atomic-expand %s | FileCheck -check-prefixes=COMMON,GFX10 %s -; RUN: opt -S -mtriple=amdgcn-amd-amdhsa -mcpu=gfx1100 -passes=atomic-expand %s | FileCheck -check-prefixes=COMMON,GFX11 %s -; RUN: opt -S -mtriple=amdgcn-amd-amdhsa -mcpu=gfx1200 -passes=atomic-expand %s | FileCheck -check-prefixes=COMMON,GFX12 %s +; RUN: opt -S -mtriple=amdgcn-amd-amdhsa -mcpu=gfx803 -passes='require<libcall-lowering-info>,atomic-expand' %s | FileCheck -check-prefixes=COMMON,GFX803 %s +; RUN: opt -S -mtriple=amdgcn-amd-amdhsa -mcpu=gfx906 -passes='require<libcall-lowering-info>,atomic-expand' %s | FileCheck -check-prefixes=COMMON,GFX906 %s +; RUN: opt -S -mtriple=amdgcn-amd-amdhsa -mcpu=gfx908 -passes='require<libcall-lowering-info>,atomic-expand' %s | FileCheck -check-prefixes=COMMON,GFX908 %s +; RUN: opt -S -mtriple=amdgcn-amd-amdhsa -mcpu=gfx90a -passes='require<libcall-lowering-info>,atomic-expand' %s | FileCheck -check-prefixes=COMMON,GFX90A %s +; RUN: opt -S -mtriple=amdgcn-amd-amdhsa -mcpu=gfx942 -passes='require<libcall-lowering-info>,atomic-expand' %s | FileCheck -check-prefixes=COMMON,GFX942 %s +; RUN: opt -S -mtriple=amdgcn-amd-amdhsa -mcpu=gfx1030 -passes='require<libcall-lowering-info>,atomic-expand' %s | FileCheck -check-prefixes=COMMON,GFX10 %s +; RUN: opt -S -mtriple=amdgcn-amd-amdhsa -mcpu=gfx1100 -passes='require<libcall-lowering-info>,atomic-expand' %s | FileCheck -check-prefixes=COMMON,GFX11 %s +; RUN: opt -S -mtriple=amdgcn-amd-amdhsa -mcpu=gfx1200 -passes='require<libcall-lowering-info>,atomic-expand' %s | FileCheck -check-prefixes=COMMON,GFX12 %s ;--------------------------------------------------------------------- ; atomicrmw xchg diff --git a/llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-f32-system.ll b/llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-f32-system.ll index dc751c255f263..a3f95e5c1aae1 100644 --- a/llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-f32-system.ll +++ b/llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-f32-system.ll @@ -1,12 +1,12 @@ ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 4 -; RUN: opt -S -mtriple=amdgcn-amd-amdhsa -mcpu=gfx803 -passes=atomic-expand %s | FileCheck -check-prefixes=COMMON,GFX803 %s -; RUN: opt -S -mtriple=amdgcn-amd-amdhsa -mcpu=gfx906 -passes=atomic-expand %s | FileCheck -check-prefixes=COMMON,GFX906 %s -; RUN: opt -S -mtriple=amdgcn-amd-amdhsa -mcpu=gfx908 -passes=atomic-expand %s | FileCheck -check-prefixes=COMMON,GFX908 %s -; RUN: opt -S -mtriple=amdgcn-amd-amdhsa -mcpu=gfx90a -passes=atomic-expand %s | FileCheck -check-prefixes=COMMON,GFX90A %s -; RUN: opt -S -mtriple=amdgcn-amd-amdhsa -mcpu=gfx942 -passes=atomic-expand %s | FileCheck -check-prefixes=COMMON,GFX942 %s -; RUN: opt -S -mtriple=amdgcn-amd-amdhsa -mcpu=gfx1030 -passes=atomic-expand %s | FileCheck -check-prefixes=COMMON,GFX10 %s -; RUN: opt -S -mtriple=amdgcn-amd-amdhsa -mcpu=gfx1100 -passes=atomic-expand %s | FileCheck -check-prefixes=COMMON,GFX11 %s -; RUN: opt -S -mtriple=amdgcn-amd-amdhsa -mcpu=gfx1200 -passes=atomic-expand %s | FileCheck -check-prefixes=COMMON,GFX12 %s +; RUN: opt -S -mtriple=amdgcn-amd-amdhsa -mcpu=gfx803 -passes='require<libcall-lowering-info>,atomic-expand' %s | FileCheck -check-prefixes=COMMON,GFX803 %s +; RUN: opt -S -mtriple=amdgcn-amd-amdhsa -mcpu=gfx906 -passes='require<libcall-lowering-info>,atomic-expand' %s | FileCheck -check-prefixes=COMMON,GFX906 %s +; RUN: opt -S -mtriple=amdgcn-amd-amdhsa -mcpu=gfx908 -passes='require<libcall-lowering-info>,atomic-expand' %s | FileCheck -check-prefixes=COMMON,GFX908 %s +; RUN: opt -S -mtriple=amdgcn-amd-amdhsa -mcpu=gfx90a -passes='require<libcall-lowering-info>,atomic-expand' %s | FileCheck -check-prefixes=COMMON,GFX90A %s +; RUN: opt -S -mtriple=amdgcn-amd-amdhsa -mcpu=gfx942 -passes='require<libcall-lowering-info>,atomic-expand' %s | FileCheck -check-prefixes=COMMON,GFX942 %s +; RUN: opt -S -mtriple=amdgcn-amd-amdhsa -mcpu=gfx1030 -passes='require<libcall-lowering-info>,atomic-expand' %s | FileCheck -check-prefixes=COMMON,GFX10 %s +; RUN: opt -S -mtriple=amdgcn-amd-amdhsa -mcpu=gfx1100 -passes='require<libcall-lowering-info>,atomic-expand' %s | FileCheck -check-prefixes=COMMON,GFX11 %s +; RUN: opt -S -mtriple=amdgcn-amd-amdhsa -mcpu=gfx1200 -passes='require<libcall-lowering-info>,atomic-expand' %s | FileCheck -check-prefixes=COMMON,GFX12 %s ;--------------------------------------------------------------------- ; atomicrmw xchg diff --git a/llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-f64-agent.ll b/llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-f64-agent.ll index 668e7ba9b1f0f..d6e9009ed25bd 100644 --- a/llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-f64-agent.ll +++ b/llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-f64-agent.ll @@ -1,12 +1,12 @@ ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 4 -; RUN: opt -S -mtriple=amdgcn-amd-amdhsa -mcpu=gfx803 -passes=atomic-expand %s | FileCheck -check-prefixes=COMMON,GFX803 %s -; RUN: opt -S -mtriple=amdgcn-amd-amdhsa -mcpu=gfx906 -passes=atomic-expand %s | FileCheck -check-prefixes=COMMON,GFX906 %s -; RUN: opt -S -mtriple=amdgcn-amd-amdhsa -mcpu=gfx908 -passes=atomic-expand %s | FileCheck -check-prefixes=COMMON,GFX908 %s -; RUN: opt -S -mtriple=amdgcn-amd-amdhsa -mcpu=gfx90a -passes=atomic-expand %s | FileCheck -check-prefixes=COMMON,GFX90A %s -; RUN: opt -S -mtriple=amdgcn-amd-amdhsa -mcpu=gfx942 -passes=atomic-expand %s | FileCheck -check-prefixes=COMMON,GFX942 %s -; RUN: opt -S -mtriple=amdgcn-amd-amdhsa -mcpu=gfx1030 -passes=atomic-expand %s | FileCheck -check-prefixes=COMMON,GFX10 %s -; RUN: opt -S -mtriple=amdgcn-amd-amdhsa -mcpu=gfx1100 -passes=atomic-expand %s | FileCheck -check-prefixes=COMMON,GFX11 %s -; RUN: opt -S -mtriple=amdgcn-amd-amdhsa -mcpu=gfx1200 -passes=atomic-expand %s | FileCheck -check-prefixes=COMMON,GFX12 %s +; RUN: opt -S -mtriple=amdgcn-amd-amdhsa -mcpu=gfx803 -passes='require<libcall-lowering-info>,atomic-expand' %s | FileCheck -check-prefixes=COMMON,GFX803 %s +; RUN: opt -S -mtriple=amdgcn-amd-amdhsa -mcpu=gfx906 -passes='require<libcall-lowering-info>,atomic-expand' %s | FileCheck -check-prefixes=COMMON,GFX906 %s +; RUN: opt -S -mtriple=amdgcn-amd-amdhsa -mcpu=gfx908 -passes='require<libcall-lowering-info>,atomic-expand' %s | FileCheck -check-prefixes=COMMON,GFX908 %s +; RUN: opt -S -mtriple=amdgcn-amd-amdhsa -mcpu=gfx90a -passes='require<libcall-lowering-info>,atomic-expand' %s | FileCheck -check-prefixes=COMMON,GFX90A %s +; RUN: opt -S -mtriple=amdgcn-amd-amdhsa -mcpu=gfx942 -passes='require<libcall-lowering-info>,atomic-expand' %s | FileCheck -check-prefixes=COMMON,GFX942 %s +; RUN: opt -S -mtriple=amdgcn-amd-amdhsa -mcpu=gfx1030 -passes='require<libcall-lowering-info>,atomic-expand' %s | FileCheck -check-prefixes=COMMON,GFX10 %s +; RUN: opt -S -mtriple=amdgcn-amd-amdhsa -mcpu=gfx1100 -passes='require<libcall-lowering-info>,atomic-expand' %s | FileCheck -check-prefixes=COMMON,GFX11 %s +; RUN: opt -S -mtriple=amdgcn-amd-amdhsa -mcpu=gfx1200 -passes='require<libcall-lowering-info>,atomic-expand' %s | FileCheck -check-prefixes=COMMON,GFX12 %s ;--------------------------------------------------------------------- ; atomicrmw xchg diff --git a/llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-f64-system.ll b/llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-f64-system.ll index f9c123f5b9427..c15bda4f9d051 100644 --- a/llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-f64-system.ll +++ b/llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-f64-system.ll @@ -1,12 +1,12 @@ ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 4 -; RUN: opt -S -mtriple=amdgcn-amd-amdhsa -mcpu=gfx803 -passes=atomic-expand %s | FileCheck -check-prefixes=COMMON,GFX803 %s -; RUN: opt -S -mtriple=amdgcn-amd-amdhsa -mcpu=gfx906 -passes=atomic-expand %s | FileCheck -check-prefixes=COMMON,GFX906 %s -; RUN: opt -S -mtriple=amdgcn-amd-amdhsa -mcpu=gfx908 -passes=atomic-expand %s | FileCheck -check-prefixes=COMMON,GFX908 %s -; RUN: opt -S -mtriple=amdgcn-amd-amdhsa -mcpu=gfx90a -passes=atomic-expand %s | FileCheck -check-prefixes=COMMON,GFX90A %s -; RUN: opt -S -mtriple=amdgcn-amd-amdhsa -mcpu=gfx942 -passes=atomic-expand %s | FileCheck -check-prefixes=COMMON,GFX942 %s -; RUN: opt -S -mtriple=amdgcn-amd-amdhsa -mcpu=gfx1030 -passes=atomic-expand %s | FileCheck -check-prefixes=COMMON,GFX10 %s -; RUN: opt -S -mtriple=amdgcn-amd-amdhsa -mcpu=gfx1100 -passes=atomic-expand %s | FileCheck -check-prefixes=COMMON,GFX11 %s -; RUN: opt -S -mtriple=amdgcn-amd-amdhsa -mcpu=gfx1200 -passes=atomic-expand %s | FileCheck -check-prefixes=COMMON,GFX12 %s +; RUN: opt -S -mtriple=amdgcn-amd-amdhsa -mcpu=gfx803 -passes='require<libcall-lowering-info>,atomic-expand' %s | FileCheck -check-prefixes=COMMON,GFX803 %s +; RUN: opt -S -mtriple=amdgcn-amd-amdhsa -mcpu=gfx906 -passes='require<libcall-lowering-info>,atomic-expand' %s | FileCheck -check-prefixes=COMMON,GFX906 %s +; RUN: opt -S -mtriple=amdgcn-amd-amdhsa -mcpu=gfx908 -passes='require<libcall-lowering-info>,atomic-expand' %s | FileCheck -check-prefixes=COMMON,GFX908 %s +; RUN: opt -S -mtriple=amdgcn-amd-amdhsa -mcpu=gfx90a -passes='require<libcall-lowering-info>,atomic-expand' %s | FileCheck -check-prefixes=COMMON,GFX90A %s +; RUN: opt -S -mtriple=amdgcn-amd-amdhsa -mcpu=gfx942 -passes='require<libcall-lowering-info>,atomic-expand' %s | FileCheck -check-prefixes=COMMON,GFX942 %s +; RUN: opt -S -mtriple=amdgcn-amd-amdhsa -mcpu=gfx1030 -passes='require<libcall-lowering-info>,atomic-expand' %s | FileCheck -check-prefixes=COMMON,GFX10 %s +; RUN: opt -S -mtriple=amdgcn-amd-amdhsa -mcpu=gfx1100 -passes='require<libcall-lowering-info>,atomic-expand' %s | FileCheck -check-prefixes=COMMON,GFX11 %s +; RUN: opt -S -mtriple=amdgcn-amd-amdhsa -mcpu=gfx1200 -passes='require<libcall-lowering-info>,atomic-expand' %s | FileCheck -check-prefixes=COMMON,GFX12 %s ;--------------------------------------------------------------------- ; atomicrmw xchg diff --git a/llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-i16-system.ll b/llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-i16-system.ll index 3f55f037aef29..95c22bfad7da9 100644 --- a/llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-i16-system.ll +++ b/llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-i16-system.ll @@ -1,5 +1,5 @@ ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py -; RUN: opt -mtriple=amdgcn-amd-amdhsa -S -passes=atomic-expand %s | FileCheck %s +; RUN: opt -mtriple=amdgcn-amd-amdhsa -S -passes='require<libcall-lowering-info>,atomic-expand' %s | FileCheck %s define i16 @test_atomicrmw_xchg_i16_global_system(ptr addrspace(1) %ptr, i16 %value) { ; CHECK-LABE... [truncated] `````````` </details> https://github.com/llvm/llvm-project/pull/176384 _______________________________________________ llvm-branch-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
