Re: r283680 - [CUDA] Support and std::min/max on the device.

2016-10-08 Thread Justin Lebar via cfe-commits
> > The fix is not as simple as simply changing our implementation of > e.g. > std::isnan to call __builtin_isnanf, because we also would want to > fix > ::isnanf, > > No, if I understand what you're saying, you specifically wouldn't. I understand how this is feasible on the CPU, because ::isnan i

[PATCH] D25387: When optimizing for size, enable loop rerolling by default.

2016-10-08 Thread Hal Finkel via cfe-commits
hfinkel closed this revision. hfinkel added a comment. r283685 https://reviews.llvm.org/D25387 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

r283685 - When optimizing for size, enable loop rerolling by default

2016-10-08 Thread Hal Finkel via cfe-commits
Author: hfinkel Date: Sat Oct 8 22:06:31 2016 New Revision: 283685 URL: http://llvm.org/viewvc/llvm-project?rev=283685&view=rev Log: When optimizing for size, enable loop rerolling by default We have a loop-rerolling optimization which can be enabled by using -freroll-loops. While sometimes loop

Re: [libcxx] r283659 - [cmake] Split linked libraries into private & public, for linker script

2016-10-08 Thread Hal Finkel via cfe-commits
- Original Message - > From: "Hal Finkel" > To: "Hal Finkel" > Cc: cfe-commits@lists.llvm.org, "Michal Gorny" > Sent: Saturday, October 8, 2016 9:43:02 PM > Subject: Re: [libcxx] r283659 - [cmake] Split linked libraries into private & > public, for linker script > > - Original Mess

[libcxx] r283684 - [CMake] Fix in-tree libcxxabi build support after r283659

2016-10-08 Thread Hal Finkel via cfe-commits
Author: hfinkel Date: Sat Oct 8 21:49:31 2016 New Revision: 283684 URL: http://llvm.org/viewvc/llvm-project?rev=283684&view=rev Log: [CMake] Fix in-tree libcxxabi build support after r283659 r283659 changed the argument to gen_link_script.py from SCRIPT_ABI_LIBNAME to LIBCXX_LIBRARIES_PUBLIC, as

Re: [libcxx] r283659 - [cmake] Split linked libraries into private & public, for linker script

2016-10-08 Thread Hal Finkel via cfe-commits
- Original Message - > From: "Hal Finkel" > To: "Hal Finkel" > Cc: cfe-commits@lists.llvm.org, "Michal Gorny" > Sent: Saturday, October 8, 2016 9:34:58 PM > Subject: Re: [libcxx] r283659 - [cmake] Split linked libraries into private & > public, for linker script > > - Original Mess

Re: [libcxx] r283659 - [cmake] Split linked libraries into private & public, for linker script

2016-10-08 Thread Hal Finkel via cfe-commits
- Original Message - > From: "Hal Finkel via cfe-commits" > To: "Michal Gorny" > Cc: cfe-commits@lists.llvm.org > Sent: Saturday, October 8, 2016 6:37:50 PM > Subject: Re: [libcxx] r283659 - [cmake] Split linked libraries into private & > public, for linker script > > Hi Michal, > > Al

Re: r283680 - [CUDA] Support and std::min/max on the device.

2016-10-08 Thread Hal Finkel via cfe-commits
- Original Message - > From: "Justin Lebar" > To: "Hal Finkel" > Cc: "Clang Commits" > Sent: Saturday, October 8, 2016 6:16:12 PM > Subject: Re: r283680 - [CUDA] Support and std::min/max on the > device. > > Hal, > > On NVPTX, these functions eventually get resolved to function calls

r283683 - [CUDA] Don't install cuda_wrappers/{algorithm, complex} into the main include dir.

2016-10-08 Thread Justin Lebar via cfe-commits
Author: jlebar Date: Sat Oct 8 19:27:39 2016 New Revision: 283683 URL: http://llvm.org/viewvc/llvm-project?rev=283683&view=rev Log: [CUDA] Don't install cuda_wrappers/{algorithm,complex} into the main include dir. This is obviously wrong -- if we do this, then all compiles will pick up these wr

Re: [libcxx] r283659 - [cmake] Split linked libraries into private & public, for linker script

2016-10-08 Thread Hal Finkel via cfe-commits
Hi Michal, All of the libc++ and libc++abi regression tests are now failing on my Linux build system with this error: /usr/bin/ld: cannot find -lcxxabi_shared My build directory has only these: lib/libc++.a lib/libc++abi.so lib/libc++abi.so.1 lib/libc++abi.so.1.0 lib/libc++experimental.a lib

