[PATCH] D78929: [AIX][XCOFF]emit extern linkage for the llvm intrinsic symbol

Digger via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon May 25 14:28:59 PDT 2020


DiggerLin marked 4 inline comments as done.
DiggerLin added inline comments.


================
Comment at: llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp:1733
+  case PPC::BL8_NOP:
+  case PPC::BL_NOP:
+    const MachineOperand &MO = MI->getOperand(0);
----------------
sfertile wrote:
> sfertile wrote:
> > What is the state of tail-calls on AIX? I know we can't tail call in many of the situations where we can on Linux, however if they aren't completely disabled we might need to add the tail-call opcodes here for similar transformation.
> You have added `PPC::TAILB` so I am assuming that means we do support tail-calls on AIX. Why do we not need to add any of the other tail call pseudos. At the very least i would expect we need `PPC::TAILB8` for 64-bit support if we expect TAILB for 32-bit. What about `TAILBA[8]` or `TAILBCTR[8]`?
as discussed with Sean offline, since wo do not support tail call for the extern symbol now . I added a report_fatal_error("Tail call for extern symbol not yet implemented.");


================
Comment at: llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp:153
+  /// Symbols lowered from ExternalSymbolSDNodes.
+  SmallPtrSet<MCSymbol *, 8> IntrinsicSymbols;
+
----------------
sfertile wrote:
> Not all intrinsics get handled this way, and not all of these symbols necessarily come from lowering an intrinsic: so we shouldn't be using 'Intrinsic' in the naming. I suggested 'ExternalSymbols' above but that sprobably  too generic.
thanks . change to "ExtSymSDNodeSymbols" as you discussed on the slack


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D78929/new/

https://reviews.llvm.org/D78929





More information about the llvm-commits mailing list