diff options
| author | Chris Lattner <sabre@nondot.org> | 2007-02-04 02:41:42 +0000 |
|---|---|---|
| committer | Chris Lattner <sabre@nondot.org> | 2007-02-04 02:41:42 +0000 |
| commit | 3bf17b6fa58ccba8491ae228c2093da8941bd0d7 (patch) | |
| tree | 60c002d3cbdc4052278c19a978655c92f5296dd4 /llvm/lib/CodeGen | |
| parent | 486edfbc6f7615a422caa43940afccce7f9e2e1b (diff) | |
| download | bcm5719-llvm-3bf17b6fa58ccba8491ae228c2093da8941bd0d7.tar.gz bcm5719-llvm-3bf17b6fa58ccba8491ae228c2093da8941bd0d7.zip | |
simplify MorphNodeTo to take a VTList operand.
llvm-svn: 33868
Diffstat (limited to 'llvm/lib/CodeGen')
| -rw-r--r-- | llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp | 27 |
1 files changed, 13 insertions, 14 deletions
diff --git a/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp b/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp index 0370cc1aaea..f790e6320c6 100644 --- a/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp +++ b/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp @@ -2085,8 +2085,7 @@ SDNode *SelectionDAG::SelectNodeTo(SDNode *N, unsigned TargetOpc, RemoveNodeFromCSEMaps(N); - N->MorphNodeTo(ISD::BUILTIN_OP_END+TargetOpc); - N->setValueTypes(VTs); + N->MorphNodeTo(ISD::BUILTIN_OP_END+TargetOpc, VTs); CSEMap.InsertNode(N, IP); return N; @@ -2105,8 +2104,7 @@ SDNode *SelectionDAG::SelectNodeTo(SDNode *N, unsigned TargetOpc, RemoveNodeFromCSEMaps(N); SDOperand OperandList[] = { Op1 }; - N->MorphNodeTo(ISD::BUILTIN_OP_END+TargetOpc); - N->setValueTypes(VTs); + N->MorphNodeTo(ISD::BUILTIN_OP_END+TargetOpc, VTs); N->setOperands(OperandList, 1); CSEMap.InsertNode(N, IP); return N; @@ -2127,8 +2125,7 @@ SDNode *SelectionDAG::SelectNodeTo(SDNode *N, unsigned TargetOpc, SDOperand OperandList[] = { Op1, Op2 }; - N->MorphNodeTo(ISD::BUILTIN_OP_END+TargetOpc); - N->setValueTypes(VTs); + N->MorphNodeTo(ISD::BUILTIN_OP_END+TargetOpc, VTs); N->setOperands(OperandList, 2); CSEMap.InsertNode(N, IP); // Memoize the new node. @@ -2149,8 +2146,7 @@ SDNode *SelectionDAG::SelectNodeTo(SDNode *N, unsigned TargetOpc, RemoveNodeFromCSEMaps(N); SDOperand OperandList[] = { Op1, Op2, Op3 }; - N->MorphNodeTo(ISD::BUILTIN_OP_END+TargetOpc); - N->setValueTypes(VTs); + N->MorphNodeTo(ISD::BUILTIN_OP_END+TargetOpc, VTs); N->setOperands(OperandList, 3); CSEMap.InsertNode(N, IP); // Memoize the new node. @@ -2169,8 +2165,7 @@ SDNode *SelectionDAG::SelectNodeTo(SDNode *N, unsigned TargetOpc, return ON; RemoveNodeFromCSEMaps(N); - N->MorphNodeTo(ISD::BUILTIN_OP_END+TargetOpc); - N->setValueTypes(VTs); + N->MorphNodeTo(ISD::BUILTIN_OP_END+TargetOpc, VTs); N->setOperands(Ops, NumOps); CSEMap.InsertNode(N, IP); // Memoize the new node. @@ -2190,8 +2185,7 @@ SDNode *SelectionDAG::SelectNodeTo(SDNode *N, unsigned TargetOpc, RemoveNodeFromCSEMaps(N); SDOperand OperandList[] = { Op1, Op2 }; - N->MorphNodeTo(ISD::BUILTIN_OP_END+TargetOpc); - N->setValueTypes(VTs); + N->MorphNodeTo(ISD::BUILTIN_OP_END+TargetOpc, VTs); N->setOperands(OperandList, 2); CSEMap.InsertNode(N, IP); // Memoize the new node. @@ -2213,8 +2207,7 @@ SDNode *SelectionDAG::SelectNodeTo(SDNode *N, unsigned TargetOpc, RemoveNodeFromCSEMaps(N); SDOperand OperandList[] = { Op1, Op2, Op3 }; - N->MorphNodeTo(ISD::BUILTIN_OP_END+TargetOpc); - N->setValueTypes(VTs); + N->MorphNodeTo(ISD::BUILTIN_OP_END+TargetOpc, VTs); N->setOperands(OperandList, 3); CSEMap.InsertNode(N, IP); // Memoize the new node. @@ -2547,6 +2540,12 @@ void VTSDNode::ANCHOR() {} void LoadSDNode::ANCHOR() {} void StoreSDNode::ANCHOR() {} +HandleSDNode::~HandleSDNode() { + SDVTList VTs = { 0, 0 }; + MorphNodeTo(ISD::HANDLENODE, VTs); // Drops operand uses. +} + + /// Profile - Gather unique data for the node. /// void SDNode::Profile(FoldingSetNodeID &ID) { |

