teach tblgen to be smart enough to handle tglobaladdr nodes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24391 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/utils/TableGen/DAGISelEmitter.cpp b/utils/TableGen/DAGISelEmitter.cpp
index 092fff8..bdae761 100644
--- a/utils/TableGen/DAGISelEmitter.cpp
+++ b/utils/TableGen/DAGISelEmitter.cpp
@@ -1668,6 +1668,8 @@
OS << ResNo << "C = cast<ConstantSDNode>(" << Val << ")->getValue();\n";
OS << " SDOperand Tmp" << ResNo << " = CurDAG->getTargetConstant(Tmp"
<< ResNo << "C, MVT::" << getEnumName(N->getType()) << ");\n";
+ } else if (!N->isLeaf() && N->getOperator()->getName() == "tglobaladdr") {
+ OS << " SDOperand Tmp" << ResNo << " = " << Val << ";\n";
} else {
OS << " SDOperand Tmp" << ResNo << " = Select(" << Val << ");\n";
}