summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/X86/X86TargetMachine.cpp
diff options
context:
space:
mode:
authorEvan Cheng <evan.cheng@apple.com>2007-01-18 22:27:12 +0000
committerEvan Cheng <evan.cheng@apple.com>2007-01-18 22:27:12 +0000
commit97057f37a53f70732fa7e3c8499fac248af6405b (patch)
treef350e75cdcebc2b8b0cc8ad7c06d19075282ccd8 /llvm/lib/Target/X86/X86TargetMachine.cpp
parentc8dc67c2da7cebde6f6b57e403f2f0ad291f7822 (diff)
downloadbcm5719-llvm-97057f37a53f70732fa7e3c8499fac248af6405b.tar.gz
bcm5719-llvm-97057f37a53f70732fa7e3c8499fac248af6405b.zip
- Target PIC style is no longer affected by relocation model.
- In x86-64 mode, symbols with external linkage (not just symbols which are defined externally) requires GOT indirect reference. - Stylistic code clean up. llvm-svn: 33345
Diffstat (limited to 'llvm/lib/Target/X86/X86TargetMachine.cpp')
-rw-r--r--llvm/lib/Target/X86/X86TargetMachine.cpp24
1 files changed, 9 insertions, 15 deletions
diff --git a/llvm/lib/Target/X86/X86TargetMachine.cpp b/llvm/lib/Target/X86/X86TargetMachine.cpp
index 8bcda9a290b..d8283a5f220 100644
--- a/llvm/lib/Target/X86/X86TargetMachine.cpp
+++ b/llvm/lib/Target/X86/X86TargetMachine.cpp
@@ -128,24 +128,18 @@ X86TargetMachine::X86TargetMachine(const Module &M, const std::string &FS, bool
setCodeModel(CodeModel::Small);
}
- if (getRelocationModel() == Reloc::PIC_) {
- if (Subtarget.isTargetDarwin()) {
- if (Subtarget.is64Bit())
- Subtarget.setPICStyle(PICStyle::RIPRel);
- else
- Subtarget.setPICStyle(PICStyle::Stub);
- } else if (Subtarget.isTargetELF())
- Subtarget.setPICStyle(PICStyle::GOT);
+ if (Subtarget.isTargetCygMing())
+ Subtarget.setPICStyle(PICStyle::WinPIC);
+ else if (Subtarget.isTargetDarwin())
+ if (Subtarget.is64Bit())
+ Subtarget.setPICStyle(PICStyle::RIPRel);
else
- assert(0 && "Don't know how to generate PIC code for this target!");
- } else if (getRelocationModel() == Reloc::DynamicNoPIC) {
- if (Subtarget.isTargetDarwin())
Subtarget.setPICStyle(PICStyle::Stub);
- else if (Subtarget.isTargetCygMing())
- Subtarget.setPICStyle(PICStyle::WinPIC);
+ else if (Subtarget.isTargetELF())
+ if (Subtarget.is64Bit())
+ Subtarget.setPICStyle(PICStyle::RIPRel);
else
- assert(0 && "Don't know how to generate PIC code for this target!");
- }
+ Subtarget.setPICStyle(PICStyle::GOT);
}
//===----------------------------------------------------------------------===//
OpenPOWER on IntegriCloud