TableGen use PrintWarning rather than fprintf(stderr,...) for warnings.
authorJim Grosbach <grosbach@apple.com>
Wed, 18 Apr 2012 17:46:41 +0000 (17:46 +0000)
committerJim Grosbach <grosbach@apple.com>
Wed, 18 Apr 2012 17:46:41 +0000 (17:46 +0000)
That way we get source line number information from the diagnostics.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155014 91177308-0d34-0410-b5e6-96231b3b80d8

utils/TableGen/CodeGenDAGPatterns.cpp

index d2ddf232b32a8f49a7dc8515a4edd22bb0d75c7a..665a5f113a3537fbf24a800f4d3a08b0e62941eb 100644 (file)
@@ -17,6 +17,7 @@
 #include "llvm/TableGen/Record.h"
 #include "llvm/ADT/StringExtras.h"
 #include "llvm/ADT/STLExtras.h"
+#include "llvm/ADT/Twine.h"
 #include "llvm/Support/Debug.h"
 #include "llvm/Support/ErrorHandling.h"
 #include <algorithm>
@@ -2483,10 +2484,9 @@ static void InferFromPattern(const CodeGenInstruction &Inst,
     // If we decided that this is a store from the pattern, then the .td file
     // entry is redundant.
     if (MayStore)
-      fprintf(stderr,
-              "Warning: mayStore flag explicitly set on instruction '%s'"
-              " but flag already inferred from pattern.\n",
-              Inst.TheDef->getName().c_str());
+      PrintWarning(Inst.TheDef->getLoc(),
+                   Twine("Warning: mayStore flag explicitly set on ") +
+                   "instruction, but flag already inferred from pattern.\n");
     MayStore = true;
   }
 
@@ -2494,24 +2494,25 @@ static void InferFromPattern(const CodeGenInstruction &Inst,
     // If we decided that this is a load from the pattern, then the .td file
     // entry is redundant.
     if (MayLoad)
-      fprintf(stderr,
-              "Warning: mayLoad flag explicitly set on instruction '%s'"
-              " but flag already inferred from pattern.\n",
-              Inst.TheDef->getName().c_str());
+      PrintWarning(Inst.TheDef->getLoc(),
+                   Twine("Warning: mayLoad flag explicitly set on ") +
+                   "instruction, but flag already inferred from pattern.\n");
     MayLoad = true;
   }
 
   if (Inst.neverHasSideEffects) {
     if (HadPattern)
-      fprintf(stderr, "Warning: neverHasSideEffects set on instruction '%s' "
-              "which already has a pattern\n", Inst.TheDef->getName().c_str());
+      PrintWarning(Inst.TheDef->getLoc(),
+                   Twine("Warning: neverHasSideEffects flag explicitly set on ") +
+                   "instruction, but flag already inferred from pattern.\n");
     HasSideEffects = false;
   }
 
   if (Inst.hasSideEffects) {
     if (HasSideEffects)
-      fprintf(stderr, "Warning: hasSideEffects set on instruction '%s' "
-              "which already inferred this.\n", Inst.TheDef->getName().c_str());
+      PrintWarning(Inst.TheDef->getLoc(),
+                   Twine("Warning: hasSideEffects flag explicitly set on ") +
+                   "instruction, but flag already inferred from pattern.\n");
     HasSideEffects = true;
   }