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());