Soften the pattern-can-never-match error in TableGen into a warning. This pattern...
[oota-llvm.git] / utils / TableGen / CodeGenDAGPatterns.cpp
index 443a6622adff9beb6b964d60376bd061b621ebb8..c91ec95e2e56407bbf1536d08c828ee9f1af389b 100644 (file)
@@ -2800,8 +2800,11 @@ void CodeGenDAGPatterns::AddPatternToMatch(const TreePattern *Pattern,
                                            const PatternToMatch &PTM) {
   // Do some sanity checking on the pattern we're about to match.
   std::string Reason;
-  if (!PTM.getSrcPattern()->canPatternMatch(Reason, *this))
-    Pattern->error("Pattern can never match: " + Reason);
+  if (!PTM.getSrcPattern()->canPatternMatch(Reason, *this)) {
+    PrintWarning(Pattern->getRecord()->getLoc(),
+      Twine("Pattern can never match: ") + Reason);
+    return;
+  }
 
   // If the source pattern's root is a complex pattern, that complex pattern
   // must specify the nodes it can potentially match.