Hi eliben, echristo,

Default to "nvptx[64]-unknown-cuda" triple for device-side CUDA compilation.

http://reviews.llvm.org/D8393

Files:
  lib/Frontend/CompilerInvocation.cpp

Index: lib/Frontend/CompilerInvocation.cpp
===================================================================
--- lib/Frontend/CompilerInvocation.cpp
+++ lib/Frontend/CompilerInvocation.cpp
@@ -1840,8 +1840,15 @@
   Opts.Triple = llvm::Triple::normalize(Args.getLastArgValue(OPT_triple));
 
   // Use the default target triple if unspecified.
-  if (Opts.Triple.empty())
-    Opts.Triple = llvm::sys::getDefaultTargetTriple();
+  if (Opts.Triple.empty()) {
+    if (Args.hasArg(OPT_fcuda_is_device)) {
+      llvm::Triple HostTriple(llvm::sys::getDefaultTargetTriple());
+      Opts.Triple = HostTriple.isArch64Bit()
+                        ? llvm::Triple::normalize("nvptx64-unknown-cuda")
+                        : llvm::Triple::normalize("nvptx-unknown-cuda");
+    } else
+      Opts.Triple = llvm::sys::getDefaultTargetTriple();
+  }
 }
 
 bool CompilerInvocation::CreateFromArgs(CompilerInvocation &Res,

EMAIL PREFERENCES
  http://reviews.llvm.org/settings/panel/emailpreferences/
Index: lib/Frontend/CompilerInvocation.cpp
===================================================================
--- lib/Frontend/CompilerInvocation.cpp
+++ lib/Frontend/CompilerInvocation.cpp
@@ -1840,8 +1840,15 @@
   Opts.Triple = llvm::Triple::normalize(Args.getLastArgValue(OPT_triple));
 
   // Use the default target triple if unspecified.
-  if (Opts.Triple.empty())
-    Opts.Triple = llvm::sys::getDefaultTargetTriple();
+  if (Opts.Triple.empty()) {
+    if (Args.hasArg(OPT_fcuda_is_device)) {
+      llvm::Triple HostTriple(llvm::sys::getDefaultTargetTriple());
+      Opts.Triple = HostTriple.isArch64Bit()
+                        ? llvm::Triple::normalize("nvptx64-unknown-cuda")
+                        : llvm::Triple::normalize("nvptx-unknown-cuda");
+    } else
+      Opts.Triple = llvm::sys::getDefaultTargetTriple();
+  }
 }
 
 bool CompilerInvocation::CreateFromArgs(CompilerInvocation &Res,
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to