diff options
author | Evan Cheng <evan.cheng@apple.com> | 2008-10-30 16:10:54 +0000 |
---|---|---|
committer | Evan Cheng <evan.cheng@apple.com> | 2008-10-30 16:10:54 +0000 |
commit | 65f244261cbe75e2bc525c3d66c3438384e8129c (patch) | |
tree | 221f62b9a6e304e864504eaa9eee2a456d84e78b /lib/Target/ARM/ARMTargetMachine.cpp | |
parent | 0c39719bfc7d0b3e61fbd55e1115184a1d5f6ae7 (diff) |
ARM JIT should observe -relocation-model command line option.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58433 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/ARM/ARMTargetMachine.cpp')
-rw-r--r-- | lib/Target/ARM/ARMTargetMachine.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/lib/Target/ARM/ARMTargetMachine.cpp b/lib/Target/ARM/ARMTargetMachine.cpp index a96e25f22e..4ffd779811 100644 --- a/lib/Target/ARM/ARMTargetMachine.cpp +++ b/lib/Target/ARM/ARMTargetMachine.cpp @@ -85,7 +85,9 @@ ARMTargetMachine::ARMTargetMachine(const Module &M, const std::string &FS, InstrInfo(Subtarget), FrameInfo(Subtarget), JITInfo(*this), - TLInfo(*this) {} + TLInfo(*this) { + DefRelocModel = getRelocationModel(); +} unsigned ARMTargetMachine::getJITMatchQuality() { #if defined(__arm__) @@ -157,7 +159,8 @@ bool ARMTargetMachine::addAssemblyEmitter(PassManagerBase &PM, bool Fast, bool ARMTargetMachine::addCodeEmitter(PassManagerBase &PM, bool Fast, bool DumpAsm, MachineCodeEmitter &MCE) { // FIXME: Move this to TargetJITInfo! - setRelocationModel(Reloc::Static); + if (DefRelocModel == Reloc::Default) + setRelocationModel(Reloc::Static); // Machine code emitter pass for ARM. PM.add(createARMCodeEmitterPass(*this, MCE)); |