Re: r283680 - [CUDA] Support and std::min/max on the device.

2016-10-08 Thread Justin Lebar via cfe-commits
Hal, On NVPTX, these functions eventually get resolved to function calls in libdevice, e.g. __nv_isinff and __nv_isnanf. llvm does not do a good job understanding the body of e.g. __nvvm_isnanf, because it uses nvptx-specific intrinsic functions, notably @llvm.nvvm.fabs.f. These are opaque to th

Re: r283680 - [CUDA] Support and std::min/max on the device.

2016-10-08 Thread Hal Finkel via cfe-commits
Hi Justin, This is neat! I see a bunch of uses of std::isinf, etc. here. It tends to be important that, when using -ffast-math (or -ffinite-math-only) these checks get optimized away. Can you please check that they do? If not, you might mirror what I've done in r283051 for libc++, which is sim

[PATCH] D25402: [Driver] Pass -lunwind when using libc++ + compiler-rt

2016-10-08 Thread Michał Górny via cfe-commits
mgorny planned changes to this revision. mgorny added a comment. I knew this looked too easy ;-). https://reviews.llvm.org/D25402 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D24979: [CUDA] Support and std::min/max on the device.

2016-10-08 Thread Justin Lebar via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL283680: [CUDA] Support and std::min/max on the device. (authored by jlebar). Changed prior to commit: https://reviews.llvm.org/D24979?vs=72719&id=74053#toc Repository: rL LLVM https://reviews.llvm.

r283680 - [CUDA] Support and std::min/max on the device.

2016-10-08 Thread Justin Lebar via cfe-commits
Author: jlebar Date: Sat Oct 8 17:16:12 2016 New Revision: 283680 URL: http://llvm.org/viewvc/llvm-project?rev=283680&view=rev Log: [CUDA] Support and std::min/max on the device. Summary: We do this by wrapping and . Tests are in the test-suite. Reviewers: tra Subscribers: jhen, beanz, cfe-

[PATCH] D24978: [CUDA] Rename cuda_builtin_vars.h to __clang_cuda_builtin_vars.h.

2016-10-08 Thread Justin Lebar via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL283679: [CUDA] Rename cuda_builtin_vars.h to __clang_cuda_builtin_vars.h. (authored by jlebar). Changed prior to commit: https://reviews.llvm.org/D24978?vs=72685&id=74054#toc Repository: rL LLVM htt

r283679 - [CUDA] Rename cuda_builtin_vars.h to __clang_cuda_builtin_vars.h.

2016-10-08 Thread Justin Lebar via cfe-commits
Author: jlebar Date: Sat Oct 8 17:16:08 2016 New Revision: 283679 URL: http://llvm.org/viewvc/llvm-project?rev=283679&view=rev Log: [CUDA] Rename cuda_builtin_vars.h to __clang_cuda_builtin_vars.h. Summary: This matches the idiom we use for our other CUDA wrapper headers. Reviewers: tra Subscr

r283678 - [CUDA] Declare our __device__ math functions in the same inline namespace as our standard library.

2016-10-08 Thread Justin Lebar via cfe-commits
Author: jlebar Date: Sat Oct 8 17:16:03 2016 New Revision: 283678 URL: http://llvm.org/viewvc/llvm-project?rev=283678&view=rev Log: [CUDA] Declare our __device__ math functions in the same inline namespace as our standard library. Summary: Currently we declare our inline __device__ math functio

r283677 - [CUDA] Add #pragma clang force_cuda_host_device_{begin, end} pragmas.

2016-10-08 Thread Justin Lebar via cfe-commits
Author: jlebar Date: Sat Oct 8 17:15:58 2016 New Revision: 283677 URL: http://llvm.org/viewvc/llvm-project?rev=283677&view=rev Log: [CUDA] Add #pragma clang force_cuda_host_device_{begin,end} pragmas. Summary: These cause us to consider all functions in-between to be __host__ __device__. You ca

[PATCH] D24977: [CUDA] Declare our __device__ math functions in the same inline namespace as our standard library.

2016-10-08 Thread Justin Lebar via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL283678: [CUDA] Declare our __device__ math functions in the same inline namespace as… (authored by jlebar). Changed prior to commit: https://reviews.llvm.org/D24977?vs=72684&id=74052#toc Repository:

[PATCH] D24975: [CUDA] Add #pragma clang force_cuda_host_device_{begin, end} pragmas.

