mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-26 23:32:58 +00:00
Fix GetConstantStringInfo to not look into MDString (it works on
real data, not metadata) and fix DbgInfoPrinter to not abuse GetConstantStringInfo. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91444 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
f0a4fad995
commit
524528e614
@ -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::printVariableDeclaration(const Value *V) {
|
||||
}
|
||||
|
||||
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) {
|
||||
|
@ -1369,11 +1369,6 @@ bool llvm::GetConstantStringInfo(Value *V, std::string &Str, uint64_t Offset,
|
||||
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.
|
||||
|
Loading…
x
Reference in New Issue
Block a user