Move NVPTX subtarget dependent variables from the target machine
[oota-llvm.git] / lib / Target / NVPTX / NVPTXTargetMachine.cpp
index a21cada2208a2527e37480a7a793bc05507d5130..6e18322f824e9caf0a69244103f95f3bab81f236 100644 (file)
@@ -66,26 +66,13 @@ extern "C" void LLVMInitializeNVPTXTarget() {
     *PassRegistry::getPassRegistry());
 }
 
-static std::string computeDataLayout(const NVPTXSubtarget &ST) {
-  std::string Ret = "e";
-
-  if (!ST.is64Bit())
-    Ret += "-p:32:32";
-
-  Ret += "-i64:64-v16:16-v32:32-n16:32:64";
-
-  return Ret;
-}
-
 NVPTXTargetMachine::NVPTXTargetMachine(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), DL(computeDataLayout(Subtarget)),
-      InstrInfo(Subtarget), TLInfo(*this), TSInfo(&DL),
-      FrameLowering(Subtarget) {
+      Subtarget(TT, CPU, FS, *this, is64bit) {
   initAsmInfo();
 }