[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