2016-10-08 Thread Justin Lebar via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL283677: [CUDA] Add #pragma clang force_cuda_host_device_{begin,end} pragmas. (authored by jlebar). Changed prior to commit: https://reviews.llvm.org/D24975?vs=72734&id=74051#toc Repository: rL LLVM

[PATCH] D24975: [CUDA] Add #pragma clang force_cuda_host_device_{begin, end} pragmas.

2016-10-08 Thread Justin Lebar via cfe-commits
jlebar marked 2 inline comments as done. jlebar added a comment. In https://reviews.llvm.org/D24975#565054, @rsmith wrote: > Please add a test to test/PCH for the serialization code. Otherwise, LGTM. Test added. It caught a bug, too. :) Thank you for the review. https://reviews.llvm.org/D

[PATCH] D25402: [Driver] Pass -lunwind when using libc++ + compiler-rt

2016-10-08 Thread Joerg Sonnenberger via cfe-commits
joerg added a comment. So, what's the test change that matches the difference in output this creates? https://reviews.llvm.org/D25402 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D25402: [Driver] Pass -lunwind when using libc++ + compiler-rt

2016-10-08 Thread Michał Górny via cfe-commits
mgorny created this revision. mgorny added reviewers: ddunbar, EricWF, rsmith, phosek. mgorny added a subscriber: cfe-commits. Herald added a subscriber: dberris. Include -lunwind by default when libc++ is used as the standard C++ library and compiler-rt used as the runtime library. This aims to m

[PATCH] D25363: Store a SourceRange for multi-token builtin types

2016-10-08 Thread Malcolm Parsons via cfe-commits
malcolm.parsons added a comment. I've tested this with clang-query using `match typeLoc()` and a lot of permutations of int, short, long, unsigned, and const. https://reviews.llvm.org/D25363 ___ cfe-commits mailing list cfe-commits@lists.llvm.org h

[PATCH] D25363: Store a SourceRange for multi-token builtin types

2016-10-08 Thread Malcolm Parsons via cfe-commits
malcolm.parsons updated this revision to Diff 74047. malcolm.parsons added a comment. Replace TSWLoc with TSWRange https://reviews.llvm.org/D25363 Files: include/clang/AST/TypeLoc.h include/clang/Sema/DeclSpec.h lib/Sema/DeclSpec.cpp lib/Sema/SemaType.cpp Index: lib/Sema/SemaType.cpp =

[PATCH] D25316: [clang-tidy] Fix PR25499: Enhance modernize-use-auto to casts

2016-10-08 Thread Malcolm Parsons via cfe-commits
malcolm.parsons added a comment. In https://reviews.llvm.org/D25316#565378, @Prazek wrote: > Awesome to see this patch. After this one will make it to upstream, it will > be much easier for me to do same with template functions. I was trying to match such functions: varDecl(hasType(type().b

[PATCH] D25363: Store a SourceRange for multi-token builtin types

2016-10-08 Thread Malcolm Parsons via cfe-commits
malcolm.parsons added a comment. In https://reviews.llvm.org/D25363#565371, @Prazek wrote: > Thanks for the patch! I think some unit test should be added. Are there any existing unit tests for TypeLoc that I can add to? > Do you also handle cases like > > unsigned long long Yes - see tests

[clang-tools-extra] r283671 - Turn cl::values() (for enum) from a vararg function to using C++ variadic template

2016-10-08 Thread Mehdi Amini via cfe-commits
Author: mehdi_amini Date: Sat Oct 8 14:41:06 2016 New Revision: 283671 URL: http://llvm.org/viewvc/llvm-project?rev=283671&view=rev Log: Turn cl::values() (for enum) from a vararg function to using C++ variadic template The core of the change is supposed to be NFC, however it also fixes what I

r283671 - Turn cl::values() (for enum) from a vararg function to using C++ variadic template

2016-10-08 Thread Mehdi Amini via cfe-commits
Author: mehdi_amini Date: Sat Oct 8 14:41:06 2016 New Revision: 283671 URL: http://llvm.org/viewvc/llvm-project?rev=283671&view=rev Log: Turn cl::values() (for enum) from a vararg function to using C++ variadic template The core of the change is supposed to be NFC, however it also fixes what I

[PATCH] D25397: [change-namespace] don't miss comments in the beginning of a namespace block.

2016-10-08 Thread Eric Liu via cfe-commits
ioeric created this revision. ioeric added a reviewer: hokein. ioeric added a subscriber: cfe-commits. https://reviews.llvm.org/D25397 Files: change-namespace/ChangeNamespace.cpp unittests/change-namespace/ChangeNamespaceTests.cpp Index: unittests/change-namespace/ChangeNamespaceTests.cpp ==

