diff options
author | Misha Brukman <brukman+llvm@gmail.com> | 2005-04-21 23:48:37 +0000 |
---|---|---|
committer | Misha Brukman <brukman+llvm@gmail.com> | 2005-04-21 23:48:37 +0000 |
commit | fd93908ae8b9684fe71c239e3c6cfe13ff6a2663 (patch) | |
tree | 4d0726d997a629d08765d11a705a42c4f48690af /lib/Transforms/Instrumentation/ProfilePaths/EdgeCode.cpp | |
parent | 0e0a7a45d3d0a8c865a078459d2e1c6d8967a100 (diff) |
Remove trailing whitespace
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21427 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Transforms/Instrumentation/ProfilePaths/EdgeCode.cpp')
-rw-r--r-- | lib/Transforms/Instrumentation/ProfilePaths/EdgeCode.cpp | 94 |
1 files changed, 47 insertions, 47 deletions
diff --git a/lib/Transforms/Instrumentation/ProfilePaths/EdgeCode.cpp b/lib/Transforms/Instrumentation/ProfilePaths/EdgeCode.cpp index 8e7bd78958..aef4681f30 100644 --- a/lib/Transforms/Instrumentation/ProfilePaths/EdgeCode.cpp +++ b/lib/Transforms/Instrumentation/ProfilePaths/EdgeCode.cpp @@ -1,16 +1,16 @@ //===-- EdgeCode.cpp - generate LLVM instrumentation code -----------------===// -// +// // The LLVM Compiler Infrastructure // // This file was developed by the LLVM research group and is distributed under // the University of Illinois Open Source License. See LICENSE.TXT for details. -// +// //===----------------------------------------------------------------------===// -//It implements the class EdgeCode: which provides +//It implements the class EdgeCode: which provides //support for inserting "appropriate" instrumentation at //designated points in the graph // -//It also has methods to insert initialization code in +//It also has methods to insert initialization code in //top block of cfg //===----------------------------------------------------------------------===// @@ -29,8 +29,8 @@ using std::vector; namespace llvm { static void getTriggerCode(Module *M, BasicBlock *BB, int MethNo, Value *pathNo, - Value *cnt, Instruction *rInst){ - + Value *cnt, Instruction *rInst){ + vector<Value *> tmpVec; tmpVec.push_back(Constant::getNullValue(Type::LongTy)); tmpVec.push_back(Constant::getNullValue(Type::LongTy)); @@ -38,7 +38,7 @@ static void getTriggerCode(Module *M, BasicBlock *BB, int MethNo, Value *pathNo, BB->getInstList().push_back(Idx); const Type *PIntTy = PointerType::get(Type::IntTy); - Function *trigMeth = M->getOrInsertFunction("trigger", Type::VoidTy, + Function *trigMeth = M->getOrInsertFunction("trigger", Type::VoidTy, Type::IntTy, Type::IntTy, PIntTy, PIntTy, 0); assert(trigMeth && "trigger method could not be inserted!"); @@ -58,18 +58,18 @@ static void getTriggerCode(Module *M, BasicBlock *BB, int MethNo, Value *pathNo, //get the code to be inserted on the edge //This is determined from cond (1-6) -void getEdgeCode::getCode(Instruction *rInst, Value *countInst, - Function *M, BasicBlock *BB, +void getEdgeCode::getCode(Instruction *rInst, Value *countInst, + Function *M, BasicBlock *BB, vector<Value *> &retVec){ - + //Instruction *InsertPos = BB->getInstList().begin(); - + //now check for cdIn and cdOut //first put cdOut if(cdOut!=NULL){ cdOut->getCode(rInst, countInst, M, BB, retVec); } - + if(cdIn!=NULL){ cdIn->getCode(rInst, countInst, M, BB, retVec); } @@ -93,7 +93,7 @@ void getEdgeCode::getCode(Instruction *rInst, Value *countInst, #endif break; } - + //r+=k case 3:{ Instruction *ldInst = new LoadInst(rInst, "ti1");//, InsertPos); @@ -116,33 +116,33 @@ void getEdgeCode::getCode(Instruction *rInst, Value *countInst, tmpVec.push_back(ConstantSInt::get(Type::LongTy, inc)); Instruction *Idx = new GetElementPtrInst(countInst, tmpVec, "");//, - //Instruction *Idx = new GetElementPtrInst(countInst, + //Instruction *Idx = new GetElementPtrInst(countInst, // vector<Value*>(1,ConstantSInt::get(Type::LongTy, inc)), // "");//, InsertPos); BB->getInstList().push_back(Idx); Instruction *ldInst=new LoadInst(Idx, "ti1");//, InsertPos); BB->getInstList().push_back(ldInst); - + Value *val = ConstantSInt::get(Type::IntTy, 1); //Instruction *addIn = Instruction *newCount = BinaryOperator::create(Instruction::Add, ldInst, val,"ti2"); BB->getInstList().push_back(newCount); - + #ifdef INSERT_STORE //Instruction *stInst=new StoreInst(addIn, Idx, InsertPos); Instruction *stInst=new StoreInst(newCount, Idx);//, InsertPos); BB->getInstList().push_back(stInst); #endif - + Value *trAddIndex = ConstantSInt::get(Type::IntTy,inc); retVec.push_back(newCount); retVec.push_back(trAddIndex); //insert trigger - //getTriggerCode(M->getParent(), BB, MethNo, + //getTriggerCode(M->getParent(), BB, MethNo, // ConstantSInt::get(Type::IntTy,inc), newCount, triggerInst); //end trigger code @@ -152,7 +152,7 @@ void getEdgeCode::getCode(Instruction *rInst, Value *countInst, //case: count[r+inc]++ case 5:{ - + //ti1=inc+r Instruction *ldIndex=new LoadInst(rInst, "ti1");//, InsertPos); BB->getInstList().push_back(ldIndex); @@ -161,9 +161,9 @@ void getEdgeCode::getCode(Instruction *rInst, Value *countInst, Instruction *addIndex=BinaryOperator:: create(Instruction::Add, ldIndex, val,"ti2");//, InsertPos); BB->getInstList().push_back(addIndex); - + //now load count[addIndex] - Instruction *castInst=new CastInst(addIndex, + Instruction *castInst=new CastInst(addIndex, Type::LongTy,"ctin");//, InsertPos); BB->getInstList().push_back(castInst); @@ -180,10 +180,10 @@ void getEdgeCode::getCode(Instruction *rInst, Value *countInst, Value *cons=ConstantSInt::get(Type::IntTy,1); //count[addIndex]++ //std::cerr<<"Type ldInst:"<<ldInst->getType()<<"\t cons:"<<cons->getType()<<"\n"; - Instruction *newCount = BinaryOperator::create(Instruction::Add, ldInst, + Instruction *newCount = BinaryOperator::create(Instruction::Add, ldInst, cons,""); BB->getInstList().push_back(newCount); - + #ifdef INSERT_STORE Instruction *stInst = new StoreInst(newCount, Idx);//, InsertPos); BB->getInstList().push_back(stInst); @@ -213,11 +213,11 @@ void getEdgeCode::getCode(Instruction *rInst, Value *countInst, tmpVec.push_back(castInst2); Instruction *Idx = new GetElementPtrInst(countInst, tmpVec, "");//, - //Instruction *Idx = new GetElementPtrInst(countInst, + //Instruction *Idx = new GetElementPtrInst(countInst, // vector<Value*>(1,castInst2), ""); - + BB->getInstList().push_back(Idx); - + Instruction *ldInst=new LoadInst(Idx, "ti2");//, InsertPos); BB->getInstList().push_back(ldInst); @@ -237,7 +237,7 @@ void getEdgeCode::getCode(Instruction *rInst, Value *countInst, retVec.push_back(ldIndex); break; } - + } } @@ -245,25 +245,25 @@ void getEdgeCode::getCode(Instruction *rInst, Value *countInst, //Insert the initialization code in the top BB //this includes initializing r, and count -//r is like an accumulator, that +//r is like an accumulator, that //keeps on adding increments as we traverse along a path //and at the end of the path, r contains the path //number of that path //Count is an array, where Count[k] represents //the number of executions of path k -void insertInTopBB(BasicBlock *front, - int k, +void insertInTopBB(BasicBlock *front, + int k, Instruction *rVar, Value *threshold){ - //rVar is variable r, + //rVar is variable r, //countVar is count[] Value *Int0 = ConstantInt::get(Type::IntTy, 0); - + //now push all instructions in front of the BB BasicBlock::iterator here=front->begin(); front->getInstList().insert(here, rVar); //front->getInstList().insert(here,countVar); - + //Initialize Count[...] with 0 //for (int i=0;i<k; i++){ @@ -281,22 +281,22 @@ void insertInTopBB(BasicBlock *front, //insert a basic block with appropriate code //along a given edge void insertBB(Edge ed, - getEdgeCode *edgeCode, - Instruction *rInst, - Value *countInst, + getEdgeCode *edgeCode, + Instruction *rInst, + Value *countInst, int numPaths, int Methno, Value *threshold){ BasicBlock* BB1=ed.getFirst()->getElement(); BasicBlock* BB2=ed.getSecond()->getElement(); - + #ifdef DEBUG_PATH_PROFILES //debugging info cerr<<"Edges with codes ######################\n"; cerr<<BB1->getName()<<"->"<<BB2->getName()<<"\n"; cerr<<"########################\n"; #endif - - //We need to insert a BB between BB1 and BB2 + + //We need to insert a BB between BB1 and BB2 TerminatorInst *TI=BB1->getTerminator(); BasicBlock *newBB=new BasicBlock("counter", BB1->getParent()); @@ -316,7 +316,7 @@ void insertBB(Edge ed, else{ if(BI->getSuccessor(0)==BB2) BI->setSuccessor(0, newBB); - + if(BI->getSuccessor(1)==BB2) BI->setSuccessor(1, newBB); } @@ -324,21 +324,21 @@ void insertBB(Edge ed, BasicBlock *triggerBB = NULL; if(retVec.size()>0){ triggerBB = new BasicBlock("trigger", BB1->getParent()); - getTriggerCode(BB1->getParent()->getParent(), triggerBB, Methno, + getTriggerCode(BB1->getParent()->getParent(), triggerBB, Methno, retVec[1], countInst, rInst);//retVec[0]); //Instruction *castInst = new CastInst(retVec[0], Type::IntTy, ""); Instruction *etr = new LoadInst(threshold, "threshold"); - - //std::cerr<<"type1: "<<etr->getType()<<" type2: "<<retVec[0]->getType()<<"\n"; - Instruction *cmpInst = new SetCondInst(Instruction::SetLE, etr, + + //std::cerr<<"type1: "<<etr->getType()<<" type2: "<<retVec[0]->getType()<<"\n"; + Instruction *cmpInst = new SetCondInst(Instruction::SetLE, etr, retVec[0], ""); Instruction *newBI2 = new BranchInst(triggerBB, BB2, cmpInst); //newBB->getInstList().push_back(castInst); newBB->getInstList().push_back(etr); newBB->getInstList().push_back(cmpInst); newBB->getInstList().push_back(newBI2); - + //triggerBB->getInstList().push_back(triggerInst); new BranchInst(BB2, 0, 0, triggerBB); } @@ -347,9 +347,9 @@ void insertBB(Edge ed, } //now iterate over BB2, and set its Phi nodes right - for(BasicBlock::iterator BB2Inst = BB2->begin(), BBend = BB2->end(); + for(BasicBlock::iterator BB2Inst = BB2->begin(), BBend = BB2->end(); BB2Inst != BBend; ++BB2Inst){ - + if(PHINode *phiInst=dyn_cast<PHINode>(BB2Inst)){ int bbIndex=phiInst->getBasicBlockIndex(BB1); assert(bbIndex>=0); |