Switch TargetInfo to store an llvm::Triple.
 - Primarily to discourage clients form making decisions based on the string.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79901 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/CodeGen/ModuleBuilder.cpp b/lib/CodeGen/ModuleBuilder.cpp
index 4835454..600271f 100644
--- a/lib/CodeGen/ModuleBuilder.cpp
+++ b/lib/CodeGen/ModuleBuilder.cpp
@@ -54,7 +54,7 @@
     virtual void Initialize(ASTContext &Context) {
       Ctx = &Context;
       
-      M->setTargetTriple(Ctx->Target.getTargetTriple());
+      M->setTargetTriple(Ctx->Target.getTriple().getTriple());
       M->setDataLayout(Ctx->Target.getTargetDescription());
       TD.reset(new llvm::TargetData(Ctx->Target.getTargetDescription()));
       Builder.reset(new CodeGen::CodeGenModule(Context, CompileOpts,
diff --git a/lib/CodeGen/TargetABIInfo.cpp b/lib/CodeGen/TargetABIInfo.cpp
index a307435..96c70fe 100644
--- a/lib/CodeGen/TargetABIInfo.cpp
+++ b/lib/CodeGen/TargetABIInfo.cpp
@@ -1524,18 +1524,16 @@
 
   // For now we just cache the ABIInfo in CodeGenTypes and don't free it.
 
-  llvm::Triple TargetTriple(getContext().Target.getTargetTriple());
-  switch (TargetTriple.getArch()) {
+  const llvm::Triple &Triple(getContext().Target.getTriple());
+  switch (Triple.getArch()) {
   default:
     return *(TheABIInfo = new DefaultABIInfo);
 
-  case llvm::Triple::x86: {
-    llvm::Triple::OSType OS = TargetTriple.getOS();
-    
-    if (OS == llvm::Triple::Darwin)
+  case llvm::Triple::x86:
+    if (Triple.getOS() == llvm::Triple::Darwin)
       return *(TheABIInfo = new X86_32ABIInfo(Context, true, true));
 
-    switch (OS) {
+    switch (Triple.getOS()) {
     case llvm::Triple::Cygwin:
     case llvm::Triple::DragonFly:
     case llvm::Triple::MinGW32:
@@ -1547,7 +1545,6 @@
     default:
       return *(TheABIInfo = new X86_32ABIInfo(Context, false, false));
     }
-  }
 
   case llvm::Triple::x86_64:
     return *(TheABIInfo = new X86_64ABIInfo());