summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/IA64/IA64ISelLowering.cpp
diff options
context:
space:
mode:
authorBill Wendling <isanbard@gmail.com>2007-11-13 00:44:25 +0000
committerBill Wendling <isanbard@gmail.com>2007-11-13 00:44:25 +0000
commitf359fed9f972ae2c825c86895751611d1fa05ded (patch)
treeaa7d3df5d4f4edd9812f3ee142378b95f4bd9402 /llvm/lib/Target/IA64/IA64ISelLowering.cpp
parent4a158f37f9e0437ce823afbdc0ae1502947c89f3 (diff)
downloadbcm5719-llvm-f359fed9f972ae2c825c86895751611d1fa05ded.tar.gz
bcm5719-llvm-f359fed9f972ae2c825c86895751611d1fa05ded.zip
Unify CALLSEQ_{START,END}. They take 4 parameters: the chain, two stack
adjustment fields, and an optional flag. If there is a "dynamic_stackalloc" in the code, make sure that it's bracketed by CALLSEQ_START and CALLSEQ_END. If not, then there is the potential for the stack to be changed while the stack's being used by another instruction (like a call). This can only result in tears... llvm-svn: 44037
Diffstat (limited to 'llvm/lib/Target/IA64/IA64ISelLowering.cpp')
-rw-r--r--llvm/lib/Target/IA64/IA64ISelLowering.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/llvm/lib/Target/IA64/IA64ISelLowering.cpp b/llvm/lib/Target/IA64/IA64ISelLowering.cpp
index 82cbd9c2118..92783de28be 100644
--- a/llvm/lib/Target/IA64/IA64ISelLowering.cpp
+++ b/llvm/lib/Target/IA64/IA64ISelLowering.cpp
@@ -535,9 +535,10 @@ IA64TargetLowering::LowerCallTo(SDOperand Chain,
}
}
- Chain = DAG.getNode(ISD::CALLSEQ_END, MVT::Other, Chain,
- DAG.getConstant(NumBytes, getPointerTy()));
-
+ Chain = DAG.getCALLSEQ_END(Chain,
+ DAG.getConstant(NumBytes, getPointerTy()),
+ DAG.getConstant(0, getPointerTy()),
+ SDOperand());
return std::make_pair(RetVal, Chain);
}
OpenPOWER on IntegriCloud