diff options
author | Eric Christopher <echristo@gmail.com> | 2014-06-12 21:08:06 +0000 |
---|---|---|
committer | Eric Christopher <echristo@gmail.com> | 2014-06-12 21:08:06 +0000 |
commit | 49628bc4fffcd4a70632519290af2ebaa446b9ff (patch) | |
tree | 836b81a4f312f76a88cfca9ffc7bb3b92424f716 /llvm/lib/Target/PowerPC/PPCTargetMachine.cpp | |
parent | 8df9e2438bee1289183b7cbf76b521d4c66237d3 (diff) | |
download | llvm-49628bc4fffcd4a70632519290af2ebaa446b9ff.zip llvm-49628bc4fffcd4a70632519290af2ebaa446b9ff.tar.gz llvm-49628bc4fffcd4a70632519290af2ebaa446b9ff.tar.bz2 |
Move DataLayout from the PPCTargetMachine to the subtarget.
llvm-svn: 210824
Diffstat (limited to 'llvm/lib/Target/PowerPC/PPCTargetMachine.cpp')
-rw-r--r-- | llvm/lib/Target/PowerPC/PPCTargetMachine.cpp | 39 |
1 files changed, 2 insertions, 37 deletions
diff --git a/llvm/lib/Target/PowerPC/PPCTargetMachine.cpp b/llvm/lib/Target/PowerPC/PPCTargetMachine.cpp index 4046540..055e59d 100644 --- a/llvm/lib/Target/PowerPC/PPCTargetMachine.cpp +++ b/llvm/lib/Target/PowerPC/PPCTargetMachine.cpp @@ -37,48 +37,13 @@ extern "C" void LLVMInitializePowerPCTarget() { RegisterTargetMachine<PPC64TargetMachine> C(ThePPC64LETarget); } -/// Return the datalayout string of a subtarget. -static std::string getDataLayoutString(const PPCSubtarget &ST) { - const Triple &T = ST.getTargetTriple(); - - std::string Ret; - - // Most PPC* platforms are big endian, PPC64LE is little endian. - if (ST.isLittleEndian()) - Ret = "e"; - else - Ret = "E"; - - Ret += DataLayout::getManglingComponent(T); - - // PPC32 has 32 bit pointers. The PS3 (OS Lv2) is a PPC64 machine with 32 bit - // pointers. - if (!ST.isPPC64() || T.getOS() == Triple::Lv2) - Ret += "-p:32:32"; - - // Note, the alignment values for f64 and i64 on ppc64 in Darwin - // documentation are wrong; these are correct (i.e. "what gcc does"). - if (ST.isPPC64() || ST.isSVR4ABI()) - Ret += "-i64:64"; - else - Ret += "-f64:32:64"; - - // PPC64 has 32 and 64 bit registers, PPC32 has only 32 bit ones. - if (ST.isPPC64()) - Ret += "-n32:64"; - else - Ret += "-n32"; - - return Ret; -} - PPCTargetMachine::PPCTargetMachine(const Target &T, StringRef TT, StringRef CPU, StringRef FS, const TargetOptions &Options, Reloc::Model RM, CodeModel::Model CM, CodeGenOpt::Level OL, bool is64Bit) : LLVMTargetMachine(T, TT, CPU, FS, Options, RM, CM, OL), - Subtarget(TT, CPU, FS, is64Bit, OL), DL(getDataLayoutString(Subtarget)), - InstrInfo(*this), JITInfo(*this, is64Bit), TLInfo(*this), TSInfo(*this) { + Subtarget(TT, CPU, FS, is64Bit, OL), InstrInfo(*this), + JITInfo(*this, is64Bit), TLInfo(*this), TSInfo(*this) { initAsmInfo(); } |