From f359fed9f972ae2c825c86895751611d1fa05ded Mon Sep 17 00:00:00 2001 From: Bill Wendling Date: Tue, 13 Nov 2007 00:44:25 +0000 Subject: 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 --- llvm/lib/Target/IA64/IA64ISelLowering.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'llvm/lib/Target/IA64/IA64ISelLowering.cpp') 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); } -- cgit v1.2.3