[PATCH] D25316: [clang-tidy] Fix PR25499: Enhance modernize-use-auto to casts

2016-10-08 Thread Piotr Padlewski via cfe-commits
Prazek added a comment. Awesome to see this patch. After this one will make it to upstream, it will be much easier for me to do same with template functions. Comment at: test/clang-tidy/modernize-use-auto-cast-remove-stars.cpp:2 +// RUN: %check_clang_tidy %s modernize-use-auto

[PATCH] D25363: Store a SourceRange for multi-token builtin types

2016-10-08 Thread Piotr Padlewski via cfe-commits
Prazek added a comment. Thanks for the patch! I think some unit test should be added. Do you also handle cases like unsigned long long unsigned volatile long const long static etc. The problem here is that the whole type like "unsigned long long" could be in other tokens. I talked with Ri

[PATCH] D25204: Register Calling Convention, Clang changes

2016-10-08 Thread Erich Keane via cfe-commits
erichkeane added a comment. Quick point i meant to post earlier Couldn't change ExtInfo size. Comment at: include/clang/AST/Type.h:1381 /// regparm and the calling convention. -unsigned ExtInfo : 9; +unsigned ExtInfo : 10; ABataev wrote: > Erich

[PATCH] D25369: [clang-move] Better support enclosing class.

2016-10-08 Thread Eric Liu via cfe-commits
ioeric accepted this revision. ioeric added a comment. This revision is now accepted and ready to land. lg https://reviews.llvm.org/D25369 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-com

[PATCH] D25008: [cmake] Split linked libraries into private & public, for linker script

2016-10-08 Thread Michał Górny via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL283659: [cmake] Split linked libraries into private & public, for linker script (authored by mgorny). Changed prior to commit: https://reviews.llvm.org/D25008?vs=74020&id=74034#toc Repository: rL LLV

[PATCH] D24573: [CUDA] Do a better job at detecting wrong-side calls.

2016-10-08 Thread Justin Lebar via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL283637: [CUDA] Do a better job at detecting wrong-side calls. (authored by jlebar). Changed prior to commit: https://reviews.llvm.org/D24573?vs=71381&id=74030#toc Repository: rL LLVM https://reviews

[PATCH] D25316: [clang-tidy] Fix PR25499: Enhance modernize-use-auto to casts

2016-10-08 Thread Malcolm Parsons via cfe-commits
malcolm.parsons updated this revision to Diff 74022. malcolm.parsons added a comment. Rework handling of references https://reviews.llvm.org/D25316 Files: clang-tidy/modernize/UseAutoCheck.cpp clang-tidy/modernize/UseAutoCheck.h docs/clang-tidy/checks/modernize-use-auto.rst test/clang-t

[PATCH] D25335: [OpenCL] Allow partial initializer for array and struct

2016-10-08 Thread Anastasia Stulova via cfe-commits
Anastasia accepted this revision. Anastasia added a comment. This revision is now accepted and ready to land. LGTM! Comment at: test/CodeGenOpenCL/partial_initializer.cl:5 + +// CHECK: @GA = addrspace(1) global [6 x [6 x float]] {{[[][[]}}6 x float] [float 1.00e+00, float

[PATCH] D25343: [OpenCL] Mark group functions as noduplicate in opencl-c.h

2016-10-08 Thread Anastasia Stulova via cfe-commits
Anastasia added a comment. Do you have any code example where Clang/LLVM performs wrong optimizations with respect to the control flow of SPMD execution? My understanding from the earlier discussion we have had: https://www.mail-archive.com/cfe-commits@lists.llvm.org/msg22643.html that nodupli

[PATCH] D24715: [OpenCL] Block captured variables in dynamic parallelism - OpenCL 2.0

2016-10-08 Thread Anastasia Stulova via cfe-commits
Anastasia added a comment. However, it seems like we didn't provide quite complete implementation with respect to the captures yet as it's not possible at the moment for __enqueue_kernel_XXX to know the size of the captures or even the block literal struct itself to be able to copy the block da

Re: [libcxx] r283659 - [cmake] Split linked libraries into private & public, for linker script

2016-10-08 Thread Renato Golin via cfe-commits
On 8 October 2016 at 11:27, Michal Gorny via cfe-commits wrote: > Author: mgorny > Date: Sat Oct 8 05:27:45 2016 > New Revision: 283659 > > URL: http://llvm.org/viewvc/llvm-project?rev=283659&view=rev > Log: > [cmake] Split linked libraries into private & public, for linker script > > Introduce L

