[llvm-commits] CVS: llvm/lib/Reoptimizer/Mapping/getLLVMinfo.cpp

Anand Shukla ashukla at cs.uiuc.edu
Sun Sep 8 15:27:01 PDT 2002


Changes in directory llvm/lib/Reoptimizer/Mapping:

getLLVMinfo.cpp updated: 1.4 -> 1.5

---
Log message:

Some bugs fixed in map interface


---
Diffs of the changes:

Index: llvm/lib/Reoptimizer/Mapping/getLLVMinfo.cpp
diff -u llvm/lib/Reoptimizer/Mapping/getLLVMinfo.cpp:1.4 llvm/lib/Reoptimizer/Mapping/getLLVMinfo.cpp:1.5
--- llvm/lib/Reoptimizer/Mapping/getLLVMinfo.cpp:1.4	Tue Aug 27 17:42:34 2002
+++ llvm/lib/Reoptimizer/Mapping/getLLVMinfo.cpp	Sun Sep  8 15:26:15 2002
@@ -67,7 +67,7 @@
 }
 
 
-vector<unsigned *> getLLVMInstrInfo(Instruction *LI){
+vector<uint64_t> getLLVMInstrInfo(Instruction *LI){
 
   //std::cerr<<"BBMimaplength: "<<BBMIMap_length<<"\n";
   //std::cerr<<"in getLLVMinstrInfo(Instruction *LI)\n";
@@ -83,7 +83,7 @@
     initialized_tables_LI = true;
   }
   
-  pair<unsigned *, unsigned *> BBnoVec = getBasicBlockInfo(BB);
+  pair<uint64_t, uint64_t> BBnoVec = getBasicBlockInfo(BB);
   //std::cerr<<"got BBnoVec\n";
   
   unsigned Fno = getFunctionNo(F);
@@ -95,19 +95,19 @@
   
   vector<unsigned> &MInoVec = getLLVMInstrInfo(Fno, BBno, LIno);
   //std::cerr<<"got MInoVec\n";
-  unsigned *BBadd = BBnoVec.first;
+  uint64_t BBadd = BBnoVec.first;
   //std::cerr<<"added BBadd: "<<BBadd<<"\n";
-  vector<unsigned *> MIaddVec;
+  vector<uint64_t> MIaddVec;
   for(unsigned i = 0; i < MInoVec.size(); ++i)
     {
-      MIaddVec.push_back(BBadd+MInoVec[i]);
+      MIaddVec.push_back(BBadd+MInoVec[i]*4);
     }
   //std::cerr<"done\n";
   return MIaddVec;  
 }
 
 
-pair<unsigned *, unsigned *> getBasicBlockInfo(BasicBlock *BB){
+pair<uint64_t, uint64_t> getBasicBlockInfo(BasicBlock *BB){
   
   //std::cerr<<"BBMimaplength: "<<BBMIMap_length<<"\n";
   //std::cerr<<"in getBasicBlockInfo(BasicBlock *BI)\n";
@@ -134,11 +134,13 @@
   
   pair<unsigned, unsigned> &BBnoVec = getBasicBlockInfo(Fno, BBno);
   //std::cerr<<"got BBnoVec\n";
-  unsigned *Fadd = (unsigned *)llvmFunctionTable[Fno];
-  //std::cerr<<"got Fadd\n";
-  unsigned *BBstartAdd = Fadd + BBnoVec.first;
+  //unsigned *Fadd = (unsigned *)llvmFunctionTable[Fno];
+  uint64_t Fadd = (uint64_t)llvmFunctionTable[Fno];
+  std::cerr<<"########### Function add:"<<(void *)Fadd<<"\n";
+
+  uint64_t BBstartAdd = Fadd + BBnoVec.first*4;//anand-- added *4
   //std::cerr<<"added BBstartAdd: "<<BBstartAdd<<"\n";
-  unsigned *BBendAdd = Fadd + BBnoVec.second;
+  uint64_t BBendAdd = Fadd + (BBnoVec.first+BBnoVec.second-1)*4;
   //std::cerr<<"added BBendAdd: "<<BBendAdd<<"\n";
   return std::make_pair(BBstartAdd, BBendAdd);
 }
@@ -180,7 +182,8 @@
 					 unsigned BasicBlockNo, 
 					 unsigned LLVMInstrNo){
   static unsigned initialized_LMI = ~0;
-  
+  ////anand
+  std::cerr<<"Function no:"<<FunctionNo<<"\n";
   if(initialized_LMI!=FunctionNo){
     unsigned char *LIMap = FunctionLI[FunctionNo];
     unsigned length = *(unsigned *)LIMap - 4;
@@ -188,7 +191,12 @@
     initialized_LMI = FunctionNo;
   }
 
-  vector<unsigned> &MIList = MImapF[FunctionNo][BasicBlockNo];
+  vector<unsigned> &MIList = MImapF[BasicBlockNo][LLVMInstrNo];//MImapF[FunctionNo][BasicBlockNo];
+  std::cerr<<"************* BB#"<<BasicBlockNo<<" Inst#"<<LLVMInstrNo<<"\n";
+  for(vector<unsigned>::iterator MI = MIList.begin(), ME = MIList.end();
+      MI!=ME; ++MI)
+    std::cerr<<*MI<<"\n";
+  
   return MIList;
 } 
  
@@ -228,22 +236,22 @@
     assert(LIi < LIend && "Trying to read off the end of list of LMIMap");
     
     unsigned BasicBlockNumber = readNumber(LIi);
-    //std::cerr<<"BasicBlockNumber= "<<BasicBlockNumber<<"\n";
+    std::cerr<<"BasicBlockNumber= "<<BasicBlockNumber<<"\n";
     unsigned BasicBlockSize   = readNumber(LIi);    
-    //std::cerr<<"BasicBlockSize  = "<<BasicBlockSize<<"\n";
+    std::cerr<<"BasicBlockSize  = "<<BasicBlockSize<<"\n";
     
     map<unsigned, vector<unsigned> > LImap;
     for(unsigned j=0; j<BasicBlockSize; ++j){    
 
       unsigned InstructionNumber =readNumber(LIi);
-      //std::cerr<<"InstructionNumber= "<<InstructionNumber<<"\n";
+      std::cerr<<"InstructionNumber= "<<InstructionNumber<<"\n";
       unsigned InstructionSize   =readNumber(LIi);
-      //std::cerr<<"InstructionSize  = "<<InstructionSize<<"\n";
+      std::cerr<<"InstructionSize  = "<<InstructionSize<<"\n";
       
       vector<unsigned> oneLI;
       for(unsigned  k=0; k<InstructionSize; ++k){
 	unsigned MachineInstruction=readNumber(LIi);
-	//std::cerr<<"MachineInstruction= "<<MachineInstruction<<"\n";
+	std::cerr<<"MachineInstruction= "<<MachineInstruction<<"\n";
 	oneLI.push_back(MachineInstruction);
       }
       LImap[InstructionNumber]=oneLI;





More information about the llvm-commits mailing list