aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Target/X86
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Target/X86')
-rw-r--r--lib/Target/X86/X86CodeEmitter.cpp3
-rw-r--r--lib/Target/X86/X86JITInfo.cpp10
-rw-r--r--lib/Target/X86/X86JITInfo.h2
3 files changed, 2 insertions, 13 deletions
diff --git a/lib/Target/X86/X86CodeEmitter.cpp b/lib/Target/X86/X86CodeEmitter.cpp
index 31b4bdf185..dee58cf434 100644
--- a/lib/Target/X86/X86CodeEmitter.cpp
+++ b/lib/Target/X86/X86CodeEmitter.cpp
@@ -111,7 +111,8 @@ void Emitter::emitPCRelativeValue(unsigned Address) {
void Emitter::emitPCRelativeBlockAddress(MachineBasicBlock *MBB) {
// Remember where this reference was and where it is to so we can
// deal with it later.
- TM.getJITInfo()->addBBRef(MBB, MCE.getCurrentPCValue());
+ MCE.addRelocation(MachineRelocation::getBB(MCE.getCurrentPCOffset(),
+ X86::reloc_pcrel_word, MBB));
MCE.emitWordLE(0);
}
diff --git a/lib/Target/X86/X86JITInfo.cpp b/lib/Target/X86/X86JITInfo.cpp
index 9fd8029962..9bb2a72523 100644
--- a/lib/Target/X86/X86JITInfo.cpp
+++ b/lib/Target/X86/X86JITInfo.cpp
@@ -203,13 +203,3 @@ void X86JITInfo::relocate(void *Function, MachineRelocation *MR,
}
}
}
-
-void X86JITInfo::resolveBBRefs(MachineCodeEmitter &MCE) {
- // Resolve all forward branches now.
- for (unsigned i = 0, e = BBRefs.size(); i != e; ++i) {
- unsigned Location = MCE.getMachineBasicBlockAddress(BBRefs[i].first);
- intptr_t Ref = BBRefs[i].second;
- *((unsigned*)Ref) = Location-Ref-4;
- }
- BBRefs.clear();
-}
diff --git a/lib/Target/X86/X86JITInfo.h b/lib/Target/X86/X86JITInfo.h
index f9e437e41b..02e54af11a 100644
--- a/lib/Target/X86/X86JITInfo.h
+++ b/lib/Target/X86/X86JITInfo.h
@@ -51,8 +51,6 @@ namespace llvm {
/// referenced global symbols.
virtual void relocate(void *Function, MachineRelocation *MR,
unsigned NumRelocs, unsigned char* GOTBase);
-
- virtual void resolveBBRefs(MachineCodeEmitter &MCE);
};
}