summaryrefslogtreecommitdiffstats
path: root/clang/lib/Frontend/CompilerInvocation.cpp
diff options
context:
space:
mode:
authorJustin Lebar <jlebar@google.com>2016-04-29 23:05:19 +0000
committerJustin Lebar <jlebar@google.com>2016-04-29 23:05:19 +0000
commit76945b2f440dd798a814a8e485b42ab9671656ea (patch)
tree4ebae7b527b49e701e2dd29f2bb73af101ead024 /clang/lib/Frontend/CompilerInvocation.cpp
parent4b2fdccad95e47f764424e35f63d0df58f3ae86a (diff)
downloadbcm5719-llvm-76945b2f440dd798a814a8e485b42ab9671656ea.tar.gz
bcm5719-llvm-76945b2f440dd798a814a8e485b42ab9671656ea.zip
[CUDA] Copy host builtin types to NVPTXTargetInfo.
Summary: Host and device types must match, otherwise when we pass values back and forth between the host and device, we will get the wrong result. This patch makes NVPTXTargetInfo inherit most of its type information from the host's target info. Reviewers: rsmith Subscribers: cfe-commits, jhen, tra Differential Revision: http://reviews.llvm.org/D19346 llvm-svn: 268131
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
-rw-r--r--clang/lib/Frontend/CompilerInvocation.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/clang/lib/Frontend/CompilerInvocation.cpp b/clang/lib/Frontend/CompilerInvocation.cpp
index 4bef159f3bf..02a570076b9 100644
--- a/clang/lib/Frontend/CompilerInvocation.cpp
+++ b/clang/lib/Frontend/CompilerInvocation.cpp
@@ -2155,6 +2155,12 @@ bool CompilerInvocation::CreateFromArgs(CompilerInvocation &Res,
LangOpts.ObjCExceptions = 1;
}
+ // During CUDA device-side compilation, the aux triple is the triple used for
+ // host compilation.
+ if (LangOpts.CUDA && LangOpts.CUDAIsDevice) {
+ Res.getTargetOpts().HostTriple = Res.getFrontendOpts().AuxTriple;
+ }
+
// FIXME: Override value name discarding when asan or msan is used because the
// backend passes depend on the name of the alloca in order to print out
// names.
OpenPOWER on IntegriCloud