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";
     }