relax some types
authorChris Lattner <sabre@nondot.org>
Sun, 7 Jan 2007 07:22:20 +0000 (07:22 +0000)
committerChris Lattner <sabre@nondot.org>
Sun, 7 Jan 2007 07:22:20 +0000 (07:22 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32982 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Transforms/Instrumentation/ProfilingUtils.cpp
lib/Transforms/Instrumentation/RSProfiling.cpp
lib/Transforms/Instrumentation/TraceBasicBlocks.cpp
lib/Transforms/Instrumentation/TraceValues.cpp

index 1df7001488e2ec2b886863451df08e24e54b6c27..d003f6ca914af794e22463708040a230c4c58137 100644 (file)
@@ -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);
 
index 1553141cec2192043d9532f1a8162c0599f22333..e70a2cbbe0106addfb6936bdeff7c653c91c8262 100644 (file)
@@ -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();
index 379005359dd96f8c69050222d0fb095b1320c4af..68e0d282cc5a6fac7a4255b72d95eff7911fa171 100644 (file)
@@ -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) {
index 9fbec118c202709b5b4d081158cb2c50cd45429f..c3fbef2aad51db66de2b03f00c4e37b01cead1ac 100644 (file)
@@ -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());