[llvm] [PowerPC] 32-bit large code-model support for toc-data (PR #85129)
Amy Kwan via llvm-commits
llvm-commits at lists.llvm.org
Mon Mar 18 11:58:06 PDT 2024
================
@@ -1236,6 +1249,30 @@ void PPCAsmPrinter::emitInstruction(const MachineInstr *MI) {
EmitToStreamer(*OutStreamer, TmpInst);
return;
}
+ case PPC::ADDItocL: {
+ // Transform %xd = ADDItocL %xs, @sym
+ LowerPPCMachineInstrToMCInst(MI, TmpInst, *this);
+
+ // Change the opcode to load address.
+ TmpInst.setOpcode(PPC::LA);
+
+ const MachineOperand &MO = MI->getOperand(2);
+ assert(MO.isGlobal() && "Invalid operand for ADDItocL.");
+
+ LLVM_DEBUG(assert(
+ !(MO.isGlobal() && Subtarget->isGVIndirectSymbol(MO.getGlobal())) &&
+ "Interposable definitions must use indirect access."));
----------------
amy-kwan wrote:
nit:
```suggestion
"Interposable definitions must use indirect accesses."));
```
https://github.com/llvm/llvm-project/pull/85129
More information about the llvm-commits
mailing list