diff options
author | Chris Lattner <sabre@nondot.org> | 2010-02-27 08:19:47 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2010-02-27 08:19:47 +0000 |
commit | 255584aaa6ccc4333f0493daa03cf2db97ef42f9 (patch) | |
tree | 9bcd12db53c372dfe9f96bb43307146942c01850 | |
parent | 4446c3f4d03bce8feaed683590980479b89f744b (diff) | |
download | external_llvm-255584aaa6ccc4333f0493daa03cf2db97ef42f9.zip external_llvm-255584aaa6ccc4333f0493daa03cf2db97ef42f9.tar.gz external_llvm-255584aaa6ccc4333f0493daa03cf2db97ef42f9.tar.bz2 |
add another case from the ppc backend. This is obviously a huge and
dissatisfying hack. TODO: Improve it. :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97317 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | utils/TableGen/DAGISelMatcher.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/utils/TableGen/DAGISelMatcher.cpp b/utils/TableGen/DAGISelMatcher.cpp index 601ac87..d8aee08 100644 --- a/utils/TableGen/DAGISelMatcher.cpp +++ b/utils/TableGen/DAGISelMatcher.cpp @@ -271,7 +271,10 @@ bool CheckOpcodeMatcher::isContradictoryImpl(const Matcher *M) const { // This is a special common case we see a lot in the X86 backend, we know that // ISD::STORE nodes can't have non-void type. if (const CheckTypeMatcher *CT = dyn_cast<CheckTypeMatcher>(M)) - return getOpcodeName() == "ISD::STORE" && CT->getType() != MVT::isVoid; + // FIXME: This sucks, get void nodes from type constraints. + return (getOpcodeName() == "ISD::STORE" || + getOpcodeName() == "ISD::INTRINSIC_VOID") && + CT->getType() != MVT::isVoid; return false; } |