diff options
author | Bill Wendling <isanbard@gmail.com> | 2009-01-28 22:17:52 +0000 |
---|---|---|
committer | Bill Wendling <isanbard@gmail.com> | 2009-01-28 22:17:52 +0000 |
commit | 7ade28cd62f5188951387e1056a46001388a21f9 (patch) | |
tree | 206cfd58f8fb015456a2e3ee948de91f614e8345 | |
parent | ef42a3b87834579a73841539da944b472e53e1cb (diff) | |
download | external_llvm-7ade28cd62f5188951387e1056a46001388a21f9.zip external_llvm-7ade28cd62f5188951387e1056a46001388a21f9.tar.gz external_llvm-7ade28cd62f5188951387e1056a46001388a21f9.tar.bz2 |
Add DebugLoc to the getNode() methods.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63245 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | include/llvm/CodeGen/SelectionDAG.h | 53 | ||||
-rw-r--r-- | lib/CodeGen/SelectionDAG/SelectionDAG.cpp | 175 |
2 files changed, 177 insertions, 51 deletions
diff --git a/include/llvm/CodeGen/SelectionDAG.h b/include/llvm/CodeGen/SelectionDAG.h index c04436b..739f4d9 100644 --- a/include/llvm/CodeGen/SelectionDAG.h +++ b/include/llvm/CodeGen/SelectionDAG.h @@ -394,35 +394,68 @@ public: /// getNode - Gets or creates the specified node. /// SDValue getNode(unsigned Opcode, MVT VT); + SDValue getNode(unsigned Opcode, DebugLoc DL, MVT VT); SDValue getNode(unsigned Opcode, MVT VT, SDValue N); + SDValue getNode(unsigned Opcode, DebugLoc DL, MVT VT, SDValue N); SDValue getNode(unsigned Opcode, MVT VT, SDValue N1, SDValue N2); + SDValue getNode(unsigned Opcode, DebugLoc DL, MVT VT, SDValue N1, SDValue N2); SDValue getNode(unsigned Opcode, MVT VT, - SDValue N1, SDValue N2, SDValue N3); + SDValue N1, SDValue N2, SDValue N3); + SDValue getNode(unsigned Opcode, DebugLoc DL, MVT VT, + SDValue N1, SDValue N2, SDValue N3); SDValue getNode(unsigned Opcode, MVT VT, - SDValue N1, SDValue N2, SDValue N3, SDValue N4); + SDValue N1, SDValue N2, SDValue N3, SDValue N4); + SDValue getNode(unsigned Opcode, DebugLoc DL, MVT VT, + SDValue N1, SDValue N2, SDValue N3, SDValue N4); SDValue getNode(unsigned Opcode, MVT VT, - SDValue N1, SDValue N2, SDValue N3, SDValue N4, - SDValue N5); + SDValue N1, SDValue N2, SDValue N3, SDValue N4, + SDValue N5); + SDValue getNode(unsigned Opcode, DebugLoc DL, MVT VT, + SDValue N1, SDValue N2, SDValue N3, SDValue N4, + SDValue N5); SDValue getNode(unsigned Opcode, MVT VT, - const SDValue *Ops, unsigned NumOps); + const SDUse *Ops, unsigned NumOps); + SDValue getNode(unsigned Opcode, DebugLoc DL, MVT VT, + const SDUse *Ops, unsigned NumOps); SDValue getNode(unsigned Opcode, MVT VT, - const SDUse *Ops, unsigned NumOps); + const SDValue *Ops, unsigned NumOps); + SDValue getNode(unsigned Opcode, DebugLoc DL, MVT VT, + const SDValue *Ops, unsigned NumOps); SDValue getNode(unsigned Opcode, const std::vector<MVT> &ResultTys, - const SDValue *Ops, unsigned NumOps); + const SDValue *Ops, unsigned NumOps); + SDValue getNode(unsigned Opcode, DebugLoc DL, + const std::vector<MVT> &ResultTys, + const SDValue *Ops, unsigned NumOps); SDValue getNode(unsigned Opcode, const MVT *VTs, unsigned NumVTs, - const SDValue *Ops, unsigned NumOps); + const SDValue *Ops, unsigned NumOps); + SDValue getNode(unsigned Opcode, DebugLoc DL, const MVT *VTs, unsigned NumVTs, + const SDValue *Ops, unsigned NumOps); + SDValue getNode(unsigned Opcode, SDVTList VTs, + const SDValue *Ops, unsigned NumOps); + SDValue getNode(unsigned Opcode, DebugLoc DL, SDVTList VTs, + const SDValue *Ops, unsigned NumOps); + SDValue getNode(unsigned Opcode, SDVTList VTs); + SDValue getNode(unsigned Opcode, DebugLoc DL, SDVTList VTs); SDValue getNode(unsigned Opcode, SDVTList VTs, SDValue N); + SDValue getNode(unsigned Opcode, DebugLoc DL, SDVTList VTs, SDValue N); SDValue getNode(unsigned Opcode, SDVTList VTs, SDValue N1, SDValue N2); + SDValue getNode(unsigned Opcode, DebugLoc DL, SDVTList VTs, + SDValue N1, SDValue N2); SDValue getNode(unsigned Opcode, SDVTList VTs, SDValue N1, SDValue N2, SDValue N3); + SDValue getNode(unsigned Opcode, DebugLoc DL, SDVTList VTs, + SDValue N1, SDValue N2, SDValue N3); SDValue getNode(unsigned Opcode, SDVTList VTs, SDValue N1, SDValue N2, SDValue N3, SDValue N4); + SDValue getNode(unsigned Opcode, DebugLoc DL, SDVTList VTs, + SDValue N1, SDValue N2, SDValue N3, SDValue N4); SDValue getNode(unsigned Opcode, SDVTList VTs, SDValue N1, SDValue N2, SDValue N3, SDValue N4, SDValue N5); - SDValue getNode(unsigned Opcode, SDVTList VTs, - const SDValue *Ops, unsigned NumOps); + SDValue getNode(unsigned Opcode, DebugLoc DL, SDVTList VTs, + SDValue N1, SDValue N2, SDValue N3, SDValue N4, + SDValue N5); SDValue getMemcpy(SDValue Chain, SDValue Dst, SDValue Src, SDValue Size, unsigned Align, bool AlwaysInline, diff --git a/lib/CodeGen/SelectionDAG/SelectionDAG.cpp b/lib/CodeGen/SelectionDAG/SelectionDAG.cpp index 49d4975..a124ebf 100644 --- a/lib/CodeGen/SelectionDAG/SelectionDAG.cpp +++ b/lib/CodeGen/SelectionDAG/SelectionDAG.cpp @@ -2102,13 +2102,17 @@ SDValue SelectionDAG::getShuffleScalarElt(const SDNode *N, unsigned i) { /// getNode - Gets or creates the specified node. /// SDValue SelectionDAG::getNode(unsigned Opcode, MVT VT) { + return getNode(Opcode, DebugLoc::getUnknownLoc(), VT); +} + +SDValue SelectionDAG::getNode(unsigned Opcode, DebugLoc DL, MVT VT) { FoldingSetNodeID ID; AddNodeIDNode(ID, Opcode, getVTList(VT), 0, 0); void *IP = 0; if (SDNode *E = CSEMap.FindNodeOrInsertPos(ID, IP)) return SDValue(E, 0); SDNode *N = NodeAllocator.Allocate<SDNode>(); - new (N) SDNode(Opcode, SDNode::getSDVTList(VT)); + new (N) SDNode(Opcode, DL, SDNode::getSDVTList(VT)); CSEMap.InsertNode(N, IP); AllNodes.push_back(N); @@ -2119,6 +2123,11 @@ SDValue SelectionDAG::getNode(unsigned Opcode, MVT VT) { } SDValue SelectionDAG::getNode(unsigned Opcode, MVT VT, SDValue Operand) { + return getNode(Opcode, DebugLoc::getUnknownLoc(), VT, Operand); +} + +SDValue SelectionDAG::getNode(unsigned Opcode, DebugLoc DL, + MVT VT, SDValue Operand) { // Constant fold unary operations with an integer constant operand. if (ConstantSDNode *C = dyn_cast<ConstantSDNode>(Operand.getNode())) { const APInt &Val = C->getAPIntValue(); @@ -2310,11 +2319,11 @@ SDValue SelectionDAG::getNode(unsigned Opcode, MVT VT, SDValue Operand) { if (SDNode *E = CSEMap.FindNodeOrInsertPos(ID, IP)) return SDValue(E, 0); N = NodeAllocator.Allocate<UnarySDNode>(); - new (N) UnarySDNode(Opcode, VTs, Operand); + new (N) UnarySDNode(Opcode, DL, VTs, Operand); CSEMap.InsertNode(N, IP); } else { N = NodeAllocator.Allocate<UnarySDNode>(); - new (N) UnarySDNode(Opcode, VTs, Operand); + new (N) UnarySDNode(Opcode, DL, VTs, Operand); } AllNodes.push_back(N); @@ -2362,6 +2371,11 @@ SDValue SelectionDAG::FoldConstantArithmetic(unsigned Opcode, SDValue SelectionDAG::getNode(unsigned Opcode, MVT VT, SDValue N1, SDValue N2) { + return getNode(Opcode, DebugLoc::getUnknownLoc(), VT, N1, N2); +} + +SDValue SelectionDAG::getNode(unsigned Opcode, DebugLoc DL, MVT VT, + SDValue N1, SDValue N2) { ConstantSDNode *N1C = dyn_cast<ConstantSDNode>(N1.getNode()); ConstantSDNode *N2C = dyn_cast<ConstantSDNode>(N2.getNode()); switch (Opcode) { @@ -2705,11 +2719,11 @@ SDValue SelectionDAG::getNode(unsigned Opcode, MVT VT, if (SDNode *E = CSEMap.FindNodeOrInsertPos(ID, IP)) return SDValue(E, 0); N = NodeAllocator.Allocate<BinarySDNode>(); - new (N) BinarySDNode(Opcode, VTs, N1, N2); + new (N) BinarySDNode(Opcode, DL, VTs, N1, N2); CSEMap.InsertNode(N, IP); } else { N = NodeAllocator.Allocate<BinarySDNode>(); - new (N) BinarySDNode(Opcode, VTs, N1, N2); + new (N) BinarySDNode(Opcode, DL, VTs, N1, N2); } AllNodes.push_back(N); @@ -2721,6 +2735,11 @@ SDValue SelectionDAG::getNode(unsigned Opcode, MVT VT, SDValue SelectionDAG::getNode(unsigned Opcode, MVT VT, SDValue N1, SDValue N2, SDValue N3) { + return getNode(Opcode, DebugLoc::getUnknownLoc(), VT, N1, N2, N3); +} + +SDValue SelectionDAG::getNode(unsigned Opcode, DebugLoc DL, MVT VT, + SDValue N1, SDValue N2, SDValue N3) { // Perform various simplifications. ConstantSDNode *N1C = dyn_cast<ConstantSDNode>(N1.getNode()); ConstantSDNode *N2C = dyn_cast<ConstantSDNode>(N2.getNode()); @@ -2787,11 +2806,11 @@ SDValue SelectionDAG::getNode(unsigned Opcode, MVT VT, if (SDNode *E = CSEMap.FindNodeOrInsertPos(ID, IP)) return SDValue(E, 0); N = NodeAllocator.Allocate<TernarySDNode>(); - new (N) TernarySDNode(Opcode, VTs, N1, N2, N3); + new (N) TernarySDNode(Opcode, DL, VTs, N1, N2, N3); CSEMap.InsertNode(N, IP); } else { N = NodeAllocator.Allocate<TernarySDNode>(); - new (N) TernarySDNode(Opcode, VTs, N1, N2, N3); + new (N) TernarySDNode(Opcode, DL, VTs, N1, N2, N3); } AllNodes.push_back(N); #ifndef NDEBUG @@ -2803,15 +2822,27 @@ SDValue SelectionDAG::getNode(unsigned Opcode, MVT VT, SDValue SelectionDAG::getNode(unsigned Opcode, MVT VT, SDValue N1, SDValue N2, SDValue N3, SDValue N4) { + return getNode(Opcode, DebugLoc::getUnknownLoc(), VT, N1, N2, N3, N4); +} + +SDValue SelectionDAG::getNode(unsigned Opcode, DebugLoc DL, MVT VT, + SDValue N1, SDValue N2, SDValue N3, + SDValue N4) { SDValue Ops[] = { N1, N2, N3, N4 }; - return getNode(Opcode, VT, Ops, 4); + return getNode(Opcode, DL, VT, Ops, 4); } SDValue SelectionDAG::getNode(unsigned Opcode, MVT VT, SDValue N1, SDValue N2, SDValue N3, SDValue N4, SDValue N5) { + return getNode(Opcode, DebugLoc::getUnknownLoc(), VT, N1, N2, N3, N4, N5); +} + +SDValue SelectionDAG::getNode(unsigned Opcode, DebugLoc DL, MVT VT, + SDValue N1, SDValue N2, SDValue N3, + SDValue N4, SDValue N5) { SDValue Ops[] = { N1, N2, N3, N4, N5 }; - return getNode(Opcode, VT, Ops, 5); + return getNode(Opcode, DL, VT, Ops, 5); } /// getMemsetValue - Vectorized representation of the memset value @@ -3620,27 +3651,37 @@ SDValue SelectionDAG::getVAArg(MVT VT, SDValue SelectionDAG::getNode(unsigned Opcode, MVT VT, const SDUse *Ops, unsigned NumOps) { + return getNode(Opcode, DebugLoc::getUnknownLoc(), VT, Ops, NumOps); +} + +SDValue SelectionDAG::getNode(unsigned Opcode, DebugLoc DL, MVT VT, + const SDUse *Ops, unsigned NumOps) { switch (NumOps) { - case 0: return getNode(Opcode, VT); - case 1: return getNode(Opcode, VT, Ops[0]); - case 2: return getNode(Opcode, VT, Ops[0], Ops[1]); - case 3: return getNode(Opcode, VT, Ops[0], Ops[1], Ops[2]); + case 0: return getNode(Opcode, DL, VT); + case 1: return getNode(Opcode, DL, VT, Ops[0]); + case 2: return getNode(Opcode, DL, VT, Ops[0], Ops[1]); + case 3: return getNode(Opcode, DL, VT, Ops[0], Ops[1], Ops[2]); default: break; } // Copy from an SDUse array into an SDValue array for use with // the regular getNode logic. SmallVector<SDValue, 8> NewOps(Ops, Ops + NumOps); - return getNode(Opcode, VT, &NewOps[0], NumOps); + return getNode(Opcode, DL, VT, &NewOps[0], NumOps); } SDValue SelectionDAG::getNode(unsigned Opcode, MVT VT, const SDValue *Ops, unsigned NumOps) { + return getNode(Opcode, DebugLoc::getUnknownLoc(), VT, Ops, NumOps); +} + +SDValue SelectionDAG::getNode(unsigned Opcode, DebugLoc DL, MVT VT, + const SDValue *Ops, unsigned NumOps) { switch (NumOps) { - case 0: return getNode(Opcode, VT); - case 1: return getNode(Opcode, VT, Ops[0]); - case 2: return getNode(Opcode, VT, Ops[0], Ops[1]); - case 3: return getNode(Opcode, VT, Ops[0], Ops[1], Ops[2]); + case 0: return getNode(Opcode, DL, VT); + case 1: return getNode(Opcode, DL, VT, Ops[0]); + case 2: return getNode(Opcode, DL, VT, Ops[0], Ops[1]); + case 3: return getNode(Opcode, DL, VT, Ops[0], Ops[1], Ops[2]); default: break; } @@ -3667,19 +3708,23 @@ SDValue SelectionDAG::getNode(unsigned Opcode, MVT VT, // Memoize nodes. SDNode *N; SDVTList VTs = getVTList(VT); + if (VT != MVT::Flag) { FoldingSetNodeID ID; AddNodeIDNode(ID, Opcode, VTs, Ops, NumOps); void *IP = 0; + if (SDNode *E = CSEMap.FindNodeOrInsertPos(ID, IP)) return SDValue(E, 0); + N = NodeAllocator.Allocate<SDNode>(); - new (N) SDNode(Opcode, VTs, Ops, NumOps); + new (N) SDNode(Opcode, DL, VTs, Ops, NumOps); CSEMap.InsertNode(N, IP); } else { N = NodeAllocator.Allocate<SDNode>(); - new (N) SDNode(Opcode, VTs, Ops, NumOps); + new (N) SDNode(Opcode, DL, VTs, Ops, NumOps); } + AllNodes.push_back(N); #ifndef NDEBUG VerifyNode(N); @@ -3690,22 +3735,39 @@ SDValue SelectionDAG::getNode(unsigned Opcode, MVT VT, SDValue SelectionDAG::getNode(unsigned Opcode, const std::vector<MVT> &ResultTys, const SDValue *Ops, unsigned NumOps) { - return getNode(Opcode, getNodeValueTypes(ResultTys), ResultTys.size(), + return getNode(Opcode, DebugLoc::getUnknownLoc(), ResultTys, Ops, NumOps); +} + +SDValue SelectionDAG::getNode(unsigned Opcode, DebugLoc DL, + const std::vector<MVT> &ResultTys, + const SDValue *Ops, unsigned NumOps) { + return getNode(Opcode, DL, getNodeValueTypes(ResultTys), ResultTys.size(), Ops, NumOps); } SDValue SelectionDAG::getNode(unsigned Opcode, const MVT *VTs, unsigned NumVTs, const SDValue *Ops, unsigned NumOps) { + return getNode(Opcode, DebugLoc::getUnknownLoc(), VTs, NumVTs, Ops, NumOps); +} + +SDValue SelectionDAG::getNode(unsigned Opcode, DebugLoc DL, + const MVT *VTs, unsigned NumVTs, + const SDValue *Ops, unsigned NumOps) { if (NumVTs == 1) - return getNode(Opcode, VTs[0], Ops, NumOps); - return getNode(Opcode, makeVTList(VTs, NumVTs), Ops, NumOps); + return getNode(Opcode, DL, VTs[0], Ops, NumOps); + return getNode(Opcode, DL, makeVTList(VTs, NumVTs), Ops, NumOps); } SDValue SelectionDAG::getNode(unsigned Opcode, SDVTList VTList, const SDValue *Ops, unsigned NumOps) { + return getNode(Opcode, DebugLoc::getUnknownLoc(), VTList, Ops, NumOps); +} + +SDValue SelectionDAG::getNode(unsigned Opcode, DebugLoc DL, SDVTList VTList, + const SDValue *Ops, unsigned NumOps) { if (VTList.NumVTs == 1) - return getNode(Opcode, VTList.VTs[0], Ops, NumOps); + return getNode(Opcode, DL, VTList.VTs[0], Ops, NumOps); switch (Opcode) { // FIXME: figure out how to safely handle things like @@ -3717,14 +3779,14 @@ SDValue SelectionDAG::getNode(unsigned Opcode, SDVTList VTList, case ISD::SHL_PARTS: if (N3.getOpcode() == ISD::SIGN_EXTEND_INREG && cast<VTSDNode>(N3.getOperand(1))->getVT() != MVT::i1) - return getNode(Opcode, VT, N1, N2, N3.getOperand(0)); + return getNode(Opcode, DL, VT, N1, N2, N3.getOperand(0)); else if (N3.getOpcode() == ISD::AND) if (ConstantSDNode *AndRHS = dyn_cast<ConstantSDNode>(N3.getOperand(1))) { // If the and is only masking out bits that cannot effect the shift, // eliminate the and. unsigned NumBits = VT.getSizeInBits()*2; if ((AndRHS->getValue() & (NumBits-1)) == NumBits-1) - return getNode(Opcode, VT, N1, N2, N3.getOperand(0)); + return getNode(Opcode, DL, VT, N1, N2, N3.getOperand(0)); } break; #endif @@ -3740,31 +3802,31 @@ SDValue SelectionDAG::getNode(unsigned Opcode, SDVTList VTList, return SDValue(E, 0); if (NumOps == 1) { N = NodeAllocator.Allocate<UnarySDNode>(); - new (N) UnarySDNode(Opcode, VTList, Ops[0]); + new (N) UnarySDNode(Opcode, DL, VTList, Ops[0]); } else if (NumOps == 2) { N = NodeAllocator.Allocate<BinarySDNode>(); - new (N) BinarySDNode(Opcode, VTList, Ops[0], Ops[1]); + new (N) BinarySDNode(Opcode, DL, VTList, Ops[0], Ops[1]); } else if (NumOps == 3) { N = NodeAllocator.Allocate<TernarySDNode>(); - new (N) TernarySDNode(Opcode, VTList, Ops[0], Ops[1], Ops[2]); + new (N) TernarySDNode(Opcode, DL, VTList, Ops[0], Ops[1], Ops[2]); } else { N = NodeAllocator.Allocate<SDNode>(); - new (N) SDNode(Opcode, VTList, Ops, NumOps); + new (N) SDNode(Opcode, DL, VTList, Ops, NumOps); } CSEMap.InsertNode(N, IP); } else { if (NumOps == 1) { N = NodeAllocator.Allocate<UnarySDNode>(); - new (N) UnarySDNode(Opcode, VTList, Ops[0]); + new (N) UnarySDNode(Opcode, DL, VTList, Ops[0]); } else if (NumOps == 2) { N = NodeAllocator.Allocate<BinarySDNode>(); - new (N) BinarySDNode(Opcode, VTList, Ops[0], Ops[1]); + new (N) BinarySDNode(Opcode, DL, VTList, Ops[0], Ops[1]); } else if (NumOps == 3) { N = NodeAllocator.Allocate<TernarySDNode>(); - new (N) TernarySDNode(Opcode, VTList, Ops[0], Ops[1], Ops[2]); + new (N) TernarySDNode(Opcode, DL, VTList, Ops[0], Ops[1], Ops[2]); } else { N = NodeAllocator.Allocate<SDNode>(); - new (N) SDNode(Opcode, VTList, Ops, NumOps); + new (N) SDNode(Opcode, DL, VTList, Ops, NumOps); } } AllNodes.push_back(N); @@ -3775,39 +3837,70 @@ SDValue SelectionDAG::getNode(unsigned Opcode, SDVTList VTList, } SDValue SelectionDAG::getNode(unsigned Opcode, SDVTList VTList) { - return getNode(Opcode, VTList, 0, 0); + return getNode(Opcode, DebugLoc::getUnknownLoc(), VTList); +} + +SDValue SelectionDAG::getNode(unsigned Opcode, DebugLoc DL, SDVTList VTList) { + return getNode(Opcode, DL, VTList, 0, 0); } SDValue SelectionDAG::getNode(unsigned Opcode, SDVTList VTList, - SDValue N1) { + SDValue N1) { + return getNode(Opcode, DebugLoc::getUnknownLoc(), VTList, N1); +} + +SDValue SelectionDAG::getNode(unsigned Opcode, DebugLoc DL, SDVTList VTList, + SDValue N1) { SDValue Ops[] = { N1 }; - return getNode(Opcode, VTList, Ops, 1); + return getNode(Opcode, DL, VTList, Ops, 1); } SDValue SelectionDAG::getNode(unsigned Opcode, SDVTList VTList, SDValue N1, SDValue N2) { + return getNode(Opcode, DebugLoc::getUnknownLoc(), VTList, N1, N2); +} + +SDValue SelectionDAG::getNode(unsigned Opcode, DebugLoc DL, SDVTList VTList, + SDValue N1, SDValue N2) { SDValue Ops[] = { N1, N2 }; - return getNode(Opcode, VTList, Ops, 2); + return getNode(Opcode, DL, VTList, Ops, 2); } SDValue SelectionDAG::getNode(unsigned Opcode, SDVTList VTList, SDValue N1, SDValue N2, SDValue N3) { + return getNode(Opcode, DebugLoc::getUnknownLoc(), VTList, N1, N2, N3); +} + +SDValue SelectionDAG::getNode(unsigned Opcode, DebugLoc DL, SDVTList VTList, + SDValue N1, SDValue N2, SDValue N3) { SDValue Ops[] = { N1, N2, N3 }; - return getNode(Opcode, VTList, Ops, 3); + return getNode(Opcode, DL, VTList, Ops, 3); } SDValue SelectionDAG::getNode(unsigned Opcode, SDVTList VTList, SDValue N1, SDValue N2, SDValue N3, SDValue N4) { + return getNode(Opcode, DebugLoc::getUnknownLoc(), VTList, N1, N2, N3, N4); +} + +SDValue SelectionDAG::getNode(unsigned Opcode, DebugLoc DL, SDVTList VTList, + SDValue N1, SDValue N2, SDValue N3, + SDValue N4) { SDValue Ops[] = { N1, N2, N3, N4 }; - return getNode(Opcode, VTList, Ops, 4); + return getNode(Opcode, DL, VTList, Ops, 4); } SDValue SelectionDAG::getNode(unsigned Opcode, SDVTList VTList, SDValue N1, SDValue N2, SDValue N3, SDValue N4, SDValue N5) { + return getNode(Opcode, DebugLoc::getUnknownLoc(), VTList, N1, N2, N3, N4, N5); +} + +SDValue SelectionDAG::getNode(unsigned Opcode, DebugLoc DL, SDVTList VTList, + SDValue N1, SDValue N2, SDValue N3, + SDValue N4, SDValue N5) { SDValue Ops[] = { N1, N2, N3, N4, N5 }; - return getNode(Opcode, VTList, Ops, 5); + return getNode(Opcode, DL, VTList, Ops, 5); } SDVTList SelectionDAG::getVTList(MVT VT) { |