r283662 - [analyzer] Fix build error after r283660 - remove constexpr strings.

2016-10-08 Thread Artem Dergachev via cfe-commits
Author: dergachev Date: Sat Oct 8 06:07:21 2016 New Revision: 283662 URL: http://llvm.org/viewvc/llvm-project?rev=283662&view=rev Log: [analyzer] Fix build error after r283660 - remove constexpr strings. Modified: cfe/trunk/lib/StaticAnalyzer/Checkers/CheckObjCDealloc.cpp Modified: cfe/trun

r283661 - [analyzer] Re-apply r283094 "Improve CloneChecker diagnostics"

2016-10-08 Thread Artem Dergachev via cfe-commits
Author: dergachev Date: Sat Oct 8 05:54:30 2016 New Revision: 283661 URL: http://llvm.org/viewvc/llvm-project?rev=283661&view=rev Log: [analyzer] Re-apply r283094 "Improve CloneChecker diagnostics" The parent commit (r283092) was reverted before and now finally landed. Added: cfe/trunk/test

r283660 - [analyzer] Re-apply r283093 "Add extra notes to ObjCDeallocChecker"

2016-10-08 Thread Artem Dergachev via cfe-commits
Author: dergachev Date: Sat Oct 8 05:53:00 2016 New Revision: 283660 URL: http://llvm.org/viewvc/llvm-project?rev=283660&view=rev Log: [analyzer] Re-apply r283093 "Add extra notes to ObjCDeallocChecker" The parent commit (r283092) was reverted before and now finally landed. Modified: cfe/tr

[libcxx] r283659 - [cmake] Split linked libraries into private & public, for linker script

2016-10-08 Thread Michal Gorny via cfe-commits
Author: mgorny Date: Sat Oct 8 05:27:45 2016 New Revision: 283659 URL: http://llvm.org/viewvc/llvm-project?rev=283659&view=rev Log: [cmake] Split linked libraries into private & public, for linker script Introduce LIBCXX_LIBRARIES_PUBLIC in addition to LIBCXX_LIBRARIES that holds 'public' interf

[PATCH] D25387: When optimizing for size, enable loop rerolling by default.

2016-10-08 Thread James Molloy via cfe-commits
jmolloy accepted this revision. jmolloy added a comment. This revision is now accepted and ready to land. Good idea! LGTM! https://reviews.llvm.org/D25387 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/

[PATCH] D25008: [cmake] Split linked libraries into private & public, for linker script

2016-10-08 Thread Eric Fiselier via cfe-commits
EricWF accepted this revision. EricWF added a comment. This revision is now accepted and ready to land. One concern I have is being able to specify libraries in the correct order when we have two different lists. However I'm not concerned enough not to try it. LGTM. Comment a

[PATCH] D25008: [cmake] Split linked libraries into private & public, for linker script

2016-10-08 Thread Michał Górny via cfe-commits
mgorny marked 2 inline comments as done. mgorny added a comment. As discussed on IRC, limited the unwinder deps to -lunwind, and I'll work on making clang include -lunwind by default. https://reviews.llvm.org/D25008 ___ cfe-commits mailing list cfe

[PATCH] D25008: [cmake] Split linked libraries into private & public, for linker script

2016-10-08 Thread Michał Górny via cfe-commits
mgorny updated the summary for this revision. mgorny updated this revision to Diff 74020. https://reviews.llvm.org/D25008 Files: CMakeLists.txt lib/CMakeLists.txt utils/gen_link_script/gen_link_script.py Index: utils/gen_link_script/gen_link_script.py ==

[PATCH] D25008: [cmake] Split linked libraries into private & public, for linker script

2016-10-08 Thread Michał Górny via cfe-commits
mgorny updated this revision to Diff 74019. mgorny added a comment. Apple re-export and PRIVATE/PUBLIC covered. https://reviews.llvm.org/D25008 Files: CMakeLists.txt lib/CMakeLists.txt utils/gen_link_script/gen_link_script.py Index: utils/gen_link_script/gen_link_script.py ==

[PATCH] D25008: [cmake] Split linked libraries into private & public, for linker script

2016-10-08 Thread Michał Górny via cfe-commits
mgorny marked 2 inline comments as done. mgorny added inline comments. Comment at: lib/CMakeLists.txt:86 +elseif (LIBCXX_HAS_GCC_S_LIB) + list(APPEND LIBCXX_LIBRARIES_PUBLIC gcc_s) +endif() EricWF wrote: > I don't think `libgcc_s` should be considered a public l