teach tblgen to be smart enough to handle tglobaladdr nodes
[oota-llvm.git] / utils / TableGen / DAGISelEmitter.cpp
index 092fff83a923407c8161d489e59a073dd6b76dcf..bdae7615f9bd9d6fcdac6d299e6aea593dd48afa 100644 (file)
@@ -1668,6 +1668,8 @@ CodeGenPatternResult(TreePatternNode *N, unsigned &Ctr,
       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";
     }