summaryrefslogtreecommitdiff
path: root/utils
diff options
context:
space:
mode:
authorDan Gohman <gohman@apple.com>2009-01-16 21:30:55 +0000
committerDan Gohman <gohman@apple.com>2009-01-16 21:30:55 +0000
commitfebf71db2db61b8c7bac2ddffba8f1d5d1a95cb9 (patch)
treeacaea8ddb38f832f9a997c1b165cbc5d66db7438 /utils
parentdf874eed5695420c71bf55cc6a11725631ec2b88 (diff)
downloadllvm-febf71db2db61b8c7bac2ddffba8f1d5d1a95cb9.tar.gz
llvm-febf71db2db61b8c7bac2ddffba8f1d5d1a95cb9.tar.bz2
llvm-febf71db2db61b8c7bac2ddffba8f1d5d1a95cb9.tar.xz
Avoid triggering an assertion failure when an instruction pattern
is a leaf node. Patch by Brandner! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62361 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'utils')
-rw-r--r--utils/TableGen/DAGISelEmitter.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/utils/TableGen/DAGISelEmitter.cpp b/utils/TableGen/DAGISelEmitter.cpp
index ace1d7646f..9f028ed495 100644
--- a/utils/TableGen/DAGISelEmitter.cpp
+++ b/utils/TableGen/DAGISelEmitter.cpp
@@ -925,7 +925,8 @@ public:
TreePatternNode *InstPatNode =
isRoot ? (InstPat ? InstPat->getTree(0) : Pattern)
: (InstPat ? InstPat->getTree(0) : NULL);
- if (InstPatNode && InstPatNode->getOperator()->getName() == "set") {
+ if (InstPatNode && !InstPatNode->isLeaf() &&
+ InstPatNode->getOperator()->getName() == "set") {
InstPatNode = InstPatNode->getChild(InstPatNode->getNumChildren()-1);
}
bool IsVariadic = isRoot && II.isVariadic;