aboutsummaryrefslogtreecommitdiffstats
path: root/utils
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2005-11-17 07:39:45 +0000
committerChris Lattner <sabre@nondot.org>2005-11-17 07:39:45 +0000
commitb120a64e137b8e29d281793a4f119ba8ace03bf6 (patch)
tree3ed6a2f8107bb1764039261ef27b782d5d438f17 /utils
parent860e8862c1fbd3b261da4a64a8c0096f9f373681 (diff)
downloadexternal_llvm-b120a64e137b8e29d281793a4f119ba8ace03bf6.zip
external_llvm-b120a64e137b8e29d281793a4f119ba8ace03bf6.tar.gz
external_llvm-b120a64e137b8e29d281793a4f119ba8ace03bf6.tar.bz2
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
Diffstat (limited to 'utils')
-rw-r--r--utils/TableGen/DAGISelEmitter.cpp2
1 files changed, 2 insertions, 0 deletions
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 @@ 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";
}