aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/Transforms/Instrumentation/ProfilingUtils.cpp2
-rw-r--r--lib/Transforms/Instrumentation/RSProfiling.cpp2
-rw-r--r--lib/Transforms/Instrumentation/TraceBasicBlocks.cpp11
-rw-r--r--lib/Transforms/Instrumentation/TraceValues.cpp26
4 files changed, 20 insertions, 21 deletions
diff --git a/lib/Transforms/Instrumentation/ProfilingUtils.cpp b/lib/Transforms/Instrumentation/ProfilingUtils.cpp
index 1df7001488..d003f6ca91 100644
--- a/lib/Transforms/Instrumentation/ProfilingUtils.cpp
+++ b/lib/Transforms/Instrumentation/ProfilingUtils.cpp
@@ -25,7 +25,7 @@ void llvm::InsertProfilingInitCall(Function *MainFn, const char *FnName,
const Type *ArgVTy = PointerType::get(PointerType::get(Type::Int8Ty));
const PointerType *UIntPtr = PointerType::get(Type::Int32Ty);
Module &M = *MainFn->getParent();
- Function *InitFn = M.getOrInsertFunction(FnName, Type::Int32Ty, Type::Int32Ty,
+ Constant *InitFn = M.getOrInsertFunction(FnName, Type::Int32Ty, Type::Int32Ty,
ArgVTy, UIntPtr, Type::Int32Ty,
(Type *)0);
diff --git a/lib/Transforms/Instrumentation/RSProfiling.cpp b/lib/Transforms/Instrumentation/RSProfiling.cpp
index 1553141cec..e70a2cbbe0 100644
--- a/lib/Transforms/Instrumentation/RSProfiling.cpp
+++ b/lib/Transforms/Instrumentation/RSProfiling.cpp
@@ -127,7 +127,7 @@ namespace {
//deciding when to sample.
class CycleCounter : public Chooser {
uint64_t rm;
- Function* F;
+ Constant *F;
public:
CycleCounter(Module& m, uint64_t resetmask);
virtual ~CycleCounter();
diff --git a/lib/Transforms/Instrumentation/TraceBasicBlocks.cpp b/lib/Transforms/Instrumentation/TraceBasicBlocks.cpp
index 379005359d..68e0d282cc 100644
--- a/lib/Transforms/Instrumentation/TraceBasicBlocks.cpp
+++ b/lib/Transforms/Instrumentation/TraceBasicBlocks.cpp
@@ -45,17 +45,16 @@ static void InsertInstrumentationCall (BasicBlock *BB,
DOUT << "InsertInstrumentationCall (\"" << BB->getName ()
<< "\", \"" << FnName << "\", " << BBNumber << ")\n";
Module &M = *BB->getParent ()->getParent ();
- Function *InstrFn = M.getOrInsertFunction (FnName, Type::VoidTy,
+ Constant *InstrFn = M.getOrInsertFunction (FnName, Type::VoidTy,
Type::Int32Ty, (Type *)0);
- std::vector<Value*> Args (1);
- Args[0] = ConstantInt::get (Type::Int32Ty, BBNumber);
-
- // Insert the call after any alloca or PHI instructions...
+
+ // Insert the call after any alloca or PHI instructions.
BasicBlock::iterator InsertPos = BB->begin();
while (isa<AllocaInst>(InsertPos) || isa<PHINode>(InsertPos))
++InsertPos;
- new CallInst (InstrFn, Args, "", InsertPos);
+ new CallInst(InstrFn, ConstantInt::get (Type::Int32Ty, BBNumber),
+ "", InsertPos);
}
bool TraceBasicBlocks::runOnModule(Module &M) {
diff --git a/lib/Transforms/Instrumentation/TraceValues.cpp b/lib/Transforms/Instrumentation/TraceValues.cpp
index 9fbec118c2..c3fbef2aad 100644
--- a/lib/Transforms/Instrumentation/TraceValues.cpp
+++ b/lib/Transforms/Instrumentation/TraceValues.cpp
@@ -36,7 +36,7 @@ TraceFuncNames("tracefunc", cl::desc("Only trace specific functions in the "
cl::value_desc("function"), cl::Hidden);
static void TraceValuesAtBBExit(BasicBlock *BB,
- Function *Printf, Function* HashPtrToSeqNum,
+ Constant *Printf, Constant* HashPtrToSeqNum,
std::vector<Instruction*> *valuesStoredInFunction);
// We trace a particular function if no functions to trace were specified
@@ -54,8 +54,8 @@ TraceThisFunction(Function &F)
namespace {
struct ExternalFuncs {
- Function *PrintfFunc, *HashPtrFunc, *ReleasePtrFunc;
- Function *RecordPtrFunc, *PushOnEntryFunc, *ReleaseOnReturnFunc;
+ Constant *PrintfFunc, *HashPtrFunc, *ReleasePtrFunc;
+ Constant *RecordPtrFunc, *PushOnEntryFunc, *ReleaseOnReturnFunc;
void doInitialization(Module &M); // Add prototypes for external functions
};
@@ -224,7 +224,7 @@ static std::string getPrintfCodeFor(const Value *V) {
static void InsertPrintInst(Value *V, BasicBlock *BB, Instruction *InsertBefore,
std::string Message,
- Function *Printf, Function* HashPtrToSeqNum) {
+ Constant *Printf, Constant* HashPtrToSeqNum) {
// Escape Message by replacing all % characters with %% chars.
std::string Tmp;
std::swap(Tmp, Message);
@@ -266,8 +266,8 @@ static void InsertPrintInst(Value *V, BasicBlock *BB, Instruction *InsertBefore,
static void InsertVerbosePrintInst(Value *V, BasicBlock *BB,
Instruction *InsertBefore,
- const std::string &Message, Function *Printf,
- Function* HashPtrToSeqNum) {
+ const std::string &Message, Constant *Printf,
+ Constant * HashPtrToSeqNum) {
std::ostringstream OutStr;
if (V) WriteAsOperand(OutStr, V);
InsertPrintInst(V, BB, InsertBefore, Message+OutStr.str()+" = ",
@@ -277,7 +277,7 @@ static void InsertVerbosePrintInst(Value *V, BasicBlock *BB,
static void
InsertReleaseInst(Value *V, BasicBlock *BB,
Instruction *InsertBefore,
- Function* ReleasePtrFunc) {
+ Constant *ReleasePtrFunc) {
const Type *SBP = PointerType::get(Type::Int8Ty);
if (V->getType() != SBP) // Cast pointer to be sbyte*
@@ -290,7 +290,7 @@ InsertReleaseInst(Value *V, BasicBlock *BB,
static void
InsertRecordInst(Value *V, BasicBlock *BB,
Instruction *InsertBefore,
- Function* RecordPtrFunc) {
+ Constant *RecordPtrFunc) {
const Type *SBP = PointerType::get(Type::Int8Ty);
if (V->getType() != SBP) // Cast pointer to be sbyte*
V = new BitCastInst(V, SBP, "RP_cast", InsertBefore);
@@ -325,7 +325,7 @@ ReleasePtrSeqNumbers(BasicBlock *BB,
// store instruction).
//
static void TraceValuesAtBBExit(BasicBlock *BB,
- Function *Printf, Function* HashPtrToSeqNum,
+ Constant *Printf, Constant * HashPtrToSeqNum,
std::vector<Instruction*> *valuesStoredInFunction) {
// Get an iterator to point to the insertion location, which is
// just before the terminator instruction.
@@ -354,8 +354,8 @@ static void TraceValuesAtBBExit(BasicBlock *BB,
}
}
-static inline void InsertCodeToShowFunctionEntry(Function &F, Function *Printf,
- Function* HashPtrToSeqNum){
+static inline void InsertCodeToShowFunctionEntry(Function &F, Constant *Printf,
+ Constant * HashPtrToSeqNum){
// Get an iterator to point to the insertion location
BasicBlock &BB = F.getEntryBlock();
Instruction *InsertPos = BB.begin();
@@ -376,8 +376,8 @@ static inline void InsertCodeToShowFunctionEntry(Function &F, Function *Printf,
static inline void InsertCodeToShowFunctionExit(BasicBlock *BB,
- Function *Printf,
- Function* HashPtrToSeqNum) {
+ Constant *Printf,
+ Constant * HashPtrToSeqNum) {
// Get an iterator to point to the insertion location
ReturnInst *Ret = cast<ReturnInst>(BB->getTerminator());