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:
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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.
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
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:
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
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
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
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
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:
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
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
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
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
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]>,
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
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
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.
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
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
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
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
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
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.
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
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
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
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
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
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
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.
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
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
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:
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
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
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:
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
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
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
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
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
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
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.
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
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
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
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
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
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
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
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
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
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
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() &&
+
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
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
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
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:
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
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
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
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
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:
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
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
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
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
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
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
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
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
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
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
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
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
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:
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
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.
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
===
---
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:
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
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
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
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
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
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
501 - 600 of 819 matches
Mail list logo