diff options
author | Chris Lattner <sabre@nondot.org> | 2003-01-13 00:52:14 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2003-01-13 00:52:14 +0000 |
commit | b9636a70e5ce0f19f7bf4c4a81b36c1be4cc8f15 (patch) | |
tree | d5c3ad8364f4b329136ed87cb15181c2bf0a4c51 /llvm/lib/Transforms/Instrumentation/TraceValues.cpp | |
parent | 962d5befb394fe07f3389edb7255b575d52862d7 (diff) | |
download | bcm5719-llvm-b9636a70e5ce0f19f7bf4c4a81b36c1be4cc8f15.tar.gz bcm5719-llvm-b9636a70e5ce0f19f7bf4c4a81b36c1be4cc8f15.zip |
Make sure to handle %'s in strings correctly so that the names of BB's and functions are actually printed!
llvm-svn: 5234
Diffstat (limited to 'llvm/lib/Transforms/Instrumentation/TraceValues.cpp')
-rw-r--r-- | llvm/lib/Transforms/Instrumentation/TraceValues.cpp | 19 |
1 files changed, 9 insertions, 10 deletions
diff --git a/llvm/lib/Transforms/Instrumentation/TraceValues.cpp b/llvm/lib/Transforms/Instrumentation/TraceValues.cpp index 431b9bb83dd..9329b8239ac 100644 --- a/llvm/lib/Transforms/Instrumentation/TraceValues.cpp +++ b/llvm/lib/Transforms/Instrumentation/TraceValues.cpp @@ -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); |