[llvm] [Xtensa] Lower GlobalAddress/BlockAddress/JumpTable (PR #95256)

Matt Arsenault via llvm-commits llvm-commits at lists.llvm.org
Wed Jun 12 08:25:26 PDT 2024


================
@@ -519,6 +537,87 @@ SDValue XtensaTargetLowering::LowerImmediate(SDValue Op,
   return Op;
 }
 
+SDValue XtensaTargetLowering::LowerGlobalAddress(SDValue Op,
+                                                 SelectionDAG &DAG) const {
+  const GlobalAddressSDNode *G = cast<GlobalAddressSDNode>(Op);
+  SDLoc DL(Op);
+  auto PtrVt = getPointerTy(DAG.getDataLayout());
+  const GlobalValue *GV = G->getGlobal();
+
+  // Check Op SDNode users
----------------
arsenm wrote:

This handling doesn't make sense to me and you shouldn't depend on the user context. If you want to fold the global address into an immediate call operand, you can do that in your call handling 

https://github.com/llvm/llvm-project/pull/95256


More information about the llvm-commits mailing list