r266796 - [CUDA] Add a test for r266496 (raise an error if a CUDA installation isn't found)

2016-04-19 Thread Justin Lebar via cfe-commits
Author: jlebar Date: Tue Apr 19 13:52:28 2016 New Revision: 266796 URL: http://llvm.org/viewvc/llvm-project?rev=266796=rev Log: [CUDA] Add a test for r266496 (raise an error if a CUDA installation isn't found) Added: cfe/trunk/test/Driver/cuda-not-found.cu Added:

Re: r266496 - [CUDA] Raise an error if the CUDA install can't be found.

2016-04-19 Thread Justin Lebar via cfe-commits
de it test changes... > > We have several fake install trees in the driver tests to check pretty much > exactly these kinds of things? > > On Tue, Apr 19, 2016 at 11:31 AM Justin Lebar via cfe-commits > <cfe-commits@lists.llvm.org> wrote: >> >> Yes, in general

Re: r266496 - [CUDA] Raise an error if the CUDA install can't be found.

2016-04-19 Thread Justin Lebar via cfe-commits
change our test. On Tue, Apr 19, 2016 at 11:21 AM, Chandler Carruth <chandl...@gmail.com> wrote: > This commit is missing a test. > > > On Fri, Apr 15, 2016 at 5:16 PM Justin Lebar via cfe-commits > <cfe-commits@lists.llvm.org> wrote: >> >> Author: jlebar

Re: [PATCH] D19248: [CUDA] Add --cuda-compile-host-device, which overrides --cuda-host-only and --cuda-device-only.

2016-04-18 Thread Justin Lebar via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL266707: [CUDA] Add --cuda-compile-host-device, which overrides --cuda-host-only and… (authored by jlebar). Changed prior to commit: http://reviews.llvm.org/D19248?vs=54148=54152#toc Repository: rL

Re: [PATCH] D19248: [CUDA] Add --cuda-compile-host-device, which overrides --cuda-host-only and --cuda-device-only.

2016-04-18 Thread Justin Lebar via cfe-commits
jlebar added a comment. Wow, oops. Thank you. http://reviews.llvm.org/D19248 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Re: [PATCH] D19248: [CUDA] Add --cuda-compile-host-device, which overrides --cuda-host-only and --cuda-device-only.

2016-04-18 Thread Justin Lebar via cfe-commits
jlebar updated this revision to Diff 54148. jlebar marked 2 inline comments as done. jlebar added a comment. Fix help text. http://reviews.llvm.org/D19248 Files: include/clang/Driver/Options.td lib/Driver/Driver.cpp test/Driver/cuda-options.cu test/Driver/cuda-unused-arg-warning.cu

[PATCH] D19251: [CUDA] Add --no-cuda-noopt-debug, which disables --cuda-noopt-debug.

2016-04-18 Thread Justin Lebar via cfe-commits
jlebar created this revision. jlebar added a reviewer: tra. jlebar added subscribers: jhen, cfe-commits. http://reviews.llvm.org/D19251 Files: include/clang/Driver/Options.td lib/Driver/Tools.cpp test/Driver/cuda-external-tools.cu Index: test/Driver/cuda-external-tools.cu

[PATCH] D19248: [CUDA] Add --cuda-compile-host-device, which overrides --cuda-host-only and --cuda-device-only.

2016-04-18 Thread Justin Lebar via cfe-commits
jlebar created this revision. jlebar added a reviewer: tra. jlebar added subscribers: jhen, cfe-commits. This completes the flag's tristate, letting you override it at will on the command line. http://reviews.llvm.org/D19248 Files: include/clang/Driver/Options.td lib/Driver/Driver.cpp

Re: [PATCH] D19180: [CUDA] Raise an error if the CUDA install can't be found.

2016-04-15 Thread Justin Lebar via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL266496: [CUDA] Raise an error if the CUDA install can't be found. (authored by jlebar). Changed prior to commit: http://reviews.llvm.org/D19180?vs=53954=53973#toc Repository: rL LLVM

r266496 - [CUDA] Raise an error if the CUDA install can't be found.

2016-04-15 Thread Justin Lebar via cfe-commits
Author: jlebar Date: Fri Apr 15 19:11:11 2016 New Revision: 266496 URL: http://llvm.org/viewvc/llvm-project?rev=266496=rev Log: [CUDA] Raise an error if the CUDA install can't be found. Summary: Without this change, we silently proceed on without including __clang_cuda_runtime_wrapper.h. This

[PATCH] D19180: [CUDA] Raise an error if the CUDA install can't be found.

2016-04-15 Thread Justin Lebar via cfe-commits
jlebar created this revision. jlebar added a reviewer: tra. jlebar added a subscriber: cfe-commits. Without this change, we silently proceed on without including __clang_cuda_runtime_wrapper.h. This leads to very strange behavior -- you say you're compiling CUDA code, but e.g. __device__ is not

Re: [PATCH] D18617: Call TargetMachine::addEarlyAsPossiblePasses from BackendUtil.

2016-04-12 Thread Justin Lebar via cfe-commits
jlebar updated this revision to Diff 53415. jlebar added a comment. Switch [this] to [&]. http://reviews.llvm.org/D18617 Files: lib/CodeGen/BackendUtil.cpp Index: lib/CodeGen/BackendUtil.cpp === --- lib/CodeGen/BackendUtil.cpp

Re: [PATCH] D18882: [CUDA] Tweak math forward declares so we're compatible with libstdc++4.9.

2016-04-07 Thread Justin Lebar via cfe-commits
jlebar added a comment. Thank you for the review! Repository: rL LLVM http://reviews.llvm.org/D18882 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

r265751 - [CUDA] Tweak math forward declares so we're compatible with libstdc++4.9.

2016-04-07 Thread Justin Lebar via cfe-commits
Author: jlebar Date: Thu Apr 7 18:55:53 2016 New Revision: 265751 URL: http://llvm.org/viewvc/llvm-project?rev=265751=rev Log: [CUDA] Tweak math forward declares so we're compatible with libstdc++4.9. Summary: See comments in patch; we were assuming that some stdlib math functions would be

Re: [PATCH] D18882: [CUDA] Tweak math forward declares so we're compatible with libstdc++4.9.

2016-04-07 Thread Justin Lebar via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL265751: [CUDA] Tweak math forward declares so we're compatible with libstdc++4.9. (authored by jlebar). Changed prior to commit: http://reviews.llvm.org/D18882?vs=52979=52980#toc Repository: rL LLVM

[PATCH] D18882: [CUDA] Tweak math forward declares so we're compatible with libstdc++4.9.

2016-04-07 Thread Justin Lebar via cfe-commits
jlebar created this revision. jlebar added a reviewer: rsmith. jlebar added subscribers: tra, cfe-commits. See comments in patch; we were assuming that some stdlib math functions would be defined in namespace std, when in fact the spec says they should be defined in the global namespace.

Re: [PATCH] D18617: Call TargetMachine::addEarlyAsPossiblePasses from BackendUtil.

2016-04-07 Thread Justin Lebar via cfe-commits
jlebar added inline comments. Comment at: lib/CodeGen/BackendUtil.cpp:347 @@ +346,3 @@ +PassManagerBuilder::EP_EarlyAsPossible, +[this](const PassManagerBuilder &, legacy::PassManagerBase ) { + TM->addEarlyAsPossiblePasses(PM); chandlerc

r265436 - [CUDA] Show --cuda-gpu-arch option in clang --help.

2016-04-05 Thread Justin Lebar via cfe-commits
Author: jlebar Date: Tue Apr 5 13:26:25 2016 New Revision: 265436 URL: http://llvm.org/viewvc/llvm-project?rev=265436=rev Log: [CUDA] Show --cuda-gpu-arch option in clang --help. For some reason it was hidden. Modified: cfe/trunk/include/clang/Driver/Options.td Modified:

Re: [PATCH] D18671: [CUDA] Add --cuda-flush-denormals-to-zero.

2016-04-05 Thread Justin Lebar via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL265435: [CUDA] Add -fcuda-flush-denormals-to-zero. (authored by jlebar). Changed prior to commit: http://reviews.llvm.org/D18671?vs=52310=52718#toc Repository: rL LLVM

r265435 - [CUDA] Add -fcuda-flush-denormals-to-zero.

2016-04-05 Thread Justin Lebar via cfe-commits
Author: jlebar Date: Tue Apr 5 13:26:20 2016 New Revision: 265435 URL: http://llvm.org/viewvc/llvm-project?rev=265435=rev Log: [CUDA] Add -fcuda-flush-denormals-to-zero. Summary: Setting this flag causes all functions are annotated with the "nvvm-f32ftz" = "true" attribute. In addition, we

Re: [PATCH] D18671: [CUDA] Add --cuda-flush-denormals-to-zero.

2016-04-05 Thread Justin Lebar via cfe-commits
jlebar added a comment. Reid, are we good here? http://reviews.llvm.org/D18671 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Re: [PATCH] D18672: [NVPTX] Read __CUDA_FTZ from module flags in NVVMReflect.

2016-03-31 Thread Justin Lebar via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL265090: [NVPTX] Read __CUDA_FTZ from module flags in NVVMReflect. (authored by jlebar). Changed prior to commit: http://reviews.llvm.org/D18672?vs=52274=52320#toc Repository: rL LLVM

r265083 - [CUDA] Fix typo in __clang_cuda_runtime_wrapper.h.

2016-03-31 Thread Justin Lebar via cfe-commits
Author: jlebar Date: Thu Mar 31 19:25:42 2016 New Revision: 265083 URL: http://llvm.org/viewvc/llvm-project?rev=265083=rev Log: [CUDA] Fix typo in __clang_cuda_runtime_wrapper.h. We're #including the wrong file! Modified: cfe/trunk/lib/Headers/__clang_cuda_runtime_wrapper.h Modified:

Re: [PATCH] D18671: [CUDA] Add --cuda-flush-denormals-to-zero.

2016-03-31 Thread Justin Lebar via cfe-commits
jlebar added a comment. Thank you for explaining that, Reid! http://reviews.llvm.org/D18671 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Re: [PATCH] D18671: [CUDA] Add --cuda-flush-denormals-to-zero.

2016-03-31 Thread Justin Lebar via cfe-commits
jlebar added inline comments. Comment at: lib/Frontend/CompilerInvocation.cpp:1567 @@ +1566,3 @@ + if (Opts.CUDAIsDevice && Args.hasArg(OPT_fcuda_flush_denormals_to_zero)) +Opts.CUDADeviceFlushDenormalsToZero = 1; + Aha, I knew there had to be a better way

Re: [PATCH] D18671: [CUDA] Add --cuda-flush-denormals-to-zero.

2016-03-31 Thread Justin Lebar via cfe-commits
jlebar updated this revision to Diff 52310. jlebar marked an inline comment as done. jlebar added a comment. Update flags so we only pass -fcuda-flush-denormals-to-zero to cc1 if appropriate. http://reviews.llvm.org/D18671 Files: include/clang/Basic/LangOptions.def

Re: [PATCH] D18671: [CUDA] Add --cuda-flush-denormals-to-zero.

2016-03-31 Thread Justin Lebar via cfe-commits
jlebar updated this revision to Diff 52302. jlebar marked an inline comment as done. jlebar added a comment. Add -fno variant. http://reviews.llvm.org/D18671 Files: include/clang/Basic/LangOptions.def include/clang/Driver/Options.td lib/CodeGen/CGCall.cpp lib/CodeGen/CodeGenModule.cpp

Re: [PATCH] D18671: [CUDA] Add --cuda-flush-denormals-to-zero.

2016-03-31 Thread Justin Lebar via cfe-commits
jlebar marked an inline comment as done. Comment at: include/clang/Driver/Options.td:385 @@ -384,1 +384,3 @@ HelpText<"CUDA installation path">; +def fcuda_flush_denormals_to_zero : Flag<["-"], "fcuda-flush-denormals-to-zero">, + Group, Flags<[CC1Option]>,

Re: [PATCH] D18671: [CUDA] Add --cuda-flush-denormals-to-zero.

2016-03-31 Thread Justin Lebar via cfe-commits
jlebar updated this revision to Diff 52292. jlebar added a comment. Address tra's review comments. I also decided no longer to turn this on when -menable-unsafe-fp-math is on: That's a cc1 flag that's implied by various clang flags, but now ftz is a clang flag, so turning it on implicitly didn't

Re: [PATCH] D18671: [CUDA] Add --cuda-flush-denormals-to-zero.

2016-03-31 Thread Justin Lebar via cfe-commits
jlebar added a comment. Thank you for the review, Art! Comment at: include/clang/Driver/Options.td:385 @@ -384,1 +384,3 @@ HelpText<"CUDA installation path">; +def cuda_flush_denormals_to_zero : Flag<["--"], "cuda-flush-denormals-to-zero">, + HelpText<"Flush denormal

[PATCH] D18672: [NVPTX] Read __CUDA_FTZ from module flags in NVVMReflect.

2016-03-31 Thread Justin Lebar via cfe-commits
jlebar created this revision. jlebar added reviewers: tra, rnk. jlebar added a subscriber: cfe-commits. Herald added a subscriber: jholewinski. Previously the NVVMReflect pass would read its configuration from command-line flags or a static configuration given to the pass at instantiation time.

[PATCH] D18671: [CUDA] Add --cuda-flush-denormals-to-zero.

2016-03-31 Thread Justin Lebar via cfe-commits
jlebar created this revision. jlebar added reviewers: tra, rnk. jlebar added a subscriber: cfe-commits. Setting this flag causes all functions are annotated with the "nvvm-f32ftz" = "true" attribute. In addition, we annotate the module with "nvvm-reflect-ftz" set to 0 or 1, depending on whether

r264969 - [CUDA] Add -disable-llvm-passes to CodeGenCUDA/link-device-bitcode.cu. NFC

2016-03-30 Thread Justin Lebar via cfe-commits
Author: jlebar Date: Wed Mar 30 18:45:38 2016 New Revision: 264969 URL: http://llvm.org/viewvc/llvm-project?rev=264969=rev Log: [CUDA] Add -disable-llvm-passes to CodeGenCUDA/link-device-bitcode.cu. NFC We already have this flag in most of the file, but we need it everywhere else, to disable

Re: [PATCH] D18539: [CUDA] Add math forward declares.

2016-03-30 Thread Justin Lebar via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL264963: [CUDA] Add math forward declares to CUDA header wrapper. (authored by jlebar). Changed prior to commit: http://reviews.llvm.org/D18539?vs=51988=52151#toc Repository: rL LLVM

r264965 - [CUDA] Don't initialize the CUDA toolchain if we don't have any CUDA inputs.

2016-03-30 Thread Justin Lebar via cfe-commits
Author: jlebar Date: Wed Mar 30 18:30:25 2016 New Revision: 264965 URL: http://llvm.org/viewvc/llvm-project?rev=264965=rev Log: [CUDA] Don't initialize the CUDA toolchain if we don't have any CUDA inputs. Summary: This prevents errors when you invoke clang with a flag that the NVPTX toolchain

r264964 - [CUDA] Make unattributed constexpr functions implicitly host+device.

2016-03-30 Thread Justin Lebar via cfe-commits
Author: jlebar Date: Wed Mar 30 18:30:21 2016 New Revision: 264964 URL: http://llvm.org/viewvc/llvm-project?rev=264964=rev Log: [CUDA] Make unattributed constexpr functions implicitly host+device. With this patch, by a constexpr function is implicitly host+device unless: a) it's a variadic

r264963 - [CUDA] Add math forward declares to CUDA header wrapper.

2016-03-30 Thread Justin Lebar via cfe-commits
Author: jlebar Date: Wed Mar 30 18:30:14 2016 New Revision: 264963 URL: http://llvm.org/viewvc/llvm-project?rev=264963=rev Log: [CUDA] Add math forward declares to CUDA header wrapper. Summary: This is necessary for a future patch which will make all constexpr functions implicitly host+device.

Re: [PATCH] D18629: [CUDA] Don't initialize the CUDA toolchain if we don't have any CUDA inputs.

2016-03-30 Thread Justin Lebar via cfe-commits
jlebar added a comment. Discussed offline, this is clang-formatted. Thank you for the review, Eric! http://reviews.llvm.org/D18629 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Re: [PATCH] D18380: [CUDA] Make unattributed constexpr functions (usually) implicitly host+device.

2016-03-30 Thread Justin Lebar via cfe-commits
jlebar marked an inline comment as done. jlebar added a comment. Thank you all your time here, Art, Reid, and Richard. Fingers crossed we don't have to worry about this again for a while... http://reviews.llvm.org/D18380 ___ cfe-commits mailing

Re: [PATCH] D18539: [CUDA] Add math forward declares.

2016-03-30 Thread Justin Lebar via cfe-commits
jlebar marked an inline comment as done. jlebar added a comment. Thank you for the review, Art! http://reviews.llvm.org/D18539 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D18629: [CUDA] Don't initialize the CUDA toolchain if we don't have any CUDA inputs.

2016-03-30 Thread Justin Lebar via cfe-commits
jlebar created this revision. jlebar added a reviewer: tra. jlebar added subscribers: cfe-commits, sunfish, echristo. This prevents errors when you invoke clang with a flag that the NVPTX toolchain doesn't support. For example, on x86-64, clang -mthread-model single -x c++ /dev/null -o

r264920 - [Sema] s/UseUsingDeclRules/UseMemberUsingDeclRules/

2016-03-30 Thread Justin Lebar via cfe-commits
Author: jlebar Date: Wed Mar 30 15:41:05 2016 New Revision: 264920 URL: http://llvm.org/viewvc/llvm-project?rev=264920=rev Log: [Sema] s/UseUsingDeclRules/UseMemberUsingDeclRules/ Summary: IsOverload has a param named UseUsingDeclRules. But as far as I can tell, it should be called

Re: [PATCH] D18538: [Sema] s/UseUsingDeclRules/UseMemberUsingDeclRules/

2016-03-30 Thread Justin Lebar via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL264920: [Sema] s/UseUsingDeclRules/UseMemberUsingDeclRules/ (authored by jlebar). Changed prior to commit: http://reviews.llvm.org/D18538?vs=51866=52117#toc Repository: rL LLVM

[PATCH] D18617: Call TargetMachine::addEarlyAsPossiblePasses from BackendUtil.

2016-03-30 Thread Justin Lebar via cfe-commits
jlebar created this revision. jlebar added a reviewer: chandlerc. jlebar added subscribers: tra, cfe-commits, rnk. As of D18614, TargetMachine exposes a hook to add a set of passes that should be run as early as possible. Invoke this hook from clang when setting up the pass manager.

Re: [PATCH] D18380: [CUDA] Make unattributed constexpr functions (usually) implicitly host+device.

2016-03-30 Thread Justin Lebar via cfe-commits
jlebar added a comment. (Just to be clear, I'm waiting on Richard's review here, even though he lg'ed an version of this patch.) http://reviews.llvm.org/D18380 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[PATCH] D18613: [PassManager] Make PassManagerBuilder::addExtension take an std::function, rather than a function pointer.

2016-03-30 Thread Justin Lebar via cfe-commits
jlebar created this revision. jlebar added a reviewer: chandlerc. jlebar added a subscriber: cfe-commits. Herald added a subscriber: joker.eph. This gives callers flexibility to pass lambdas with captures, which lets callers avoid the C-style void*-ptr closure style. (Currently, callers in clang

Re: [PATCH] D18539: [CUDA] Add math forward declares.

2016-03-29 Thread Justin Lebar via cfe-commits
jlebar updated this revision to Diff 51988. jlebar added a comment. Fix typo in wrapper header. (How did this ever work??) http://reviews.llvm.org/D18539 Files: lib/Headers/CMakeLists.txt lib/Headers/__clang_cuda_math_forward_declares.h lib/Headers/__clang_cuda_runtime_wrapper.h Index:

r264740 - [CUDA] Make CUDA description strings in langopts into noun phrases. NFC

2016-03-29 Thread Justin Lebar via cfe-commits
Author: jlebar Date: Tue Mar 29 11:24:20 2016 New Revision: 264740 URL: http://llvm.org/viewvc/llvm-project?rev=264740=rev Log: [CUDA] Make CUDA description strings in langopts into noun phrases. NFC rsmith quoth in D18380: > This should be a noun phrase -- this string appears in contexts like

r264739 - [CUDA] Remove three obsolete CUDA cc1 flags.

2016-03-29 Thread Justin Lebar via cfe-commits
Author: jlebar Date: Tue Mar 29 11:24:16 2016 New Revision: 264739 URL: http://llvm.org/viewvc/llvm-project?rev=264739=rev Log: [CUDA] Remove three obsolete CUDA cc1 flags. Summary: * -fcuda-target-overloads Previously unconditionally set to true by the driver. Necessary for correct

r264741 - [CUDA] Fix order of overloading preferences in comment.

2016-03-29 Thread Justin Lebar via cfe-commits
Author: jlebar Date: Tue Mar 29 11:24:22 2016 New Revision: 264741 URL: http://llvm.org/viewvc/llvm-project?rev=264741=rev Log: [CUDA] Fix order of overloading preferences in comment. Modified: cfe/trunk/lib/Sema/SemaCUDA.cpp Modified: cfe/trunk/lib/Sema/SemaCUDA.cpp URL:

r264742 - [CUDA] Add missing #undef __DEVICE__ to CUDA shim header.

2016-03-29 Thread Justin Lebar via cfe-commits
Author: jlebar Date: Tue Mar 29 11:24:23 2016 New Revision: 264742 URL: http://llvm.org/viewvc/llvm-project?rev=264742=rev Log: [CUDA] Add missing #undef __DEVICE__ to CUDA shim header. Modified: cfe/trunk/lib/Headers/__clang_cuda_cmath.h Modified: cfe/trunk/lib/Headers/__clang_cuda_cmath.h

Re: [PATCH] D18380: [CUDA] Make unattributed constexpr functions (usually) implicitly host+device.

2016-03-28 Thread Justin Lebar via cfe-commits
jlebar added a comment. In http://reviews.llvm.org/D18380#385240, @tra wrote: > What if instead of permanently sticking HD attributes on the constexpr > function, we instead postpone decision to the point of overload resolution > and figure out effective attributes or call preference based on

Re: [PATCH] D18380: [CUDA] Make unattributed constexpr functions (usually) implicitly host+device.

2016-03-28 Thread Justin Lebar via cfe-commits
jlebar updated this revision to Diff 51868. jlebar added a comment. Update per changes to patch description. Now a constexpr becomes implicitly HD unless there's a preceeding __device__ overload. http://reviews.llvm.org/D18380 Files: include/clang/Basic/DiagnosticSemaKinds.td

Re: [PATCH] D18380: [CUDA] Make unattributed constexpr functions (usually) implicitly host+device.

2016-03-28 Thread Justin Lebar via cfe-commits
jlebar added a comment. Updated as discussed -- please have a look. http://reviews.llvm.org/D18380 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D18539: [CUDA] Add math forward declares.

2016-03-28 Thread Justin Lebar via cfe-commits
jlebar created this revision. jlebar added reviewers: rnk, rsmith, tra. jlebar added a subscriber: cfe-commits. This is necessary for a future patch which will make all constexpr functions implicitly host+device. cmath may declare constexpr functions, but these we do *not* want to be

[PATCH] D18538: [Sema] s/UseUsingDeclRules/UseMemberUsingDeclRules/

2016-03-28 Thread Justin Lebar via cfe-commits
jlebar created this revision. jlebar added a reviewer: rsmith. jlebar added a subscriber: cfe-commits. IsOverload has a param named UseUsingDeclRules. But as far as I can tell, it should be called UseMemberUsingDeclRules. That is, it only applies to "using" declarations inside classes or

Re: [PATCH] D18458: [CUDA] Mangle __host__ __device__ functions differently than __host__ or __device__ functions.

2016-03-28 Thread Justin Lebar via cfe-commits
jlebar abandoned this revision. jlebar added a comment. New plan, R2: Let nvcc win. After much discussion, we're abandoning this because we want to maintain abi compatibility with nvcc. I'm about to upload a revised approach to http://reviews.llvm.org/D18380 that won't require this.

Re: [PATCH] D18458: [CUDA] Mangle __host__ __device__ functions differently than __host__ or __device__ functions.

2016-03-28 Thread Justin Lebar via cfe-commits
ferently, or just the HD functions which can be overloaded? On Mon, Mar 28, 2016 at 9:23 AM, Richard Smith <rich...@metafoo.co.uk> wrote: > On 27 Mar 2016 9:56 a.m., "Justin Lebar via cfe-commits" > <cfe-commits@lists.llvm.org> wrote: >> >> jlebar added

Re: [PATCH] D18458: [CUDA] Mangle __host__ __device__ functions differently than __host__ or __device__ functions.

2016-03-27 Thread Justin Lebar via cfe-commits
jlebar added a comment. > OK, so the question for you is, how much ABI compatibility with NVCC are you > prepared to give up in order to allow HD / D overloading and HD / H > overloading? At the moment, getting this feature to work seems more important than maintaining ABI compatibility with

Re: [PATCH] D18458: [CUDA] Mangle __host__ __device__ functions differently than __host__ or __device__ functions.

2016-03-25 Thread Justin Lebar via cfe-commits
jlebar added a comment. In http://reviews.llvm.org/D18458#383719, @rsmith wrote: > It seems like we have the following constraint: on host, no attributes must > mangle the same as `__host__ __device__` and `constexpr` (and probably > `__global__`?). Yes to `__host__ __device__` and

Re: [PATCH] D18458: [CUDA] Mangle __host__ __device__ functions differently than __host__ or __device__ functions.

2016-03-25 Thread Justin Lebar via cfe-commits
jlebar added a comment. > ! In http://reviews.llvm.org/D18458#383276, @jlebar wrote: > > > ! In http://reviews.llvm.org/D18458#383266, @rsmith wrote: > > > This makes the "`constexpr` implies `__host__` `__device__`" patch look > slightly questionable: two translation units defining the

Re: [PATCH] D18458: [CUDA] Mangle __host__ __device__ functions differently than __host__ or __device__ functions.

2016-03-24 Thread Justin Lebar via cfe-commits
jlebar added a comment. In http://reviews.llvm.org/D18458#383266, @rsmith wrote: > This makes the "`constexpr` implies `__host__` `__device__`" patch look > slightly questionable: two translation units defining the same `constexpr` > function will mangle that function differently depending on

Re: [PATCH] D18380: [CUDA] Implement -fcuda-relaxed-constexpr, and enable it by default.

2016-03-24 Thread Justin Lebar via cfe-commits
jlebar marked an inline comment as done. jlebar added a comment. Okay, just one more patch, http://reviews.llvm.org/D18458, then I think we're good here. (This is split up into two patches in my queue.) Thanks for your help, Richard. http://reviews.llvm.org/D18380

[PATCH] D18458: [CUDA] Mangle __host__ __device__ functions differently than __host__ or __device__ functions.

2016-03-24 Thread Justin Lebar via cfe-commits
jlebar created this revision. jlebar added a reviewer: rsmith. jlebar added subscribers: tra, cfe-commits. This is important because in a later patch, we will allow __host__ __device__ functions to be overloaded with __host__ / __device__ functions with the same signature, and we don't want a

Re: [PATCH] D18380: [CUDA] Implement -fcuda-relaxed-constexpr, and enable it by default.

2016-03-24 Thread Justin Lebar via cfe-commits
jlebar marked 2 inline comments as done. Comment at: include/clang/Basic/LangOptions.def:175 @@ -174,2 +174,3 @@ LANGOPT(CUDAAllowVariadicFunctions, 1, 0, "Allow variadic functions in CUDA device code") +LANGOPT(CUDAHostDeviceConstexpr, 1, 1, "Treat unattributed constexpr

Re: [PATCH] D18380: [CUDA] Implement -fcuda-relaxed-constexpr, and enable it by default.

2016-03-24 Thread Justin Lebar via cfe-commits
jlebar added a comment. Richard, are you happy here? http://reviews.llvm.org/D18380 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Re: [PATCH] D18380: [CUDA] Implement -fcuda-relaxed-constexpr, and enable it by default.

2016-03-23 Thread Justin Lebar via cfe-commits
jlebar updated this revision to Diff 51495. jlebar added a comment. Add check for __global__ constexpr functions. http://reviews.llvm.org/D18380 Files: include/clang/Basic/LangOptions.def include/clang/Driver/CC1Options.td lib/Frontend/CompilerInvocation.cpp lib/Sema/SemaDecl.cpp

Re: [PATCH] D18380: [CUDA] Implement -fcuda-relaxed-constexpr, and enable it by default.

2016-03-23 Thread Justin Lebar via cfe-commits
jlebar added inline comments. Comment at: lib/Sema/SemaDecl.cpp:8011-8013 @@ +8010,5 @@ + // allowed, so we just treat those as host-only. + if (getLangOpts().CUDA && getLangOpts().CUDAHostDeviceConstexpr && + NewFD->isConstexpr() && !NewFD->isVariadic() && +

Re: [PATCH] D18385: [CUDA] Simplify SemaCUDA/function-overload.cu test.

2016-03-23 Thread Justin Lebar via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL264206: [CUDA] Simplify SemaCUDA/function-overload.cu test. (authored by jlebar). Changed prior to commit: http://reviews.llvm.org/D18385?vs=51382=51484#toc Repository: rL LLVM

r264207 - [CUDA] Merge most of CodeGenCUDA/function-overload.cu into SemaCUDA/function-overload.cu.

2016-03-23 Thread Justin Lebar via cfe-commits
Author: jlebar Date: Wed Mar 23 17:42:30 2016 New Revision: 264207 URL: http://llvm.org/viewvc/llvm-project?rev=264207=rev Log: [CUDA] Merge most of CodeGenCUDA/function-overload.cu into SemaCUDA/function-overload.cu. Summary: Previously we were using the codegen test to ensure that we choose

Re: [PATCH] D18386: [CUDA] Merge most of CodeGenCUDA/function-overload.cu into SemaCUDA/function-overload.cu.

2016-03-23 Thread Justin Lebar via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL264207: [CUDA] Merge most of CodeGenCUDA/function-overload.cu into SemaCUDA/function… (authored by jlebar). Changed prior to commit: http://reviews.llvm.org/D18386?vs=51383=51485#toc Repository: rL

Re: [PATCH] D18417: [CUDA] Don't define __NVCC__.

2016-03-23 Thread Justin Lebar via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL264205: [CUDA] Don't define __NVCC__. (authored by jlebar). Changed prior to commit: http://reviews.llvm.org/D18417?vs=51482=51483#toc Repository: rL LLVM http://reviews.llvm.org/D18417 Files:

r264206 - [CUDA] Simplify SemaCUDA/function-overload.cu test.

2016-03-23 Thread Justin Lebar via cfe-commits
Author: jlebar Date: Wed Mar 23 17:42:28 2016 New Revision: 264206 URL: http://llvm.org/viewvc/llvm-project?rev=264206=rev Log: [CUDA] Simplify SemaCUDA/function-overload.cu test. Summary: Principally, don't hardcode the line numbers of various notes. This lets us make changes to the test

[PATCH] D18417: [CUDA] Don't define __NVCC__.

2016-03-23 Thread Justin Lebar via cfe-commits
jlebar created this revision. jlebar added a reviewer: tra. jlebar added a subscriber: cfe-commits. We decided this makes life too difficult for code authors. For example, people may want to detect NVCC and disable variadic templates, which NVCC does not support, but which we do. Since people

[PATCH] D18416: [CUDA] Remove three obsolete CUDA cc1 flags.

2016-03-23 Thread Justin Lebar via cfe-commits
jlebar created this revision. jlebar added a reviewer: tra. jlebar added subscribers: cfe-commits, rsmith. * -fcuda-target-overloads Previously unconditionally set to true by the driver. Necessary for correct functioning of the compiler -- our CUDA headers wrapper won't compile without

Re: [PATCH] D18380: [CUDA] Implement -fcuda-relaxed-constexpr, and enable it by default.

2016-03-23 Thread Justin Lebar via cfe-commits
jlebar added a comment. Changed as discussed. Please have another look. Thank you for your continued patience here. http://reviews.llvm.org/D18380 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

Re: [PATCH] D18380: [CUDA] Implement -fcuda-relaxed-constexpr, and enable it by default.

2016-03-23 Thread Justin Lebar via cfe-commits
jlebar updated this revision to Diff 51479. jlebar added a comment. Switch to -fno-cuda-host-device-constexpr. Only implicitly add the attributes on functions which themselves lack host/device attributes. Add more tests. http://reviews.llvm.org/D18380 Files:

Re: [PATCH] D18385: [CUDA] Simplify SemaCUDA/function-overload.cu test.

2016-03-23 Thread Justin Lebar via cfe-commits
jlebar marked an inline comment as done. jlebar added a comment. One comment is done, will be reflected when I submit. Thank you! http://reviews.llvm.org/D18385 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

Re: [PATCH] D18171: [CUDA][OpenMP] Create generic offload action

2016-03-23 Thread Justin Lebar via cfe-commits
jlebar added a comment. > @jlebar: Justin, any suggestions on what we can/should do regarding [const > correctness issues]? Using "mutable" to work around const-incorrectness should be a last resort. I've been frustrated by the const-incorrectness of Action as well, but if it's an issue

Re: [PATCH] D18380: [CUDA] Implement -fcuda-relaxed-constexpr, and enable it by default.

2016-03-23 Thread Justin Lebar via cfe-commits
jlebar added inline comments. Comment at: include/clang/Driver/CC1Options.td:702-703 @@ -701,2 +701,4 @@ HelpText<"Allow variadic functions in CUDA device code.">; +def fcuda_relaxed_constexpr : Flag<["-"], "fcuda-relaxed-constexpr">, + HelpText<"Treat constexpr functions as

Re: [PATCH] D18380: [CUDA] Implement -fcuda-relaxed-constexpr, and enable it by default.

2016-03-23 Thread Justin Lebar via cfe-commits
jlebar added inline comments. Comment at: include/clang/Driver/CC1Options.td:702-703 @@ -701,2 +701,4 @@ HelpText<"Allow variadic functions in CUDA device code.">; +def fcuda_relaxed_constexpr : Flag<["-"], "fcuda-relaxed-constexpr">, + HelpText<"Treat constexpr functions as

[PATCH] D18385: [CUDA] Simplify SemaCUDA/function-overload.cu test.

2016-03-22 Thread Justin Lebar via cfe-commits
jlebar created this revision. jlebar added a reviewer: tra. jlebar added a subscriber: cfe-commits. Principally, don't hardcode the line numbers of various notes. This lets us make changes to the test without recomputing linenos everywhere. Instead, just tell -verify that we may get 0 or more

[PATCH] D18386: [CUDA] Merge most of CodeGenCUDA/function-overload.cu into SemaCUDA/function-overload.cu.

2016-03-22 Thread Justin Lebar via cfe-commits
jlebar created this revision. jlebar added a reviewer: tra. jlebar added a subscriber: cfe-commits. Previously we were using the codegen test to ensure that we choose the right overload. But we can do this within sema, with a bit of cleverness. I left the constructor/destructor checks in

Re: [PATCH] D18380: [CUDA] Implement -fcuda-relaxed-constexpr, and enable it by default.

2016-03-22 Thread Justin Lebar via cfe-commits
jlebar updated this revision to Diff 51384. jlebar added a comment. Update test as discussed -- now we check that we're invoking the correct overloads. http://reviews.llvm.org/D18380 Files: include/clang/Basic/LangOptions.def include/clang/Driver/CC1Options.td lib/Driver/Tools.cpp

Re: [PATCH] D18380: [CUDA] Implement -fcuda-relaxed-constexpr, and enable it by default.

2016-03-22 Thread Justin Lebar via cfe-commits
jlebar added a comment. In http://reviews.llvm.org/D18380#381031, @tra wrote: > We need tests to demonstrate that we pick correct function when we have mix > of HD+H/D in the overload set. > Existing tests only cover resolution of {HD,HD}, {H,H} {D,D} {H,D} sets Aha, got it. I think adding

Re: [PATCH] D18380: [CUDA] Implement -fcuda-relaxed-constexpr, and enable it by default.

2016-03-22 Thread Justin Lebar via cfe-commits
jlebar updated this revision to Diff 51366. jlebar added a comment. Add tests checking host+device overloading. http://reviews.llvm.org/D18380 Files: include/clang/Basic/LangOptions.def include/clang/Driver/CC1Options.td lib/Driver/Tools.cpp lib/Frontend/CompilerInvocation.cpp

Re: [PATCH] D18380: [CUDA] Implement -fcuda-relaxed-constexpr, and enable it by default.

2016-03-22 Thread Justin Lebar via cfe-commits
jlebar added a comment. In http://reviews.llvm.org/D18380#381025, @tra wrote: > Now that H/D and HD cal all be in the same overload set, we'll also need > additional tests in CodeGenCUDA/function-overload.cu for cases that now > became legal. There are lots of tests that used to be compile

Re: [PATCH] D18380: [CUDA] Implement -fcuda-relaxed-constexpr, and enable it by default.

2016-03-22 Thread Justin Lebar via cfe-commits
jlebar updated this revision to Diff 51357. jlebar added a comment. Actually run the tests, and fix the CUDA overloading test. http://reviews.llvm.org/D18380 Files: include/clang/Basic/LangOptions.def include/clang/Driver/CC1Options.td lib/Driver/Tools.cpp

Re: [PATCH] D18373: [CUDA] Don't allow templated variadic functions.

2016-03-22 Thread Justin Lebar via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL264106: [CUDA] Don't allow templated variadic functions. (authored by jlebar). Changed prior to commit: http://reviews.llvm.org/D18373?vs=51332=51354#toc Repository: rL LLVM

r264106 - [CUDA] Don't allow templated variadic functions.

2016-03-22 Thread Justin Lebar via cfe-commits
Author: jlebar Date: Tue Mar 22 17:06:19 2016 New Revision: 264106 URL: http://llvm.org/viewvc/llvm-project?rev=264106=rev Log: [CUDA] Don't allow templated variadic functions. Reviewers: tra Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D18373 Modified:

[PATCH] D18380: [CUDA] Implement -fcuda-relaxed-constexpr, and enable it by default.

2016-03-22 Thread Justin Lebar via cfe-commits
jlebar created this revision. jlebar added a reviewer: tra. jlebar added subscribers: rsmith, rnk, cfe-commits. All constexpr functions are implicitly host+device, except for variadic functions, which are not allowed on the device side. As part of this change, we now allow you to overload a

Re: [PATCH] D18328: [CUDA] Add option to mark most functions inside as host+device.

2016-03-22 Thread Justin Lebar via cfe-commits
jlebar abandoned this revision. jlebar marked 7 inline comments as done. jlebar added a comment. Okay, after much discussion, we've decided to go with --relaxed-constexpr instead of this. I have a patch for that which seems to mostly work, will send it out soon.

[PATCH] D18373: [CUDA] Don't allow templated variadic functions.

2016-03-22 Thread Justin Lebar via cfe-commits
jlebar created this revision. jlebar added a reviewer: tra. jlebar added a subscriber: cfe-commits. http://reviews.llvm.org/D18373 Files: lib/Sema/SemaDecl.cpp test/SemaCUDA/vararg.cu Index: test/SemaCUDA/vararg.cu === ---

r264008 - [sema] [CUDA] Use std algorithms in EraseUnwantedCUDAMatchesImpl.

2016-03-21 Thread Justin Lebar via cfe-commits
Author: jlebar Date: Mon Mar 21 19:09:25 2016 New Revision: 264008 URL: http://llvm.org/viewvc/llvm-project?rev=264008=rev Log: [sema] [CUDA] Use std algorithms in EraseUnwantedCUDAMatchesImpl. Summary: NFC Reviewers: tra Subscribers: cfe-commits Differential Revision:

r264009 - [CUDA] Implement atomicInc and atomicDec builtins

2016-03-21 Thread Justin Lebar via cfe-commits
Author: jlebar Date: Mon Mar 21 19:09:28 2016 New Revision: 264009 URL: http://llvm.org/viewvc/llvm-project?rev=264009=rev Log: [CUDA] Implement atomicInc and atomicDec builtins These functions cannot be implemented as atomicrmw or cmpxchg instructions, so they are implemented as a call to the

Re: [PATCH] D18327: [sema] [CUDA] Use std algorithms in EraseUnwantedCUDAMatchesImpl.

2016-03-21 Thread Justin Lebar via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL264008: [sema] [CUDA] Use std algorithms in EraseUnwantedCUDAMatchesImpl. (authored by jlebar). Changed prior to commit: http://reviews.llvm.org/D18327?vs=51220=51247#toc Repository: rL LLVM

Re: [PATCH] D18322: [CUDA] Implement atomicInc and atomicDec builtins

2016-03-21 Thread Justin Lebar via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL264009: [CUDA] Implement atomicInc and atomicDec builtins (authored by jlebar). Changed prior to commit: http://reviews.llvm.org/D18322?vs=51191=51248#toc Repository: rL LLVM

Re: [PATCH] D18328: [CUDA] Add option to mark most functions inside as host+device.

2016-03-21 Thread Justin Lebar via cfe-commits
jlebar added inline comments. Comment at: include/clang/Driver/Options.td:383-384 @@ -382,2 +382,4 @@ HelpText<"Enable device-side debug info generation. Disables ptxas optimizations.">; +def cuda_allow_std_complex : Flag<["--"], "cuda-allow-std-complex">, + HelpText<"Allow

Re: [PATCH] D18328: [CUDA] Add option to mark most functions inside as host+device.

2016-03-21 Thread Justin Lebar via cfe-commits
jlebar added inline comments. Comment at: include/clang/Driver/Options.td:383-384 @@ -382,2 +382,4 @@ HelpText<"Enable device-side debug info generation. Disables ptxas optimizations.">; +def cuda_allow_std_complex : Flag<["--"], "cuda-allow-std-complex">, + HelpText<"Allow

Re: [PATCH] D18328: [CUDA] Add option to mark most functions inside as host+device.

2016-03-21 Thread Justin Lebar via cfe-commits
jlebar added inline comments. Comment at: include/clang/Driver/Options.td:383-384 @@ -382,2 +382,4 @@ HelpText<"Enable device-side debug info generation. Disables ptxas optimizations.">; +def cuda_allow_std_complex : Flag<["--"], "cuda-allow-std-complex">, + HelpText<"Allow

<    1   2   3   4   5   6   7   8   9   >