]> granicus.if.org Git - clang/commitdiff
Match createTargetMachine API change.
authorEvan Cheng <evan.cheng@apple.com>
Tue, 19 Jul 2011 06:37:41 +0000 (06:37 +0000)
committerEvan Cheng <evan.cheng@apple.com>
Tue, 19 Jul 2011 06:37:41 +0000 (06:37 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@135469 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/BackendUtil.cpp
tools/driver/cc1_main.cpp
tools/driver/cc1as_main.cpp

index 85f42db81f5989fab3454cf3e2bfa8fe125dc35b..d7326cdc7e370ee9d9f1f431993c855251d0fef4 100644 (file)
@@ -236,16 +236,6 @@ bool EmitAssemblyHelper::AddEmitPasses(BackendAction Action,
   TargetMachine::setFunctionSections(CodeGenOpts.FunctionSections);
   TargetMachine::setDataSections    (CodeGenOpts.DataSections);
 
-  // FIXME: Parse this earlier.
-  if (CodeGenOpts.RelocationModel == "static") {
-    TargetMachine::setRelocationModel(llvm::Reloc::Static);
-  } else if (CodeGenOpts.RelocationModel == "pic") {
-    TargetMachine::setRelocationModel(llvm::Reloc::PIC_);
-  } else {
-    assert(CodeGenOpts.RelocationModel == "dynamic-no-pic" &&
-           "Invalid PIC model!");
-    TargetMachine::setRelocationModel(llvm::Reloc::DynamicNoPIC);
-  }
   // FIXME: Parse this earlier.
   if (CodeGenOpts.CodeModel == "small") {
     TargetMachine::setCodeModel(llvm::CodeModel::Small);
@@ -287,8 +277,20 @@ bool EmitAssemblyHelper::AddEmitPasses(BackendAction Action,
       Features.AddFeature(*it);
     FeaturesStr = Features.getString();
   }
+
+  llvm::Reloc::Model RM = llvm::Reloc::Default;
+  if (CodeGenOpts.RelocationModel == "static") {
+    RM = llvm::Reloc::Static;
+  } else if (CodeGenOpts.RelocationModel == "pic") {
+    RM = llvm::Reloc::PIC_;
+  } else {
+    assert(CodeGenOpts.RelocationModel == "dynamic-no-pic" &&
+           "Invalid PIC model!");
+    RM = llvm::Reloc::DynamicNoPIC;
+  }
+
   TargetMachine *TM = TheTarget->createTargetMachine(Triple, TargetOpts.CPU,
-                                                     FeaturesStr);
+                                                     FeaturesStr, RM);
 
   if (CodeGenOpts.RelaxAll)
     TM->setMCRelaxAll(true);
index 9ad4af1436ca7a9d8f9fd595fe53f5366e97df33..db955c6a7f216d40864fe7c857dc21675606c9b6 100644 (file)
@@ -127,6 +127,7 @@ int cc1_main(const char **ArgBegin, const char **ArgEnd,
   // Initialize targets first, so that --version shows registered targets.
   llvm::InitializeAllTargets();
   llvm::InitializeAllMCAsmInfos();
+  llvm::InitializeAllMCCodeGenInfos();
   llvm::InitializeAllMCSubtargetInfos();
   llvm::InitializeAllAsmPrinters();
   llvm::InitializeAllAsmParsers();
index bfe2301b619f9735e29e7b65fb285581c33cdde7..b0177c70296e0f60f9bd0463238abb12438d0ad6 100644 (file)
@@ -361,6 +361,7 @@ int cc1as_main(const char **ArgBegin, const char **ArgEnd,
   // FIXME: We shouldn't need to initialize the Target(Machine)s.
   InitializeAllTargets();
   InitializeAllMCAsmInfos();
+  InitializeAllMCCodeGenInfos();
   InitializeAllMCInstrInfos();
   InitializeAllMCRegisterInfos();
   InitializeAllMCSubtargetInfos();