From 16cd04d26c53c6f81313cafb85f6c0e7a07cdff6 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Thu, 12 May 2005 23:24:06 +0000 Subject: [PATCH] rename the ADJCALLSTACKDOWN/ADJCALLSTACKUP nodes to be CALLSEQ_START/BEGIN. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21915 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/CodeGen/SelectionDAGNodes.h | 12 ++++----- lib/CodeGen/SelectionDAG/LegalizeDAG.cpp | 32 +++++++++++------------ lib/CodeGen/SelectionDAG/SelectionDAG.cpp | 12 ++++----- lib/Target/Alpha/AlphaISelPattern.cpp | 10 +++---- lib/Target/IA64/IA64ISelPattern.cpp | 12 ++++----- lib/Target/PowerPC/PPC64ISelPattern.cpp | 12 ++++----- lib/Target/PowerPC/PPCISelPattern.cpp | 12 ++++----- lib/Target/X86/X86ISelPattern.cpp | 18 ++++++------- 8 files changed, 60 insertions(+), 60 deletions(-) diff --git a/include/llvm/CodeGen/SelectionDAGNodes.h b/include/llvm/CodeGen/SelectionDAGNodes.h index dbf11d7ee7b..b3ac7db890e 100644 --- a/include/llvm/CodeGen/SelectionDAGNodes.h +++ b/include/llvm/CodeGen/SelectionDAGNodes.h @@ -245,12 +245,12 @@ namespace ISD { MEMMOVE, MEMCPY, - // ADJCALLSTACKDOWN/ADJCALLSTACKUP - These operators mark the beginning and - // end of a call sequence and indicate how much the stack pointer needs to - // be adjusted for that particular call. The first operand is a chain, the - // second is a ConstantSDNode of intptr type. - ADJCALLSTACKDOWN, // Beginning of a call sequence - ADJCALLSTACKUP, // End of a call sequence + // CALLSEQ_START/CALLSEQ_END - These operators mark the beginning and end of + // a call sequence, and carry arbitrary information that target might want + // to know. The first operand is a chain, the rest are specified by the + // target and not touched by the DAG optimizers. + CALLSEQ_START, // Beginning of a call sequence + CALLSEQ_END, // End of a call sequence // SRCVALUE - This corresponds to a Value*, and is used to associate memory // locations with their value. This allows one use alias analysis diff --git a/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp b/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp index a7f50812152..b2a3ac97b91 100644 --- a/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp +++ b/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp @@ -323,8 +323,8 @@ SDOperand SelectionDAGLegalize::LegalizeOp(SDOperand Op) { break; } - case ISD::ADJCALLSTACKDOWN: - case ISD::ADJCALLSTACKUP: + case ISD::CALLSEQ_START: + case ISD::CALLSEQ_END: Tmp1 = LegalizeOp(Node->getOperand(0)); // Legalize the chain. // There is no need to legalize the size argument (Operand #1) Tmp2 = Node->getOperand(0); @@ -339,7 +339,7 @@ SDOperand SelectionDAGLegalize::LegalizeOp(SDOperand Op) { DAG.getNode(ISD::PCMARKER, MVT::Other, Tmp2, DAG.getConstant(0, MVT::i32)); } - // Note that we do not create new ADJCALLSTACK DOWN/UP nodes here. These + // Note that we do not create new CALLSEQ_DOWN/UP nodes here. These // nodes are treated specially and are mutated in place. This makes the dag // legalization process more efficient and also makes libcall insertion // easier. @@ -1945,9 +1945,9 @@ bool SelectionDAGLegalize::ExpandShift(unsigned Opc, SDOperand Op,SDOperand Amt, static void FindLatestAdjCallStackDown(SDNode *Node, SDNode *&Found) { if (Node->getNodeDepth() <= Found->getNodeDepth()) return; - // If we found an ADJCALLSTACKDOWN, we already know this node occurs later + // If we found an CALLSEQ_START, we already know this node occurs later // than the Found node. Just remember this node and return. - if (Node->getOpcode() == ISD::ADJCALLSTACKDOWN) { + if (Node->getOpcode() == ISD::CALLSEQ_START) { Found = Node; return; } @@ -1970,9 +1970,9 @@ static void FindLatestAdjCallStackDown(SDNode *Node, SDNode *&Found) { static void FindEarliestAdjCallStackUp(SDNode *Node, SDNode *&Found) { if (Found && Node->getNodeDepth() >= Found->getNodeDepth()) return; - // If we found an ADJCALLSTACKUP, we already know this node occurs earlier + // If we found an CALLSEQ_END, we already know this node occurs earlier // than the Found node. Just remember this node and return. - if (Node->getOpcode() == ISD::ADJCALLSTACKUP) { + if (Node->getOpcode() == ISD::CALLSEQ_END) { Found = Node; return; } @@ -1988,9 +1988,9 @@ static void FindEarliestAdjCallStackUp(SDNode *Node, SDNode *&Found) { } /// FindAdjCallStackUp - Given a chained node that is part of a call sequence, -/// find the ADJCALLSTACKUP node that terminates the call sequence. +/// find the CALLSEQ_END node that terminates the call sequence. static SDNode *FindAdjCallStackUp(SDNode *Node) { - if (Node->getOpcode() == ISD::ADJCALLSTACKUP) + if (Node->getOpcode() == ISD::CALLSEQ_END) return Node; if (Node->use_empty()) return 0; // No adjcallstackup @@ -2003,7 +2003,7 @@ static SDNode *FindAdjCallStackUp(SDNode *Node) { for (SDNode::use_iterator UI = Node->use_begin(), E = Node->use_end(); ; ++UI) { - assert(UI != E && "Didn't find a user of the tokchain, no ADJCALLSTACKUP!"); + assert(UI != E && "Didn't find a user of the tokchain, no CALLSEQ_END!"); // Make sure to only follow users of our token chain. SDNode *User = *UI; @@ -2016,10 +2016,10 @@ static SDNode *FindAdjCallStackUp(SDNode *Node) { } /// FindAdjCallStackDown - Given a chained node that is part of a call sequence, -/// find the ADJCALLSTACKDOWN node that initiates the call sequence. +/// find the CALLSEQ_START node that initiates the call sequence. static SDNode *FindAdjCallStackDown(SDNode *Node) { assert(Node && "Didn't find adjcallstackdown for a call??"); - if (Node->getOpcode() == ISD::ADJCALLSTACKDOWN) return Node; + if (Node->getOpcode() == ISD::CALLSEQ_START) return Node; assert(Node->getOperand(0).getValueType() == MVT::Other && "Node doesn't have a token chain argument!"); @@ -2040,11 +2040,11 @@ static SDOperand FindInputOutputChains(SDNode *OpNode, SDNode *&OutChain, FindLatestAdjCallStackDown(OpNode, LatestAdjCallStackDown); //std::cerr<<"Found node: "; LatestAdjCallStackDown->dump(); std::cerr <<"\n"; - // It is possible that no ISD::ADJCALLSTACKDOWN was found because there is no + // It is possible that no ISD::CALLSEQ_START was found because there is no // previous call in the function. LatestCallStackDown may in that case be - // the entry node itself. Do not attempt to find a matching ADJCALLSTACKUP - // unless LatestCallStackDown is an ADJCALLSTACKDOWN. - if (LatestAdjCallStackDown->getOpcode() == ISD::ADJCALLSTACKDOWN) + // the entry node itself. Do not attempt to find a matching CALLSEQ_END + // unless LatestCallStackDown is an CALLSEQ_START. + if (LatestAdjCallStackDown->getOpcode() == ISD::CALLSEQ_START) LatestAdjCallStackUp = FindAdjCallStackUp(LatestAdjCallStackDown); else LatestAdjCallStackUp = Entry.Val; diff --git a/lib/CodeGen/SelectionDAG/SelectionDAG.cpp b/lib/CodeGen/SelectionDAG/SelectionDAG.cpp index 1ca213b4440..6fa0d926a7f 100644 --- a/lib/CodeGen/SelectionDAG/SelectionDAG.cpp +++ b/lib/CodeGen/SelectionDAG/SelectionDAG.cpp @@ -1194,7 +1194,7 @@ SDOperand SelectionDAG::getNode(unsigned Opcode, MVT::ValueType VT, // Memoize this node if possible. SDNode *N; - if (Opcode != ISD::ADJCALLSTACKDOWN && Opcode != ISD::ADJCALLSTACKUP) { + if (Opcode != ISD::CALLSEQ_START && Opcode != ISD::CALLSEQ_END) { SDNode *&BON = BinaryOps[std::make_pair(Opcode, std::make_pair(N1, N2))]; if (BON) return SDOperand(BON, 0); @@ -1214,11 +1214,11 @@ SDOperand SelectionDAG::getNode(unsigned Opcode, MVT::ValueType VT, } // setAdjCallChain - This method changes the token chain of an -// ADJCALLSTACKDOWN/UP node to be the specified operand. +// CALLSEQ_START/END node to be the specified operand. void SDNode::setAdjCallChain(SDOperand N) { assert(N.getValueType() == MVT::Other); - assert((getOpcode() == ISD::ADJCALLSTACKDOWN || - getOpcode() == ISD::ADJCALLSTACKUP) && "Cannot adjust this node!"); + assert((getOpcode() == ISD::CALLSEQ_START || + getOpcode() == ISD::CALLSEQ_END) && "Cannot adjust this node!"); Operands[0].Val->removeUser(this); Operands[0] = N; @@ -1690,8 +1690,8 @@ const char *SDNode::getOperationName() const { case ISD::BRCONDTWOWAY: return "brcondtwoway"; case ISD::RET: return "ret"; case ISD::CALL: return "call"; - case ISD::ADJCALLSTACKDOWN: return "adjcallstackdown"; - case ISD::ADJCALLSTACKUP: return "adjcallstackup"; + case ISD::CALLSEQ_START: return "callseq_end"; + case ISD::CALLSEQ_END: return "callseq_start"; // Other operators case ISD::LOAD: return "load"; diff --git a/lib/Target/Alpha/AlphaISelPattern.cpp b/lib/Target/Alpha/AlphaISelPattern.cpp index b5f93b0548b..9a9e587c752 100644 --- a/lib/Target/Alpha/AlphaISelPattern.cpp +++ b/lib/Target/Alpha/AlphaISelPattern.cpp @@ -311,7 +311,7 @@ AlphaTargetLowering::LowerCallTo(SDOperand Chain, if (Args.size() > 6) NumBytes = (Args.size() - 6) * 8; - Chain = DAG.getNode(ISD::ADJCALLSTACKDOWN, MVT::Other, Chain, + Chain = DAG.getNode(ISD::CALLSEQ_START, MVT::Other, Chain, DAG.getConstant(NumBytes, getPointerTy())); std::vector args_to_use; for (unsigned i = 0, e = Args.size(); i != e; ++i) @@ -346,7 +346,7 @@ AlphaTargetLowering::LowerCallTo(SDOperand Chain, SDOperand TheCall = SDOperand(DAG.getCall(RetVals, Chain, Callee, args_to_use), 0); Chain = TheCall.getValue(RetTyVT != MVT::isVoid); - Chain = DAG.getNode(ISD::ADJCALLSTACKUP, MVT::Other, Chain, + Chain = DAG.getNode(ISD::CALLSEQ_END, MVT::Other, Chain, DAG.getConstant(NumBytes, getPointerTy())); return std::make_pair(TheCall, Chain); } @@ -2247,12 +2247,12 @@ void ISel::Select(SDOperand N) { SelectExpr(N); return; - case ISD::ADJCALLSTACKDOWN: - case ISD::ADJCALLSTACKUP: + case ISD::CALLSEQ_START: + case ISD::CALLSEQ_END: Select(N.getOperand(0)); Tmp1 = cast(N.getOperand(1))->getValue(); - Opc = N.getOpcode() == ISD::ADJCALLSTACKDOWN ? Alpha::ADJUSTSTACKDOWN : + Opc = N.getOpcode() == ISD::CALLSEQ_START ? Alpha::ADJUSTSTACKDOWN : Alpha::ADJUSTSTACKUP; BuildMI(BB, Opc, 1).addImm(Tmp1); return; diff --git a/lib/Target/IA64/IA64ISelPattern.cpp b/lib/Target/IA64/IA64ISelPattern.cpp index cbbd619f0b8..20056325558 100644 --- a/lib/Target/IA64/IA64ISelPattern.cpp +++ b/lib/Target/IA64/IA64ISelPattern.cpp @@ -333,7 +333,7 @@ IA64TargetLowering::LowerCallTo(SDOperand Chain, MF.getInfo()->outRegsUsed= std::max(outRegsUsed, MF.getInfo()->outRegsUsed); - Chain = DAG.getNode(ISD::ADJCALLSTACKDOWN, MVT::Other, Chain, + Chain = DAG.getNode(ISD::CALLSEQ_START, MVT::Other, Chain, DAG.getConstant(NumBytes, getPointerTy())); std::vector args_to_use; @@ -373,7 +373,7 @@ IA64TargetLowering::LowerCallTo(SDOperand Chain, SDOperand TheCall = SDOperand(DAG.getCall(RetVals, Chain, Callee, args_to_use), 0); Chain = TheCall.getValue(RetTyVT != MVT::isVoid); - Chain = DAG.getNode(ISD::ADJCALLSTACKUP, MVT::Other, Chain, + Chain = DAG.getNode(ISD::CALLSEQ_END, MVT::Other, Chain, DAG.getConstant(NumBytes, getPointerTy())); return std::make_pair(TheCall, Chain); } @@ -2425,13 +2425,13 @@ void ISel::Select(SDOperand N) { return; } - case ISD::ADJCALLSTACKDOWN: - case ISD::ADJCALLSTACKUP: { + case ISD::CALLSEQ_START: + case ISD::CALLSEQ_END: { Select(N.getOperand(0)); Tmp1 = cast(N.getOperand(1))->getValue(); - Opc = N.getOpcode() == ISD::ADJCALLSTACKDOWN ? IA64::ADJUSTCALLSTACKDOWN : - IA64::ADJUSTCALLSTACKUP; + Opc = N.getOpcode() == ISD::CALLSEQ_START ? IA64::ADJUSTCALLSTACKDOWN : + IA64::ADJUSTCALLSTACKUP; BuildMI(BB, Opc, 1).addImm(Tmp1); return; } diff --git a/lib/Target/PowerPC/PPC64ISelPattern.cpp b/lib/Target/PowerPC/PPC64ISelPattern.cpp index 816d82a8ac6..a91223d4694 100644 --- a/lib/Target/PowerPC/PPC64ISelPattern.cpp +++ b/lib/Target/PowerPC/PPC64ISelPattern.cpp @@ -247,7 +247,7 @@ PPC64TargetLowering::LowerCallTo(SDOperand Chain, unsigned NumBytes = 48; if (Args.empty()) { - Chain = DAG.getNode(ISD::ADJCALLSTACKDOWN, MVT::Other, Chain, + Chain = DAG.getNode(ISD::CALLSEQ_START, MVT::Other, Chain, DAG.getConstant(NumBytes, getPointerTy())); } else { NumBytes = 8 * Args.size(); // All arguments are rounded up to 8 bytes @@ -258,7 +258,7 @@ PPC64TargetLowering::LowerCallTo(SDOperand Chain, // Adjust the stack pointer for the new arguments... // These operations are automatically eliminated by the prolog/epilog pass - Chain = DAG.getNode(ISD::ADJCALLSTACKDOWN, MVT::Other, Chain, + Chain = DAG.getNode(ISD::CALLSEQ_START, MVT::Other, Chain, DAG.getConstant(NumBytes, getPointerTy())); // Set up a copy of the stack pointer for use loading and storing any @@ -351,7 +351,7 @@ PPC64TargetLowering::LowerCallTo(SDOperand Chain, SDOperand TheCall = SDOperand(DAG.getCall(RetVals, Chain, Callee, args_to_use), 0); Chain = TheCall.getValue(RetTyVT != MVT::isVoid); - Chain = DAG.getNode(ISD::ADJCALLSTACKUP, MVT::Other, Chain, + Chain = DAG.getNode(ISD::CALLSEQ_END, MVT::Other, Chain, DAG.getConstant(NumBytes, getPointerTy())); return std::make_pair(TheCall, Chain); } @@ -1495,11 +1495,11 @@ void ISel::Select(SDOperand N) { for (unsigned i = 0, e = Node->getNumOperands(); i != e; ++i) Select(Node->getOperand(i)); return; - case ISD::ADJCALLSTACKDOWN: - case ISD::ADJCALLSTACKUP: + case ISD::CALLSEQ_START: + case ISD::CALLSEQ_END: Select(N.getOperand(0)); Tmp1 = cast(N.getOperand(1))->getValue(); - Opc = N.getOpcode() == ISD::ADJCALLSTACKDOWN ? PPC::ADJCALLSTACKDOWN : + Opc = N.getOpcode() == ISD::CALLSEQ_START ? PPC::ADJCALLSTACKDOWN : PPC::ADJCALLSTACKUP; BuildMI(BB, Opc, 1).addImm(Tmp1); return; diff --git a/lib/Target/PowerPC/PPCISelPattern.cpp b/lib/Target/PowerPC/PPCISelPattern.cpp index 80091ecc3ba..2551771999c 100644 --- a/lib/Target/PowerPC/PPCISelPattern.cpp +++ b/lib/Target/PowerPC/PPCISelPattern.cpp @@ -291,7 +291,7 @@ PPC32TargetLowering::LowerCallTo(SDOperand Chain, unsigned NumBytes = 24; if (Args.empty()) { - Chain = DAG.getNode(ISD::ADJCALLSTACKDOWN, MVT::Other, Chain, + Chain = DAG.getNode(ISD::CALLSEQ_START, MVT::Other, Chain, DAG.getConstant(NumBytes, getPointerTy())); } else { for (unsigned i = 0, e = Args.size(); i != e; ++i) @@ -316,7 +316,7 @@ PPC32TargetLowering::LowerCallTo(SDOperand Chain, // Adjust the stack pointer for the new arguments... // These operations are automatically eliminated by the prolog/epilog pass - Chain = DAG.getNode(ISD::ADJCALLSTACKDOWN, MVT::Other, Chain, + Chain = DAG.getNode(ISD::CALLSEQ_START, MVT::Other, Chain, DAG.getConstant(NumBytes, getPointerTy())); // Set up a copy of the stack pointer for use loading and storing any @@ -447,7 +447,7 @@ PPC32TargetLowering::LowerCallTo(SDOperand Chain, SDOperand TheCall = SDOperand(DAG.getCall(RetVals, Chain, Callee, args_to_use), 0); Chain = TheCall.getValue(RetTyVT != MVT::isVoid); - Chain = DAG.getNode(ISD::ADJCALLSTACKUP, MVT::Other, Chain, + Chain = DAG.getNode(ISD::CALLSEQ_END, MVT::Other, Chain, DAG.getConstant(NumBytes, getPointerTy())); return std::make_pair(TheCall, Chain); } @@ -2382,11 +2382,11 @@ void ISel::Select(SDOperand N) { for (unsigned i = 0, e = Node->getNumOperands(); i != e; ++i) Select(Node->getOperand(i)); return; - case ISD::ADJCALLSTACKDOWN: - case ISD::ADJCALLSTACKUP: + case ISD::CALLSEQ_START: + case ISD::CALLSEQ_END: Select(N.getOperand(0)); Tmp1 = cast(N.getOperand(1))->getValue(); - Opc = N.getOpcode() == ISD::ADJCALLSTACKDOWN ? PPC::ADJCALLSTACKDOWN : + Opc = N.getOpcode() == ISD::CALLSEQ_START ? PPC::ADJCALLSTACKDOWN : PPC::ADJCALLSTACKUP; BuildMI(BB, Opc, 1).addImm(Tmp1); return; diff --git a/lib/Target/X86/X86ISelPattern.cpp b/lib/Target/X86/X86ISelPattern.cpp index 092c2641aa6..dd88367209c 100644 --- a/lib/Target/X86/X86ISelPattern.cpp +++ b/lib/Target/X86/X86ISelPattern.cpp @@ -257,7 +257,7 @@ X86TargetLowering::LowerCCCCallTo(SDOperand Chain, const Type *RetTy, if (Args.empty()) { // Save zero bytes. - Chain = DAG.getNode(ISD::ADJCALLSTACKDOWN, MVT::Other, Chain, + Chain = DAG.getNode(ISD::CALLSEQ_START, MVT::Other, Chain, DAG.getConstant(0, getPointerTy())); } else { for (unsigned i = 0, e = Args.size(); i != e; ++i) @@ -276,7 +276,7 @@ X86TargetLowering::LowerCCCCallTo(SDOperand Chain, const Type *RetTy, break; } - Chain = DAG.getNode(ISD::ADJCALLSTACKDOWN, MVT::Other, Chain, + Chain = DAG.getNode(ISD::CALLSEQ_START, MVT::Other, Chain, DAG.getConstant(NumBytes, getPointerTy())); // Arguments go on the stack in reverse order, as specified by the ABI. @@ -329,7 +329,7 @@ X86TargetLowering::LowerCCCCallTo(SDOperand Chain, const Type *RetTy, SDOperand TheCall = SDOperand(DAG.getCall(RetVals, Chain, Callee), 0); Chain = TheCall.getValue(RetTyVT != MVT::isVoid); - Chain = DAG.getNode(ISD::ADJCALLSTACKUP, MVT::Other, Chain, + Chain = DAG.getNode(ISD::CALLSEQ_END, MVT::Other, Chain, DAG.getConstant(NumBytes, getPointerTy())); return std::make_pair(TheCall, Chain); } @@ -578,7 +578,7 @@ X86TargetLowering::LowerFastCCCallTo(SDOperand Chain, const Type *RetTy, break; } - Chain = DAG.getNode(ISD::ADJCALLSTACKDOWN, MVT::Other, Chain, + Chain = DAG.getNode(ISD::CALLSEQ_START, MVT::Other, Chain, DAG.getConstant(NumBytes, getPointerTy())); // Arguments go on the stack in reverse order, as specified by the ABI. @@ -655,7 +655,7 @@ X86TargetLowering::LowerFastCCCallTo(SDOperand Chain, const Type *RetTy, SDOperand TheCall = SDOperand(DAG.getCall(RetVals, Chain, Callee, RegValuesToPass), 0); Chain = TheCall.getValue(RetTyVT != MVT::isVoid); - Chain = DAG.getNode(ISD::ADJCALLSTACKUP, MVT::Other, Chain, + Chain = DAG.getNode(ISD::CALLSEQ_END, MVT::Other, Chain, DAG.getConstant(NumBytes, getPointerTy())); return std::make_pair(TheCall, Chain); } @@ -3669,13 +3669,13 @@ void ISel::Select(SDOperand N) { addFullAddress(BuildMI(BB, Opc, 4+1), AM).addReg(Tmp1); return; } - case ISD::ADJCALLSTACKDOWN: - case ISD::ADJCALLSTACKUP: + case ISD::CALLSEQ_START: + case ISD::CALLSEQ_END: Select(N.getOperand(0)); Tmp1 = cast(N.getOperand(1))->getValue(); - Opc = N.getOpcode() == ISD::ADJCALLSTACKDOWN ? X86::ADJCALLSTACKDOWN : - X86::ADJCALLSTACKUP; + Opc = N.getOpcode() == ISD::CALLSEQ_START ? X86::ADJCALLSTACKDOWN : + X86::ADJCALLSTACKUP; BuildMI(BB, Opc, 1).addImm(Tmp1); return; case ISD::MEMSET: {