Changes in directory llvm/lib/Target/Alpha:
AlphaCodeEmitter.cpp updated: 1.16 -> 1.17 AlphaJITInfo.cpp updated: 1.10 -> 1.11 AlphaJITInfo.h updated: 1.2 -> 1.3 --- Log message: Resolve BB references with relocation. --- Diffs of the changes: (+3 -20) AlphaCodeEmitter.cpp | 5 +++-- AlphaJITInfo.cpp | 16 ---------------- AlphaJITInfo.h | 2 -- 3 files changed, 3 insertions(+), 20 deletions(-) Index: llvm/lib/Target/Alpha/AlphaCodeEmitter.cpp diff -u llvm/lib/Target/Alpha/AlphaCodeEmitter.cpp:1.16 llvm/lib/Target/Alpha/AlphaCodeEmitter.cpp:1.17 --- llvm/lib/Target/Alpha/AlphaCodeEmitter.cpp:1.16 Tue Jul 25 15:40:54 2006 +++ llvm/lib/Target/Alpha/AlphaCodeEmitter.cpp Thu Jul 27 13:20:17 2006 @@ -215,8 +215,9 @@ Reloc, MO.getConstantPoolIndex(), Offset)); } else if (MO.isMachineBasicBlock()) { - TM.getJITInfo()->addBBRef(MO.getMachineBasicBlock(), - MCE.getCurrentPCValue()); + MCE.addRelocation(MachineRelocation::getBB(MCE.getCurrentPCOffset(), + Alpha::reloc_bsr, + MO.getMachineBasicBlock())); }else { std::cerr << "ERROR: Unknown type of MachineOperand: " << MO << "\n"; abort(); Index: llvm/lib/Target/Alpha/AlphaJITInfo.cpp diff -u llvm/lib/Target/Alpha/AlphaJITInfo.cpp:1.10 llvm/lib/Target/Alpha/AlphaJITInfo.cpp:1.11 --- llvm/lib/Target/Alpha/AlphaJITInfo.cpp:1.10 Tue Jul 25 15:40:54 2006 +++ llvm/lib/Target/Alpha/AlphaJITInfo.cpp Thu Jul 27 13:20:17 2006 @@ -304,19 +304,3 @@ } } } - -void AlphaJITInfo::resolveBBRefs(MachineCodeEmitter &MCE) { - // Resolve all forward branches now... - for (unsigned i = 0, e = BBRefs.size(); i != e; ++i) { - unsigned* Location = - (unsigned*)MCE.getMachineBasicBlockAddress(BBRefs[i].first); - unsigned* Ref = (unsigned*)BBRefs[i].second; - intptr_t BranchTargetDisp = - (((unsigned char*)Location - (unsigned char*)Ref) >> 2) - 1; - DEBUG(std::cerr << "Fixup @ " << (void*)Ref << " to " << (void*)Location - << " Disp " << BranchTargetDisp - << " using " << (BranchTargetDisp & ((1 << 22)-1)) << "\n"); - *Ref |= (BranchTargetDisp & ((1 << 21)-1)); - } - BBRefs.clear(); -} Index: llvm/lib/Target/Alpha/AlphaJITInfo.h diff -u llvm/lib/Target/Alpha/AlphaJITInfo.h:1.2 llvm/lib/Target/Alpha/AlphaJITInfo.h:1.3 --- llvm/lib/Target/Alpha/AlphaJITInfo.h:1.2 Tue Jul 25 15:40:54 2006 +++ llvm/lib/Target/Alpha/AlphaJITInfo.h Thu Jul 27 13:20:17 2006 @@ -46,8 +46,6 @@ /// code. /// virtual void replaceMachineCodeForFunction(void *Old, void *New); - - virtual void resolveBBRefs(MachineCodeEmitter &MCE); private: static const unsigned GOToffset = 4096; _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits