diff options
| author | Chris Lattner <sabre@nondot.org> | 2006-05-02 19:14:47 +0000 |
|---|---|---|
| committer | Chris Lattner <sabre@nondot.org> | 2006-05-02 19:14:47 +0000 |
| commit | e1c96369e27525978ee72620d47726cb81f4f257 (patch) | |
| tree | a808eccd2040808207f846b2c688bfffc6f5055a /llvm/lib/Target/X86 | |
| parent | c9aa3715e874acbf3fe044154aab01cba90fd8f7 (diff) | |
| download | bcm5719-llvm-e1c96369e27525978ee72620d47726cb81f4f257.tar.gz bcm5719-llvm-e1c96369e27525978ee72620d47726cb81f4f257.zip | |
Fix a purely hypothetical problem (for now): emitWord emits in the host
byte format. This doesn't work when using the code emitter in a cross target
environment. Since the code emitter is only really used by the JIT, this
isn't a current problem, but if we ever start emitting .o files, it would be.
llvm-svn: 28060
Diffstat (limited to 'llvm/lib/Target/X86')
| -rw-r--r-- | llvm/lib/Target/X86/X86CodeEmitter.cpp | 10 | ||||
| -rw-r--r-- | llvm/lib/Target/X86/X86JITInfo.cpp | 4 |
2 files changed, 7 insertions, 7 deletions
diff --git a/llvm/lib/Target/X86/X86CodeEmitter.cpp b/llvm/lib/Target/X86/X86CodeEmitter.cpp index a278fd548b5..175dae5ee16 100644 --- a/llvm/lib/Target/X86/X86CodeEmitter.cpp +++ b/llvm/lib/Target/X86/X86CodeEmitter.cpp @@ -116,7 +116,7 @@ void Emitter::emitBasicBlock(MachineBasicBlock &MBB) { /// emitPCRelativeValue - Emit a 32-bit PC relative address. /// void Emitter::emitPCRelativeValue(unsigned Address) { - MCE.emitWord(Address-MCE.getCurrentPCValue()-4); + MCE.emitWordLE(Address-MCE.getCurrentPCValue()-4); } /// emitPCRelativeBlockAddress - This method emits the PC relative address of @@ -134,7 +134,7 @@ void Emitter::emitPCRelativeBlockAddress(MachineBasicBlock *MBB) { // Otherwise, remember where this reference was and where it is to so we can // deal with it later. BBRefs.push_back(std::make_pair(MBB, MCE.getCurrentPCValue())); - MCE.emitWord(0); + MCE.emitWordLE(0); } } @@ -145,7 +145,7 @@ void Emitter::emitGlobalAddressForCall(GlobalValue *GV, bool isTailCall) { MCE.addRelocation(MachineRelocation(MCE.getCurrentPCOffset(), X86::reloc_pcrel_word, GV, 0, !isTailCall /*Doesn'tNeedStub*/)); - MCE.emitWord(0); + MCE.emitWordLE(0); } /// emitGlobalAddress - Emit the specified address to the code stream assuming @@ -155,7 +155,7 @@ void Emitter::emitGlobalAddressForCall(GlobalValue *GV, bool isTailCall) { void Emitter::emitGlobalAddressForPtr(GlobalValue *GV, int Disp /* = 0 */) { MCE.addRelocation(MachineRelocation(MCE.getCurrentPCOffset(), X86::reloc_absolute_word, GV)); - MCE.emitWord(Disp); // The relocated value will be added to the displacement + MCE.emitWordLE(Disp); // The relocated value will be added to the displacement } /// emitExternalSymbolAddress - Arrange for the address of an external symbol to @@ -165,7 +165,7 @@ void Emitter::emitExternalSymbolAddress(const char *ES, bool isPCRelative, bool isTailCall) { MCE.addRelocation(MachineRelocation(MCE.getCurrentPCOffset(), isPCRelative ? X86::reloc_pcrel_word : X86::reloc_absolute_word, ES)); - MCE.emitWord(0); + MCE.emitWordLE(0); } /// N86 namespace - Native X86 Register numbers... used by X86 backend. diff --git a/llvm/lib/Target/X86/X86JITInfo.cpp b/llvm/lib/Target/X86/X86JITInfo.cpp index 7f93895deb9..3d1222128af 100644 --- a/llvm/lib/Target/X86/X86JITInfo.cpp +++ b/llvm/lib/Target/X86/X86JITInfo.cpp @@ -170,14 +170,14 @@ void *X86JITInfo::emitFunctionStub(void *Fn, MachineCodeEmitter &MCE) { if (Fn != X86CompilationCallback) { MCE.startFunctionStub(5); MCE.emitByte(0xE9); - MCE.emitWord((intptr_t)Fn-MCE.getCurrentPCValue()-4); + MCE.emitWordLE((intptr_t)Fn-MCE.getCurrentPCValue()-4); return MCE.finishFunctionStub(0); } MCE.startFunctionStub(6); MCE.emitByte(0xE8); // Call with 32 bit pc-rel destination... - MCE.emitWord((intptr_t)Fn-MCE.getCurrentPCValue()-4); + MCE.emitWordLE((intptr_t)Fn-MCE.getCurrentPCValue()-4); MCE.emitByte(0xCD); // Interrupt - Just a marker identifying the stub! return MCE.finishFunctionStub(0); |

