[llvm] DAG: Set MachinePointerInfo for stack when expanding divrem libcall (PR #170537)
Matt Arsenault via llvm-commits
llvm-commits at lists.llvm.org
Wed Dec 3 11:13:59 PST 2025
https://github.com/arsenm created https://github.com/llvm/llvm-project/pull/170537
None
>From a47b379248490816bd6223c67ba078fbdbad8809 Mon Sep 17 00:00:00 2001
From: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: Wed, 3 Dec 2025 19:39:58 +0100
Subject: [PATCH] DAG: Set MachinePointerInfo for stack when expanding divrem
libcall
---
llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp b/llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
index 8336e1d1f4134..ff5132d44b898 100644
--- a/llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
+++ b/llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
@@ -2407,8 +2407,11 @@ SelectionDAGLegalize::ExpandDivRemLibCall(SDNode *Node,
std::pair<SDValue, SDValue> CallInfo = TLI.LowerCallTo(CLI);
// Remainder is loaded back from the stack frame.
- SDValue Rem =
- DAG.getLoad(RetVT, dl, CallInfo.second, FIPtr, MachinePointerInfo());
+ int FI = cast<FrameIndexSDNode>(FIPtr)->getIndex();
+ MachinePointerInfo PtrInfo =
+ MachinePointerInfo::getFixedStack(DAG.getMachineFunction(), FI);
+
+ SDValue Rem = DAG.getLoad(RetVT, dl, CallInfo.second, FIPtr, PtrInfo);
Results.push_back(CallInfo.first);
Results.push_back(Rem);
}
More information about the llvm-commits
mailing list