[llvm-commits] [llvm] r91444 - in /llvm/trunk/lib/Analysis: DbgInfoPrinter.cpp ValueTracking.cpp

Chris Lattner sabre at nondot.org
Tue Dec 15 11:34:21 PST 2009


Author: lattner
Date: Tue Dec 15 13:34:20 2009
New Revision: 91444

URL: http://llvm.org/viewvc/llvm-project?rev=91444&view=rev
Log:
Fix GetConstantStringInfo to not look into MDString (it works on 
real data, not metadata) and fix DbgInfoPrinter to not abuse
GetConstantStringInfo.

Modified:
    llvm/trunk/lib/Analysis/DbgInfoPrinter.cpp
    llvm/trunk/lib/Analysis/ValueTracking.cpp

Modified: llvm/trunk/lib/Analysis/DbgInfoPrinter.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Analysis/DbgInfoPrinter.cpp?rev=91444&r1=91443&r2=91444&view=diff

==============================================================================
--- llvm/trunk/lib/Analysis/DbgInfoPrinter.cpp (original)
+++ llvm/trunk/lib/Analysis/DbgInfoPrinter.cpp Tue Dec 15 13:34:20 2009
@@ -22,7 +22,6 @@
 #include "llvm/Assembly/Writer.h"
 #include "llvm/Analysis/DebugInfo.h"
 #include "llvm/Analysis/Passes.h"
-#include "llvm/Analysis/ValueTracking.h"
 #include "llvm/Support/CFG.h"
 #include "llvm/Support/CommandLine.h"
 #include "llvm/Support/raw_ostream.h"
@@ -75,18 +74,16 @@
 }
 
 void PrintDbgInfo::printStopPoint(const DbgStopPointInst *DSI) {
-  if (PrintDirectory) {
-    std::string dir;
-    GetConstantStringInfo(DSI->getDirectory(), dir);
-    Out << dir << "/";
-  }
+  if (PrintDirectory)
+    if (MDString *Str = dyn_cast<MDString>(DSI->getDirectory()))
+      Out << Str->getString() << '/';
 
-  std::string file;
-  GetConstantStringInfo(DSI->getFileName(), file);
-  Out << file << ":" << DSI->getLine();
+  if (MDString *Str = dyn_cast<MDString>(DSI->getFileName()))
+    Out << Str->getString();
+  Out << ':' << DSI->getLine();
 
   if (unsigned Col = DSI->getColumn())
-    Out << ":" << Col;
+    Out << ':' << Col;
 }
 
 void PrintDbgInfo::printFuncStart(const DbgFuncStartInst *FS) {

Modified: llvm/trunk/lib/Analysis/ValueTracking.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Analysis/ValueTracking.cpp?rev=91444&r1=91443&r2=91444&view=diff

==============================================================================
--- llvm/trunk/lib/Analysis/ValueTracking.cpp (original)
+++ llvm/trunk/lib/Analysis/ValueTracking.cpp Tue Dec 15 13:34:20 2009
@@ -1369,11 +1369,6 @@
                                  StopAtNul);
   }
   
-  if (MDString *MDStr = dyn_cast<MDString>(V)) {
-    Str = MDStr->getString();
-    return true;
-  }
-
   // The GEP instruction, constant or instruction, must reference a global
   // variable that is a constant and is initialized. The referenced constant
   // initializer is the array that we'll use for optimization.





More information about the llvm-commits mailing list