summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBill Wendling <isanbard@gmail.com>2009-01-29 05:27:31 +0000
committerBill Wendling <isanbard@gmail.com>2009-01-29 05:27:31 +0000
commit6e1bb38fb8dd64ece28ea5779a8bbf9b5ff7fb96 (patch)
tree585e4c5e20c1ce37ad92d4dd766d8c91aac05065
parentcee3e7cb6830664a0b228211923589b5d72c93d4 (diff)
downloadllvm-6e1bb38fb8dd64ece28ea5779a8bbf9b5ff7fb96.tar.gz
llvm-6e1bb38fb8dd64ece28ea5779a8bbf9b5ff7fb96.tar.bz2
llvm-6e1bb38fb8dd64ece28ea5779a8bbf9b5ff7fb96.tar.xz
- Add DebugLoc to getTargetNode().
- Modify TableGen to add the DebugLoc when calling getTargetNode. (The light-weight wrappers are only temporary. The non-DebugLoc version will be removed once the whole debug info stuff is finished with.) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63273 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--include/llvm/CodeGen/SelectionDAG.h56
-rw-r--r--lib/CodeGen/SelectionDAG/SelectionDAG.cpp173
-rw-r--r--utils/TableGen/DAGISelEmitter.cpp3
3 files changed, 97 insertions, 135 deletions
diff --git a/include/llvm/CodeGen/SelectionDAG.h b/include/llvm/CodeGen/SelectionDAG.h
index a06158a39b..86487cf4a4 100644
--- a/include/llvm/CodeGen/SelectionDAG.h
+++ b/include/llvm/CodeGen/SelectionDAG.h
@@ -699,72 +699,60 @@ public:
/// node of the specified opcode and operands, it returns that node instead of
/// the current one.
SDNode *getTargetNode(unsigned Opcode, MVT VT);
- SDNode *getTargetNode(unsigned Opcode, DebugLoc dl, MVT VT);
-
+ SDNode *getTargetNode(unsigned Opcode, DebugLoc DL, MVT VT);
SDNode *getTargetNode(unsigned Opcode, MVT VT, SDValue Op1);
- SDNode *getTargetNode(unsigned Opcode, DebugLoc dl, MVT VT, SDValue Op1);
-
+ SDNode *getTargetNode(unsigned Opcode, DebugLoc DL, MVT VT, SDValue Op1);
SDNode *getTargetNode(unsigned Opcode, MVT VT, SDValue Op1, SDValue Op2);
- SDNode *getTargetNode(unsigned Opcode, DebugLoc dl, MVT VT, SDValue Op1,
- SDValue Op2);
-
+ SDNode *getTargetNode(unsigned Opcode, DebugLoc DL, MVT VT,
+ SDValue Op1, SDValue Op2);
SDNode *getTargetNode(unsigned Opcode, MVT VT,
SDValue Op1, SDValue Op2, SDValue Op3);
- SDNode *getTargetNode(unsigned Opcode, DebugLoc dl, MVT VT,
+ SDNode *getTargetNode(unsigned Opcode, DebugLoc DL, MVT VT,
SDValue Op1, SDValue Op2, SDValue Op3);
-
SDNode *getTargetNode(unsigned Opcode, MVT VT,
const SDValue *Ops, unsigned NumOps);
- SDNode *getTargetNode(unsigned Opcode, DebugLoc dl, MVT VT,
+ SDNode *getTargetNode(unsigned Opcode, DebugLoc DL, MVT VT,
const SDValue *Ops, unsigned NumOps);
-
SDNode *getTargetNode(unsigned Opcode, MVT VT1, MVT VT2);
- SDNode *getTargetNode(unsigned Opcode, DebugLoc dl, MVT VT1, MVT VT2);
-
+ SDNode *getTargetNode(unsigned Opcode, DebugLoc DL, MVT VT1, MVT VT2);
SDNode *getTargetNode(unsigned Opcode, MVT VT1, MVT VT2, SDValue Op1);
- SDNode *getTargetNode(unsigned Opcode, DebugLoc dl, MVT VT1, MVT VT2,
- SDValue Op1);
-
+ SDNode *getTargetNode(unsigned Opcode, DebugLoc DL, MVT VT1,
+ MVT VT2, SDValue Op1);
SDNode *getTargetNode(unsigned Opcode, MVT VT1,
MVT VT2, SDValue Op1, SDValue Op2);
- SDNode *getTargetNode(unsigned Opcode, DebugLoc dl, MVT VT1,
+ SDNode *getTargetNode(unsigned Opcode, DebugLoc DL, MVT VT1,
MVT VT2, SDValue Op1, SDValue Op2);
-
SDNode *getTargetNode(unsigned Opcode, MVT VT1,
MVT VT2, SDValue Op1, SDValue Op2, SDValue Op3);
- SDNode *getTargetNode(unsigned Opcode, DebugLoc dl, MVT VT1,
+ SDNode *getTargetNode(unsigned Opcode, DebugLoc DL, MVT VT1,
MVT VT2, SDValue Op1, SDValue Op2, SDValue Op3);
-
SDNode *getTargetNode(unsigned Opcode, MVT VT1, MVT VT2,
const SDValue *Ops, unsigned NumOps);
- SDNode *getTargetNode(unsigned Opcode, DebugLoc dl, MVT VT1, MVT VT2,
+ SDNode *getTargetNode(unsigned Opcode, DebugLoc DL, MVT VT1, MVT VT2,
const SDValue *Ops, unsigned NumOps);
-
SDNode *getTargetNode(unsigned Opcode, MVT VT1, MVT VT2, MVT VT3,
SDValue Op1, SDValue Op2);
- SDNode *getTargetNode(unsigned Opcode, DebugLoc dl, MVT VT1, MVT VT2, MVT VT3,
+ SDNode *getTargetNode(unsigned Opcode, DebugLoc DL,
+ MVT VT1, MVT VT2, MVT VT3,
SDValue Op1, SDValue Op2);
-
SDNode *getTargetNode(unsigned Opcode, MVT VT1, MVT VT2, MVT VT3,
SDValue Op1, SDValue Op2, SDValue Op3);
- SDNode *getTargetNode(unsigned Opcode, DebugLoc dl, MVT VT1, MVT VT2, MVT VT3,
+ SDNode *getTargetNode(unsigned Opcode, DebugLoc DL, MVT VT1, MVT VT2, MVT VT3,
SDValue Op1, SDValue Op2, SDValue Op3);
-
SDNode *getTargetNode(unsigned Opcode, MVT VT1, MVT VT2, MVT VT3,
const SDValue *Ops, unsigned NumOps);
- SDNode *getTargetNode(unsigned Opcode, DebugLoc dl, MVT VT1, MVT VT2, MVT VT3,
+ SDNode *getTargetNode(unsigned Opcode, DebugLoc DL, MVT VT1, MVT VT2, MVT VT3,
const SDValue *Ops, unsigned NumOps);
-
SDNode *getTargetNode(unsigned Opcode, MVT VT1, MVT VT2, MVT VT3, MVT VT4,
const SDValue *Ops, unsigned NumOps);
- SDNode *getTargetNode(unsigned Opcode, DebugLoc dl, MVT VT1, MVT VT2, MVT VT3,
- MVT VT4, const SDValue *Ops, unsigned NumOps);
-
+ SDNode *getTargetNode(unsigned Opcode, DebugLoc DL,
+ MVT VT1, MVT VT2, MVT VT3, MVT VT4,
+ const SDValue *Ops, unsigned NumOps);
SDNode *getTargetNode(unsigned Opcode, const std::vector<MVT> &ResultTys,
const SDValue *Ops, unsigned NumOps);
- SDNode *getTargetNode(unsigned Opcode, DebugLoc dl,
- const std::vector<MVT> &ResultTys, const SDValue *Ops,
- unsigned NumOps);
+ SDNode *getTargetNode(unsigned Opcode, DebugLoc DL,
+ const std::vector<MVT> &ResultTys,
+ const SDValue *Ops, unsigned NumOps);
/// getNodeIfExists - Get the specified node if it's already available, or
/// else return NULL.
diff --git a/lib/CodeGen/SelectionDAG/SelectionDAG.cpp b/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
index ab2c832300..5235188862 100644
--- a/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
+++ b/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
@@ -4747,169 +4747,142 @@ SDNode *SelectionDAG::MorphNodeTo(SDNode *N, unsigned Opc,
/// node of the specified opcode and operands, it returns that node instead of
/// the current one.
SDNode *SelectionDAG::getTargetNode(unsigned Opcode, MVT VT) {
- return getNode(~Opcode, VT).getNode();
+ return getTargetNode(Opcode, DebugLoc::getUnknownLoc(), VT);
}
-SDNode *SelectionDAG::getTargetNode(unsigned Opcode, DebugLoc dl, MVT VT) {
- return getNode(~Opcode, dl, VT).getNode();
+SDNode *SelectionDAG::getTargetNode(unsigned Opcode, DebugLoc DL, MVT VT) {
+ return getNode(~Opcode, DL, VT).getNode();
}
-
SDNode *SelectionDAG::getTargetNode(unsigned Opcode, MVT VT, SDValue Op1) {
- return getNode(~Opcode, VT, Op1).getNode();
+ return getTargetNode(Opcode, DebugLoc::getUnknownLoc(), VT, Op1);
}
-SDNode *SelectionDAG::getTargetNode(unsigned Opcode, DebugLoc dl, MVT VT,
- SDValue Op1) {
- return getNode(~Opcode, dl, VT, Op1).getNode();
+SDNode *SelectionDAG::getTargetNode(unsigned Opcode, DebugLoc DL,
+ MVT VT, SDValue Op1) {
+ return getNode(~Opcode, DL, VT, Op1).getNode();
}
-
SDNode *SelectionDAG::getTargetNode(unsigned Opcode, MVT VT,
SDValue Op1, SDValue Op2) {
- return getNode(~Opcode, VT, Op1, Op2).getNode();
+ return getTargetNode(Opcode, DebugLoc::getUnknownLoc(), VT, Op1, Op2);
}
-SDNode *SelectionDAG::getTargetNode(unsigned Opcode, DebugLoc dl, MVT VT,
+SDNode *SelectionDAG::getTargetNode(unsigned Opcode, DebugLoc DL, MVT VT,
SDValue Op1, SDValue Op2) {
- return getNode(~Opcode, dl, VT, Op1, Op2).getNode();
+ return getNode(~Opcode, DL, VT, Op1, Op2).getNode();
}
-
SDNode *SelectionDAG::getTargetNode(unsigned Opcode, MVT VT,
- SDValue Op1, SDValue Op2,
- SDValue Op3) {
- return getNode(~Opcode, VT, Op1, Op2, Op3).getNode();
+ SDValue Op1, SDValue Op2, SDValue Op3) {
+ return getTargetNode(Opcode, DebugLoc::getUnknownLoc(), VT, Op1, Op2, Op3);
}
-SDNode *SelectionDAG::getTargetNode(unsigned Opcode, DebugLoc dl, MVT VT,
- SDValue Op1, SDValue Op2,
- SDValue Op3) {
- return getNode(~Opcode, dl, VT, Op1, Op2, Op3).getNode();
+SDNode *SelectionDAG::getTargetNode(unsigned Opcode, DebugLoc DL, MVT VT,
+ SDValue Op1, SDValue Op2, SDValue Op3) {
+ return getNode(~Opcode, DL, VT, Op1, Op2, Op3).getNode();
}
-
SDNode *SelectionDAG::getTargetNode(unsigned Opcode, MVT VT,
const SDValue *Ops, unsigned NumOps) {
- return getNode(~Opcode, VT, Ops, NumOps).getNode();
+ return getTargetNode(Opcode, DebugLoc::getUnknownLoc(), VT, Ops, NumOps);
}
-SDNode *SelectionDAG::getTargetNode(unsigned Opcode, DebugLoc dl, MVT VT,
+SDNode *SelectionDAG::getTargetNode(unsigned Opcode, DebugLoc DL, MVT VT,
const SDValue *Ops, unsigned NumOps) {
- return getNode(~Opcode, dl, VT, Ops, NumOps).getNode();
+ return getNode(~Opcode, DL, VT, Ops, NumOps).getNode();
}
-
-SDNode *SelectionDAG::getTargetNode(unsigned Opcode, MVT VT1, MVT VT2) {
- const MVT *VTs = getNodeValueTypes(VT1, VT2);
- SDValue Op;
- return getNode(~Opcode, VTs, 2, &Op, 0).getNode();
+SDNode *SelectionDAG::getTargetNode(unsigned Opcode,
+ MVT VT1, MVT VT2) {
+ return getTargetNode(Opcode, DebugLoc::getUnknownLoc(), VT1, VT2);
}
-SDNode *SelectionDAG::getTargetNode(unsigned Opcode, DebugLoc dl,
+SDNode *SelectionDAG::getTargetNode(unsigned Opcode, DebugLoc DL,
MVT VT1, MVT VT2) {
const MVT *VTs = getNodeValueTypes(VT1, VT2);
SDValue Op;
- return getNode(~Opcode, dl, VTs, 2, &Op, 0).getNode();
+ return getNode(~Opcode, DL, VTs, 2, &Op, 0).getNode();
}
-
SDNode *SelectionDAG::getTargetNode(unsigned Opcode, MVT VT1,
MVT VT2, SDValue Op1) {
- const MVT *VTs = getNodeValueTypes(VT1, VT2);
- return getNode(~Opcode, VTs, 2, &Op1, 1).getNode();
+ return getTargetNode(Opcode, DebugLoc::getUnknownLoc(), VT1, VT2, Op1);
}
-SDNode *SelectionDAG::getTargetNode(unsigned Opcode, DebugLoc dl, MVT VT1,
+SDNode *SelectionDAG::getTargetNode(unsigned Opcode, DebugLoc DL, MVT VT1,
MVT VT2, SDValue Op1) {
const MVT *VTs = getNodeValueTypes(VT1, VT2);
- return getNode(~Opcode, dl, VTs, 2, &Op1, 1).getNode();
+ return getNode(~Opcode, DL, VTs, 2, &Op1, 1).getNode();
}
-
SDNode *SelectionDAG::getTargetNode(unsigned Opcode, MVT VT1,
- MVT VT2, SDValue Op1,
- SDValue Op2) {
- const MVT *VTs = getNodeValueTypes(VT1, VT2);
- SDValue Ops[] = { Op1, Op2 };
- return getNode(~Opcode, VTs, 2, Ops, 2).getNode();
+ MVT VT2, SDValue Op1, SDValue Op2) {
+ return getTargetNode(Opcode, DebugLoc::getUnknownLoc(), VT1, VT2, Op1, Op2);
}
-SDNode *SelectionDAG::getTargetNode(unsigned Opcode, DebugLoc dl, MVT VT1,
- MVT VT2, SDValue Op1,
- SDValue Op2) {
+SDNode *SelectionDAG::getTargetNode(unsigned Opcode, DebugLoc DL, MVT VT1,
+ MVT VT2, SDValue Op1, SDValue Op2) {
const MVT *VTs = getNodeValueTypes(VT1, VT2);
SDValue Ops[] = { Op1, Op2 };
- return getNode(~Opcode, dl, VTs, 2, Ops, 2).getNode();
+ return getNode(~Opcode, DL, VTs, 2, Ops, 2).getNode();
}
-
SDNode *SelectionDAG::getTargetNode(unsigned Opcode, MVT VT1,
MVT VT2, SDValue Op1,
SDValue Op2, SDValue Op3) {
- const MVT *VTs = getNodeValueTypes(VT1, VT2);
- SDValue Ops[] = { Op1, Op2, Op3 };
- return getNode(~Opcode, VTs, 2, Ops, 3).getNode();
+ return getTargetNode(Opcode, DebugLoc::getUnknownLoc(), VT1, VT2,
+ Op1, Op2, Op3);
}
-SDNode *SelectionDAG::getTargetNode(unsigned Opcode, DebugLoc dl, MVT VT1,
+SDNode *SelectionDAG::getTargetNode(unsigned Opcode, DebugLoc DL, MVT VT1,
MVT VT2, SDValue Op1,
SDValue Op2, SDValue Op3) {
const MVT *VTs = getNodeValueTypes(VT1, VT2);
SDValue Ops[] = { Op1, Op2, Op3 };
- return getNode(~Opcode, dl, VTs, 2, Ops, 3).getNode();
+ return getNode(~Opcode, DL, VTs, 2, Ops, 3).getNode();
}
-
-SDNode *SelectionDAG::getTargetNode(unsigned Opcode, MVT VT1, MVT VT2,
+SDNode *SelectionDAG::getTargetNode(unsigned Opcode,
+ MVT VT1, MVT VT2,
const SDValue *Ops, unsigned NumOps) {
- const MVT *VTs = getNodeValueTypes(VT1, VT2);
- return getNode(~Opcode, VTs, 2, Ops, NumOps).getNode();
+ return getTargetNode(Opcode, DebugLoc::getUnknownLoc(), VT1, VT2,
+ Ops, NumOps);
}
-SDNode *SelectionDAG::getTargetNode(unsigned Opcode, DebugLoc dl,
+SDNode *SelectionDAG::getTargetNode(unsigned Opcode, DebugLoc DL,
MVT VT1, MVT VT2,
const SDValue *Ops, unsigned NumOps) {
const MVT *VTs = getNodeValueTypes(VT1, VT2);
- return getNode(~Opcode, dl, VTs, 2, Ops, NumOps).getNode();
+ return getNode(~Opcode, DL, VTs, 2, Ops, NumOps).getNode();
}
-
-SDNode *SelectionDAG::getTargetNode(unsigned Opcode, MVT VT1, MVT VT2, MVT VT3,
+SDNode *SelectionDAG::getTargetNode(unsigned Opcode,
+ MVT VT1, MVT VT2, MVT VT3,
SDValue Op1, SDValue Op2) {
- const MVT *VTs = getNodeValueTypes(VT1, VT2, VT3);
- SDValue Ops[] = { Op1, Op2 };
- return getNode(~Opcode, VTs, 3, Ops, 2).getNode();
+ return getTargetNode(Opcode, DebugLoc::getUnknownLoc(), VT1, VT2, VT3,
+ Op1, Op2);
}
-SDNode *SelectionDAG::getTargetNode(unsigned Opcode, DebugLoc dl,
+SDNode *SelectionDAG::getTargetNode(unsigned Opcode, DebugLoc DL,
MVT VT1, MVT VT2, MVT VT3,
SDValue Op1, SDValue Op2) {
const MVT *VTs = getNodeValueTypes(VT1, VT2, VT3);
SDValue Ops[] = { Op1, Op2 };
- return getNode(~Opcode, dl, VTs, 3, Ops, 2).getNode();
+ return getNode(~Opcode, DL, VTs, 3, Ops, 2).getNode();
}
-
-SDNode *SelectionDAG::getTargetNode(unsigned Opcode, MVT VT1, MVT VT2, MVT VT3,
- SDValue Op1, SDValue Op2,
- SDValue Op3) {
- const MVT *VTs = getNodeValueTypes(VT1, VT2, VT3);
- SDValue Ops[] = { Op1, Op2, Op3 };
- return getNode(~Opcode, VTs, 3, Ops, 3).getNode();
+SDNode *SelectionDAG::getTargetNode(unsigned Opcode,
+ MVT VT1, MVT VT2, MVT VT3,
+ SDValue Op1, SDValue Op2, SDValue Op3) {
+ return getTargetNode(Opcode, DebugLoc::getUnknownLoc(), VT1, VT2, VT3,
+ Op1, Op2, Op3);
}
-SDNode *SelectionDAG::getTargetNode(unsigned Opcode, DebugLoc dl,
+SDNode *SelectionDAG::getTargetNode(unsigned Opcode, DebugLoc DL,
MVT VT1, MVT VT2, MVT VT3,
- SDValue Op1, SDValue Op2,
- SDValue Op3) {
+ SDValue Op1, SDValue Op2, SDValue Op3) {
const MVT *VTs = getNodeValueTypes(VT1, VT2, VT3);
SDValue Ops[] = { Op1, Op2, Op3 };
- return getNode(~Opcode, dl, VTs, 3, Ops, 3).getNode();
+ return getNode(~Opcode, DL, VTs, 3, Ops, 3).getNode();
}
-
-SDNode *SelectionDAG::getTargetNode(unsigned Opcode, MVT VT1, MVT VT2, MVT VT3,
+SDNode *SelectionDAG::getTargetNode(unsigned Opcode,
+ MVT VT1, MVT VT2, MVT VT3,
const SDValue *Ops, unsigned NumOps) {
- const MVT *VTs = getNodeValueTypes(VT1, VT2, VT3);
- return getNode(~Opcode, VTs, 3, Ops, NumOps).getNode();
+ return getTargetNode(Opcode, DebugLoc::getUnknownLoc(), VT1, VT2, VT3,
+ Ops, NumOps);
}
-SDNode *SelectionDAG::getTargetNode(unsigned Opcode, DebugLoc dl,
+SDNode *SelectionDAG::getTargetNode(unsigned Opcode, DebugLoc DL,
MVT VT1, MVT VT2, MVT VT3,
const SDValue *Ops, unsigned NumOps) {
const MVT *VTs = getNodeValueTypes(VT1, VT2, VT3);
- return getNode(~Opcode, VTs, 3, Ops, NumOps).getNode();
+ return getNode(~Opcode, DL, VTs, 3, Ops, NumOps).getNode();
}
-
-SDNode *SelectionDAG::getTargetNode(unsigned Opcode, MVT VT1,
- MVT VT2, MVT VT3, MVT VT4,
+SDNode *SelectionDAG::getTargetNode(unsigned Opcode,
+ MVT VT1, MVT VT2, MVT VT3, MVT VT4,
const SDValue *Ops, unsigned NumOps) {
- std::vector<MVT> VTList;
- VTList.push_back(VT1);
- VTList.push_back(VT2);
- VTList.push_back(VT3);
- VTList.push_back(VT4);
- const MVT *VTs = getNodeValueTypes(VTList);
- return getNode(~Opcode, VTs, 4, Ops, NumOps).getNode();
+ return getTargetNode(Opcode, DebugLoc::getUnknownLoc(),
+ VT1, VT2, VT3, VT4, Ops, NumOps);
}
-SDNode *SelectionDAG::getTargetNode(unsigned Opcode, DebugLoc dl, MVT VT1,
- MVT VT2, MVT VT3, MVT VT4,
+SDNode *SelectionDAG::getTargetNode(unsigned Opcode, DebugLoc DL,
+ MVT VT1, MVT VT2, MVT VT3, MVT VT4,
const SDValue *Ops, unsigned NumOps) {
std::vector<MVT> VTList;
VTList.push_back(VT1);
@@ -4917,21 +4890,19 @@ SDNode *SelectionDAG::getTargetNode(unsigned Opcode, DebugLoc dl, MVT VT1,
VTList.push_back(VT3);
VTList.push_back(VT4);
const MVT *VTs = getNodeValueTypes(VTList);
- return getNode(~Opcode, dl, VTs, 4, Ops, NumOps).getNode();
+ return getNode(~Opcode, DL, VTs, 4, Ops, NumOps).getNode();
}
-
SDNode *SelectionDAG::getTargetNode(unsigned Opcode,
const std::vector<MVT> &ResultTys,
const SDValue *Ops, unsigned NumOps) {
- const MVT *VTs = getNodeValueTypes(ResultTys);
- return getNode(~Opcode, VTs, ResultTys.size(),
- Ops, NumOps).getNode();
+ return getTargetNode(Opcode, DebugLoc::getUnknownLoc(),
+ ResultTys, Ops, NumOps);
}
-SDNode *SelectionDAG::getTargetNode(unsigned Opcode, DebugLoc dl,
+SDNode *SelectionDAG::getTargetNode(unsigned Opcode, DebugLoc DL,
const std::vector<MVT> &ResultTys,
const SDValue *Ops, unsigned NumOps) {
const MVT *VTs = getNodeValueTypes(ResultTys);
- return getNode(~Opcode, dl, VTs, ResultTys.size(),
+ return getNode(~Opcode, DL, VTs, ResultTys.size(),
Ops, NumOps).getNode();
}
diff --git a/utils/TableGen/DAGISelEmitter.cpp b/utils/TableGen/DAGISelEmitter.cpp
index d6bcce2703..ace15e5180 100644
--- a/utils/TableGen/DAGISelEmitter.cpp
+++ b/utils/TableGen/DAGISelEmitter.cpp
@@ -1059,6 +1059,9 @@ public:
std::string Code = "Opc" + utostr(OpcNo);
+ if (!isRoot || (InputHasChain && !NodeHasChain))
+ Code += ", N.getDebugLoc()";
+
emitOpcode(II.Namespace + "::" + II.TheDef->getName());
// Output order: results, chain, flags