[llvm] 24be429 - SystemZ: Use correctly offset MachinePointerInfo in CC lowering (#177793)

via llvm-commits llvm-commits at lists.llvm.org
Sat Jan 24 15:02:44 PST 2026


Author: Matt Arsenault
Date: 2026-01-25T00:02:39+01:00
New Revision: 24be429c8e5c4fb8bef03ab8bffcd833d103acc5

URL: https://github.com/llvm/llvm-project/commit/24be429c8e5c4fb8bef03ab8bffcd833d103acc5
DIFF: https://github.com/llvm/llvm-project/commit/24be429c8e5c4fb8bef03ab8bffcd833d103acc5.diff

LOG: SystemZ: Use correctly offset MachinePointerInfo in CC lowering (#177793)

Previously this was just using the original base address as
the pointer info.

Added: 
    

Modified: 
    llvm/lib/Target/SystemZ/SystemZISelLowering.cpp

Removed: 
    


################################################################################
diff  --git a/llvm/lib/Target/SystemZ/SystemZISelLowering.cpp b/llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
index ad37edf1b6939..3bc90a16f51db 100644
--- a/llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
+++ b/llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
@@ -2365,9 +2365,11 @@ SystemZTargetLowering::LowerCall(CallLoweringInfo &CLI,
         SlotVT = Outs[I].VT;
       SDValue SpillSlot = DAG.CreateStackTemporary(SlotVT);
       int FI = cast<FrameIndexSDNode>(SpillSlot)->getIndex();
+
+      MachinePointerInfo StackPtrInfo =
+          MachinePointerInfo::getFixedStack(MF, FI);
       MemOpChains.push_back(
-          DAG.getStore(Chain, DL, ArgValue, SpillSlot,
-                       MachinePointerInfo::getFixedStack(MF, FI)));
+          DAG.getStore(Chain, DL, ArgValue, SpillSlot, StackPtrInfo));
       // If the original argument was split (e.g. i128), we need
       // to store all parts of it here (and pass just one address).
       assert(Outs[I].PartOffset == 0);
@@ -2379,7 +2381,7 @@ SystemZTargetLowering::LowerCall(CallLoweringInfo &CLI,
                                       DAG.getIntPtrConstant(PartOffset, DL));
         MemOpChains.push_back(
             DAG.getStore(Chain, DL, PartValue, Address,
-                         MachinePointerInfo::getFixedStack(MF, FI)));
+                         StackPtrInfo.getWithOffset(PartOffset)));
         assert(PartOffset && "Offset should be non-zero.");
         assert((PartOffset + PartValue.getValueType().getStoreSize() <=
                 SlotVT.getStoreSize()) && "Not enough space for argument part!");


        


More information about the llvm-commits mailing list