mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-08-18 12:29:21 +00:00
Make sure to handle %'s in strings correctly so that the names of BB's and functions are actually printed!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5234 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
d91d86f3a6
commit
80e5ed9f77
@ -26,8 +26,8 @@ DisablePtrHashing("tracedisablehashdisable", cl::Hidden,
|
||||
cl::desc("Disable pointer hashing"));
|
||||
|
||||
static cl::list<string>
|
||||
TraceFuncName("tracefunc", cl::desc("trace only specific functions"),
|
||||
cl::value_desc("function"), cl::Hidden);
|
||||
TraceFuncNames("tracefunc", cl::desc("trace only specific functions"),
|
||||
cl::value_desc("function"), cl::Hidden);
|
||||
|
||||
static void TraceValuesAtBBExit(BasicBlock *BB,
|
||||
Function *Printf, Function* HashPtrToSeqNum,
|
||||
@ -37,13 +37,12 @@ static void TraceValuesAtBBExit(BasicBlock *BB,
|
||||
// or if the function is in the specified list.
|
||||
//
|
||||
inline static bool
|
||||
TraceThisFunction(Function &func)
|
||||
TraceThisFunction(Function &F)
|
||||
{
|
||||
if (TraceFuncName.size() == 0)
|
||||
return true;
|
||||
if (TraceFuncNames.empty()) return true;
|
||||
|
||||
return std::find(TraceFuncName.begin(), TraceFuncName.end(), func.getName())
|
||||
!= TraceFuncName.end();
|
||||
return std::find(TraceFuncNames.begin(), TraceFuncNames.end(), F.getName())
|
||||
!= TraceFuncNames.end();
|
||||
}
|
||||
|
||||
|
||||
@ -222,7 +221,7 @@ static void InsertPrintInst(Value *V, BasicBlock *BB, Instruction *InsertBefore,
|
||||
Tmp.erase(Tmp.begin(), I);
|
||||
I = std::find(Tmp.begin(), Tmp.end(), '%');
|
||||
}
|
||||
|
||||
Message += Tmp;
|
||||
Module *Mod = BB->getParent()->getParent();
|
||||
|
||||
// Turn the marker string into a global variable...
|
||||
@ -232,7 +231,7 @@ static void InsertPrintInst(Value *V, BasicBlock *BB, Instruction *InsertBefore,
|
||||
Instruction *GEP =
|
||||
new GetElementPtrInst(fmtVal,
|
||||
vector<Value*>(2,ConstantSInt::get(Type::LongTy, 0)),
|
||||
"trstr", InsertBefore);
|
||||
"trstrp", InsertBefore);
|
||||
|
||||
// Insert a call to the hash function if this is a pointer value
|
||||
if (V && isa<PointerType>(V->getType()) && !DisablePtrHashing) {
|
||||
@ -350,7 +349,7 @@ static inline void InsertCodeToShowFunctionEntry(Function &F, Function *Printf,
|
||||
Instruction *InsertPos = BB.begin();
|
||||
|
||||
std::ostringstream OutStr;
|
||||
WriteAsOperand(OutStr, &F, true);
|
||||
WriteAsOperand(OutStr, &F);
|
||||
InsertPrintInst(0, &BB, InsertPos, "ENTERING FUNCTION: " + OutStr.str(),
|
||||
Printf, HashPtrToSeqNum);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user