aboutsummaryrefslogtreecommitdiff
path: root/llvm/utils/TableGen/DAGISelMatcher.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/utils/TableGen/DAGISelMatcher.cpp')
-rw-r--r--llvm/utils/TableGen/DAGISelMatcher.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/llvm/utils/TableGen/DAGISelMatcher.cpp b/llvm/utils/TableGen/DAGISelMatcher.cpp
index bebd205ad58f..e436a931a9f5 100644
--- a/llvm/utils/TableGen/DAGISelMatcher.cpp
+++ b/llvm/utils/TableGen/DAGISelMatcher.cpp
@@ -421,3 +421,15 @@ bool CheckImmAllZerosVMatcher::isContradictoryImpl(const Matcher *M) const {
// AllOnes is contradictory.
return isa<CheckImmAllOnesVMatcher>(M);
}
+
+bool CheckCondCodeMatcher::isContradictoryImpl(const Matcher *M) const {
+ if (const auto *CCCM = dyn_cast<CheckCondCodeMatcher>(M))
+ return CCCM->getCondCodeName() != getCondCodeName();
+ return false;
+}
+
+bool CheckChild2CondCodeMatcher::isContradictoryImpl(const Matcher *M) const {
+ if (const auto *CCCCM = dyn_cast<CheckChild2CondCodeMatcher>(M))
+ return CCCCM->getCondCodeName() != getCondCodeName();
+ return false;
+}