[clang] [clang-tools-extra] [llvm] Add out-of-line-atomics support to GlobalISel (PR #74588)
Matt Arsenault via llvm-commits
llvm-commits at lists.llvm.org
Mon Dec 18 00:09:23 PST 2023
================
@@ -765,6 +766,138 @@ llvm::createMemLibcall(MachineIRBuilder &MIRBuilder, MachineRegisterInfo &MRI,
return LegalizerHelper::Legalized;
}
+static RTLIB::Libcall getOutlineAtomicLibcall(MachineInstr &MI) {
+ unsigned Opc = MI.getOpcode();
+ auto &AtomicMI = cast<GMemOperation>(MI);
+ auto &MMO = AtomicMI.getMMO();
+ auto Ordering = MMO.getMergedOrdering();
+ LLT MemType = MMO.getMemoryType();
+ uint64_t MemSize = MemType.getSizeInBytes();
+ if (!MemType.isScalar())
----------------
arsenm wrote:
Probably should check isVector, this will incorrectly bail for pointers
https://github.com/llvm/llvm-project/pull/74588
More information about the llvm-commits
mailing list