[PATCH] D25845: [CUDA] Ignore implicit target attributes during function template instantiation.

2016-10-21 Thread Artem Belevich via cfe-commits
tra added a comment. In https://reviews.llvm.org/D25845#576819, @jlebar wrote: > > This patch changes the way we match target attributes of base template vs > > attributes used in explicit instantiation or specialization so that only > > explicitly specified attributes are considered. > > Anoth

[PATCH] D25845: [CUDA] Ignore implicit target attributes during function template instantiation.

2016-10-21 Thread Artem Belevich via cfe-commits
tra updated this revision to Diff 75511. tra marked 5 inline comments as done. tra added a comment. addressed jlebar's comments. https://reviews.llvm.org/D25845 Files: include/clang/Sema/Sema.h lib/Sema/SemaCUDA.cpp lib/Sema/SemaDeclAttr.cpp lib/Sema/SemaTemplate.cpp test/SemaCUDA/fun

[PATCH] D25845: [CUDA] Ignore implicit target attributes during function template instantiation.

2016-10-21 Thread Artem Belevich via cfe-commits
tra added inline comments. Comment at: include/clang/Sema/Sema.h:9396 + CUDAFunctionTarget IdentifyCUDATarget(const FunctionDecl *D, +bool IgnoreImplicitHDAttr = false); CUDAFunctionTarget IdentifyCUDATarget(const AttributeList *Attr);

[PATCH] D25809: [CUDA] Improved target attribute-based overloading.

2016-10-21 Thread Artem Belevich via cfe-commits
tra added inline comments. Comment at: lib/Sema/SemaCUDA.cpp:87 + + if ((HasHostAttr && HasDeviceAttr) || ForceCUDAHostDeviceDepth > 0) +return CFT_HostDevice; jlebar wrote: > Checking ForceCUDAHostDeviceDepth here is...yeah. Especially because the > other

[PATCH] D25809: [CUDA] Improved target attribute-based overloading.

2016-10-21 Thread Artem Belevich via cfe-commits
tra updated this revision to Diff 75515. tra marked 5 inline comments as done. tra added a comment. addressed jlebar's comments. https://reviews.llvm.org/D25809 Files: include/clang/Basic/DiagnosticSemaKinds.td include/clang/Sema/Sema.h lib/Sema/SemaCUDA.cpp lib/Sema/SemaDecl.cpp lib/

[PATCH] D25809: [CUDA] Improved target attribute-based overloading.

2016-10-21 Thread Artem Belevich via cfe-commits
tra updated this revision to Diff 75516. tra added a comment. removed pragma check from IdentifyCUDATarget for real. https://reviews.llvm.org/D25809 Files: include/clang/Basic/DiagnosticSemaKinds.td include/clang/Sema/Sema.h lib/Sema/SemaCUDA.cpp lib/Sema/SemaDecl.cpp lib/Sema/SemaOve

[PATCH] D25809: [CUDA] Improved target attribute-based overloading.

2016-10-24 Thread Artem Belevich via cfe-commits
tra updated this revision to Diff 75652. tra marked an inline comment as done. tra added a comment. Addressed remaining nits. https://reviews.llvm.org/D25809 Files: include/clang/Basic/DiagnosticSemaKinds.td include/clang/Sema/Sema.h lib/Sema/SemaCUDA.cpp lib/Sema/SemaDecl.cpp lib/Sem

[PATCH] D25809: [CUDA] Improved target attribute-based overloading.

2016-10-24 Thread Artem Belevich via cfe-commits
tra added inline comments. Comment at: lib/Sema/SemaCUDA.cpp:791 + CUDAFunctionTarget NewTarget = IdentifyCUDATarget(NewFD); + for (auto OldND : Previous) { +FunctionDecl *OldFD = OldND->getAsFunction(); jlebar wrote: > tra wrote: > > jlebar wrote: > > > If

r285037 - Link clangCodeGen with clangAnalysis required after r284990.

2016-10-24 Thread Artem Belevich via cfe-commits
Author: tra Date: Mon Oct 24 17:52:39 2016 New Revision: 285037 URL: http://llvm.org/viewvc/llvm-project?rev=285037&view=rev Log: Link clangCodeGen with clangAnalysis required after r284990. Fixes build break for configurations that use shared libraries. Modified: cfe/trunk/lib/CodeGen/CMake

[PATCH] D25888: Add support for __builtin_os_log_format[_buffer_size]

2016-10-24 Thread Artem Belevich via cfe-commits
tra added a comment. CodeGen's CMakeLists.txt needs to be updated to link with clangAnalysis now, otherwise it breaks builds that use shared libraries. Fixed in r285037. diff --git a/lib/CodeGen/CMakeLists.txt b/lib/CodeGen/CMakeLists.txt index f5d5d69..9cf34f6 100644 --- a/lib/CodeGen/CMa

[PATCH] D25845: [CUDA] Ignore implicit target attributes during function template instantiation.

2016-10-25 Thread Artem Belevich via cfe-commits
tra updated this revision to Diff 75812. tra added a comment. - Instead of relying on the first attribute we find, check all matching ones. - Specializations inherit their target attributes from their base template only. Their effective target always matches that of the template and is no longer

[PATCH] D25809: [CUDA] Improved target attribute-based overloading.

2016-10-25 Thread Artem Belevich via cfe-commits
tra updated this revision to Diff 75816. tra added a comment. - handle using declarations found in the overload set we check. https://reviews.llvm.org/D25809 Files: include/clang/Basic/DiagnosticSemaKinds.td include/clang/Sema/Sema.h lib/Sema/SemaCUDA.cpp lib/Sema/SemaDecl.cpp lib/Sem

[PATCH] D25640: [CUDA] [AST] Allow isInlineDefinitionExternallyVisible to be called on functions without bodies.

2016-10-25 Thread Artem Belevich via cfe-commits
tra added a comment. I'm OK with the change, but the comments suggest that things may be more complicated. How about disabling assert for CUDA only? https://reviews.llvm.org/D25640 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://list

[PATCH] D26268: [CUDA] Use only the GVALinkage on function definitions.

2016-11-08 Thread Artem Belevich via cfe-commits
tra accepted this revision. tra added a comment. This revision is now accepted and ready to land. LGTM. Comment at: clang/test/SemaCUDA/add-inline-in-definition.cu:13-14 +// +// The trickiness here comes from the fact that the FunctionDecl bar() sees for +// foo() does not have

Re: [PATCH] D12453: [CUDA] Allow function overloads based on host/device attributes.

2015-09-08 Thread Artem Belevich via cfe-commits
tra updated this revision to Diff 34230. tra marked 2 inline comments as done. tra added a comment. Implementes Richard Smiths' suggestions: Fixed attribute order in name mangling. Replaced std::function with template argument. http://reviews.llvm.org/D12453 Files: include/clang/Basic/LangOpt

Re: [PATCH] D12453: [CUDA] Allow function overloads based on host/device attributes.

2015-09-08 Thread Artem Belevich via cfe-commits
tra marked 2 inline comments as done. tra added a comment. http://reviews.llvm.org/D12453 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Re: [PATCH] D11993: [CUDA] Make sure we emit all templated __global__ functions on device side. Again.

2015-09-08 Thread Artem Belevich via cfe-commits
tra abandoned this revision. tra added a comment. Emitting IR is not sufficient to ensure that the kernels survive GDCE, so the patch does not work with optimizations on. http://reviews.llvm.org/D11666 would have to do for now. http://reviews.llvm.org/D11993 _

Re: [PATCH] D11664: [CUDA] Implemented additional processing steps needed to link with CUDA libdevice bitcode.

2015-09-08 Thread Artem Belevich via cfe-commits
tra updated the summary for this revision. tra updated this revision to Diff 34251. tra added a comment. Assume (and test) that NVPTX back-end includes NVVMReflect by default. http://reviews.llvm.org/D11664 Files: include/clang/Basic/LangOptions.def include/clang/Driver/CC1Options.td lib/

Re: [PATCH] D12453: [CUDA] Allow function overloads based on host/device attributes.

2015-09-09 Thread Artem Belevich via cfe-commits
tra updated this revision to Diff 34368. tra added a comment. Implemented pcc@'s suggestion to disallow mixing HD and H/D functions. Removed name mangling as it's no longer needed. Restriction on HD overloading guarantees that we'll emit only one viable function during particular side of compila

[PATCH] D12739: [CUDA] Allow trivial constructors as initializer for __shared__ variables.

2015-09-09 Thread Artem Belevich via cfe-commits
tra created this revision. tra added reviewers: jingyue, eliben, wengxt, jholewinski. tra added a subscriber: cfe-commits. r245786 (D12241) disabled all initializers for __shared__ variables. It also prevents placement of records in __shared__ space as they have constructor as their initializer.

r247307 - [CUDA] Allow trivial constructors as initializer for __shared__ variables.

2015-09-10 Thread Artem Belevich via cfe-commits
Author: tra Date: Thu Sep 10 12:26:58 2015 New Revision: 247307 URL: http://llvm.org/viewvc/llvm-project?rev=247307&view=rev Log: [CUDA] Allow trivial constructors as initializer for __shared__ variables. Differential Revision: http://reviews.llvm.org/D12739 Modified: cfe/trunk/lib/CodeGen/C

Re: [PATCH] D12739: [CUDA] Allow trivial constructors as initializer for __shared__ variables.

2015-09-10 Thread Artem Belevich via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL247307: [CUDA] Allow trivial constructors as initializer for __shared__ variables. (authored by tra). Changed prior to commit: http://reviews.llvm.org/D12739?vs=34372&id=34460#toc Repository: rL LLVM

Re: [PATCH] D11664: [CUDA] Implemented additional processing steps needed to link with CUDA libdevice bitcode.

2015-09-10 Thread Artem Belevich via cfe-commits
tra updated this revision to Diff 34467. tra added a comment. Removed unneeded #includes. http://reviews.llvm.org/D11664 Files: include/clang/Basic/LangOptions.def include/clang/Driver/CC1Options.td lib/CodeGen/CodeGenAction.cpp lib/Frontend/CompilerInvocation.cpp test/CodeGenCUDA/Inp

Re: [PATCH] D11664: [CUDA] Implemented additional processing steps needed to link with CUDA libdevice bitcode.

2015-09-10 Thread Artem Belevich via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL247317: [CUDA] Postprocess bitcode linked in during device-side CUDA compilation. (authored by tra). Changed prior to commit: http://reviews.llvm.org/D11664?vs=34467&id=34470#toc Repository: rL LLVM

r247317 - [CUDA] Postprocess bitcode linked in during device-side CUDA compilation.

2015-09-10 Thread Artem Belevich via cfe-commits
Author: tra Date: Thu Sep 10 13:24:23 2015 New Revision: 247317 URL: http://llvm.org/viewvc/llvm-project?rev=247317&view=rev Log: [CUDA] Postprocess bitcode linked in during device-side CUDA compilation. Link in and internalize the symbols we need from supplied bitcode library. Differential Revi

[PATCH] D12892: [CUDA] Minor cuda-related driver fixes.

2015-09-15 Thread Artem Belevich via cfe-commits
tra created this revision. tra added a reviewer: echristo. tra added a subscriber: cfe-commits. * Only the last of the --cuda-host-only/--cuda-device-only options has effect. * Added test cases. * Fixed printing of empty action lists for -ccc-print-phases http://reviews.llvm.org/D12892 Files:

[PATCH] D12893: Augmented CudaHostAction to carry device-side triple.

2015-09-15 Thread Artem Belevich via cfe-commits
tra created this revision. tra added a reviewer: echristo. tra added a subscriber: cfe-commits. Paves the way for the upcoming patch where host-side compilation will need to know device-side triple. http://reviews.llvm.org/D12893 Files: include/clang/Driver/Action.h lib/Driver/Action.cpp

Re: [PATCH] D12892: [CUDA] Minor cuda-related driver fixes.

2015-09-15 Thread Artem Belevich via cfe-commits
tra added a comment. In http://reviews.llvm.org/D12892#246699, @echristo wrote: > Yuck. No better ideas off the top of my head other than diagnosing and > erroring though. > > (Is that a possibility? :) I need to be able to override preceding options, so no error is intentional. http://revie

[PATCH] D12917: [CUDA] Allow parsing of host and device code simultaneously.

2015-09-16 Thread Artem Belevich via cfe-commits
tra created this revision. tra added reviewers: echristo, eliben, jpienaar. tra added a subscriber: cfe-commits. Herald added subscribers: dschuff, jfb. The patch: - adds -aux-triple option to specify target triple - propagates aux target info to AST context and Preprocessor - pulls in targe

Re: [PATCH] D12917: [CUDA] Allow parsing of host and device code simultaneously.

2015-09-17 Thread Artem Belevich via cfe-commits
tra updated this revision to Diff 35015. tra marked an inline comment as done. tra added a comment. cosmetic fixes. http://reviews.llvm.org/D12917 Files: include/clang/AST/ASTContext.h include/clang/Basic/Builtins.h include/clang/Driver/CC1Options.td include/clang/Frontend/CompilerInsta

Re: [PATCH] D12917: [CUDA] Allow parsing of host and device code simultaneously.

2015-09-17 Thread Artem Belevich via cfe-commits
tra marked an inline comment as done. tra added a comment. In http://reviews.llvm.org/D12917#247868, @jpienaar wrote: > Nice, so this will allow parsing/AST construction with builtins from 2 > architectures but will fail to compile if a builtin for the host/device is > called from device/host.

r247930 - Fixed the comment to match reality.

2015-09-17 Thread Artem Belevich via cfe-commits
Author: tra Date: Thu Sep 17 15:19:33 2015 New Revision: 247930 URL: http://llvm.org/viewvc/llvm-project?rev=247930&view=rev Log: Fixed the comment to match reality. Modified: cfe/trunk/include/clang/Frontend/CompilerInstance.h Modified: cfe/trunk/include/clang/Frontend/CompilerInstance.h UR

Re: [PATCH] D12917: [CUDA] Allow parsing of host and device code simultaneously.

2015-09-17 Thread Artem Belevich via cfe-commits
tra updated this revision to Diff 35031. tra marked an inline comment as done. tra added a comment. Updated to address Eric's comments. http://reviews.llvm.org/D12917 Files: include/clang/AST/ASTContext.h include/clang/Basic/Builtins.h include/clang/Driver/CC1Options.td include/clang/Fr

Re: [PATCH] D12917: [CUDA] Allow parsing of host and device code simultaneously.

2015-09-17 Thread Artem Belevich via cfe-commits
tra marked 2 inline comments as done. Comment at: lib/Frontend/CompilerInstance.cpp:82-87 @@ -84,6 +81,8 @@ +void CompilerInstance::setTarget(TargetInfo *Value) { Target = Value; } +void CompilerInstance::setAuxTarget(TargetInfo *Value) { AuxTarget = Value; } void CompilerInsta

[PATCH] D12989: [CUDA] Added CUDA installation detector class.

2015-09-18 Thread Artem Belevich via cfe-commits
tra created this revision. tra added a reviewer: echristo. tra added a subscriber: cfe-commits. The class searches for a CUDA installation directory and provides accessors for relevant bits of info about it. Added new option --cuda-path= which allows overriding default search paths. If it's not

Re: [PATCH] D12989: [CUDA] Added CUDA installation detector class.

2015-09-18 Thread Artem Belevich via cfe-commits
tra added a comment. Any suggestions how to test this? http://reviews.llvm.org/D12989 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Re: [PATCH] D12989: [CUDA] Added CUDA installation detector class.

2015-09-21 Thread Artem Belevich via cfe-commits
tra added a comment. I'll add tests for install dir detection. As for detection of bitcode files, perhaps I should remove it from this patch and commit it along with the code that's going to use it and where I can test it. http://reviews.llvm.org/D12989 _

Re: [PATCH] D12989: [CUDA] Added CUDA installation detector class.

2015-09-21 Thread Artem Belevich via cfe-commits
tra updated the summary for this revision. tra updated this revision to Diff 35333. tra added a comment. Added test case for CUDA detection. Removed libdevice file detection for now. http://reviews.llvm.org/D12989 Files: include/clang/Driver/Options.td lib/Driver/ToolChains.cpp lib/Driver

r248293 - [CUDA] Add implicit __attribute__((used)) to all __global__ functions.

2015-09-22 Thread Artem Belevich via cfe-commits
Author: tra Date: Tue Sep 22 12:22:51 2015 New Revision: 248293 URL: http://llvm.org/viewvc/llvm-project?rev=248293&view=rev Log: [CUDA] Add implicit __attribute__((used)) to all __global__ functions. This makes sure that we emit kernels that were instantiated from the host code and which would n

r248295 - [CUDA] Allow function overloads in CUDA based on host/device attributes.

2015-09-22 Thread Artem Belevich via cfe-commits
Author: tra Date: Tue Sep 22 12:22:59 2015 New Revision: 248295 URL: http://llvm.org/viewvc/llvm-project?rev=248295&view=rev Log: [CUDA] Allow function overloads in CUDA based on host/device attributes. The patch makes it possible to parse CUDA files that contain host/device functions with identi

r248296 - [CUDA] Add appropriate host/device attribute to builtins.

2015-09-22 Thread Artem Belevich via cfe-commits
Author: tra Date: Tue Sep 22 12:23:05 2015 New Revision: 248296 URL: http://llvm.org/viewvc/llvm-project?rev=248296&view=rev Log: [CUDA] Add appropriate host/device attribute to builtins. The changes are part of attribute-based CUDA function overloading (D12453) and as such are only enabled when

r248297 - [CUDA] Fixes minor cuda-related issues in the driver

2015-09-22 Thread Artem Belevich via cfe-commits
Author: tra Date: Tue Sep 22 12:23:09 2015 New Revision: 248297 URL: http://llvm.org/viewvc/llvm-project?rev=248297&view=rev Log: [CUDA] Fixes minor cuda-related issues in the driver * Only the last of the --cuda-host-only/--cuda-device-only options has effect. * CudaHostAction always wraps host-

r248298 - Augmented CudaHostAction to carry device-side triple.

2015-09-22 Thread Artem Belevich via cfe-commits
Author: tra Date: Tue Sep 22 12:23:13 2015 New Revision: 248298 URL: http://llvm.org/viewvc/llvm-project?rev=248298&view=rev Log: Augmented CudaHostAction to carry device-side triple. Differential Revision: http://reviews.llvm.org/D12893 Modified: cfe/trunk/include/clang/Driver/Action.h

r248299 - [CUDA] Allow parsing of host and device code simultaneously.

2015-09-22 Thread Artem Belevich via cfe-commits
Author: tra Date: Tue Sep 22 12:23:22 2015 New Revision: 248299 URL: http://llvm.org/viewvc/llvm-project?rev=248299&view=rev Log: [CUDA] Allow parsing of host and device code simultaneously. * adds -aux-triple option to specify target triple * propagates aux target info to AST context and Prepr

Re: [PATCH] D12453: [CUDA] Allow function overloads based on host/device attributes.

2015-09-22 Thread Artem Belevich via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL248295: [CUDA] Allow function overloads in CUDA based on host/device attributes. (authored by tra). Changed prior to commit: http://reviews.llvm.org/D12453?vs=34368&id=35387#toc Repository: rL LLVM

Re: [PATCH] D12893: Augmented CudaHostAction to carry device-side triple.

2015-09-22 Thread Artem Belevich via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL248298: Augmented CudaHostAction to carry device-side triple. (authored by tra). Changed prior to commit: http://reviews.llvm.org/D12893?vs=34857&id=35388#toc Repository: rL LLVM http://reviews.llvm

Re: [PATCH] D12892: [CUDA] Minor cuda-related driver fixes.

2015-09-22 Thread Artem Belevich via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL248297: [CUDA] Fixes minor cuda-related issues in the driver (authored by tra). Changed prior to commit: http://reviews.llvm.org/D12892?vs=34855&id=35386#toc Repository: rL LLVM http://reviews.llvm.

Re: [PATCH] D12917: [CUDA] Allow parsing of host and device code simultaneously.

2015-09-22 Thread Artem Belevich via cfe-commits
This revision was automatically updated to reflect the committed changes. tra marked an inline comment as done. Closed by commit rL248299: [CUDA] Allow parsing of host and device code simultaneously. (authored by tra). Changed prior to commit: http://reviews.llvm.org/D12917?vs=35031&id=35389#to

[PATCH] D13067: [CUDA] __global__ functions should always be visible externally.

2015-09-22 Thread Artem Belevich via cfe-commits
tra created this revision. tra added reviewers: rsmith, echristo. tra added a subscriber: cfe-commits. Adjusted __global__ functions with DiscardableODR linkage to use StrongODR linkage instead so they are visible externally. Replaces D11666 / r248293 http://reviews.llvm.org/D13067 Files: l

Re: r248293 - [CUDA] Add implicit __attribute__((used)) to all __global__ functions.

2015-09-22 Thread Artem Belevich via cfe-commits
works much better. I've just sent http://reviews.llvm.org/D13067 --Artem > On Sep 22, 2015 10:24 AM, "Artem Belevich via cfe-commits" < > cfe-commits@lists.llvm.org> wrote: > >> Author: tra >> Date: Tue Sep 22 12:22:51 2015 >> New Revision: 248293 &

r248400 - [CUDA] __global__ functions should always be visible externally.

2015-09-23 Thread Artem Belevich via cfe-commits
Author: tra Date: Wed Sep 23 12:44:53 2015 New Revision: 248400 URL: http://llvm.org/viewvc/llvm-project?rev=248400&view=rev Log: [CUDA] __global__ functions should always be visible externally. Adjust __global__ functions with DiscardableODR linkage to use StrongODR linkage instead, so they are

Re: [PATCH] D13067: [CUDA] __global__ functions should always be visible externally.

2015-09-23 Thread Artem Belevich via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL248400: [CUDA] __global__ functions should always be visible externally. (authored by tra). Changed prior to commit: http://reviews.llvm.org/D13067?vs=35412&id=35529#toc Repository: rL LLVM http://r

Re: [PATCH] D12989: [CUDA] Added CUDA installation detector class.

2015-09-23 Thread Artem Belevich via cfe-commits
tra updated this revision to Diff 35531. tra added a comment. Removed unneeded temporary variable. http://reviews.llvm.org/D12989 Files: include/clang/Driver/Options.td lib/Driver/ToolChains.cpp lib/Driver/ToolChains.h test/Driver/Inputs/CUDA/usr/local/cuda/include/.keep test/Driver/I

r248408 - [CUDA] Added CUDA installation detector class.

2015-09-23 Thread Artem Belevich via cfe-commits
Author: tra Date: Wed Sep 23 13:13:25 2015 New Revision: 248408 URL: http://llvm.org/viewvc/llvm-project?rev=248408&view=rev Log: [CUDA] Added CUDA installation detector class. Added new option --cuda-path= which allows overriding default search paths. If it's not specified we look for CUDA insta

Re: [PATCH] D12989: [CUDA] Added CUDA installation detector class.

2015-09-23 Thread Artem Belevich via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL248408: [CUDA] Added CUDA installation detector class. (authored by tra). Changed prior to commit: http://reviews.llvm.org/D12989?vs=35531&id=35533#toc Repository: rL LLVM http://reviews.llvm.org/D1

r248413 - Reverted r248408 "[CUDA] Added CUDA installation detector class."

2015-09-23 Thread Artem Belevich via cfe-commits
Author: tra Date: Wed Sep 23 13:28:30 2015 New Revision: 248413 URL: http://llvm.org/viewvc/llvm-project?rev=248413&view=rev Log: Reverted r248408 "[CUDA] Added CUDA installation detector class." because included test fails on some platforms. Removed: cfe/trunk/test/Driver/Inputs/CUDA/usr/lo

r248433 - [CUDA] Added CUDA installation detector class.

2015-09-23 Thread Artem Belevich via cfe-commits
Author: tra Date: Wed Sep 23 16:49:39 2015 New Revision: 248433 URL: http://llvm.org/viewvc/llvm-project?rev=248433&view=rev Log: [CUDA] Added CUDA installation detector class. Added new option --cuda-path= which allows overriding default search paths. If it's not specified we look for CUDA insta

Re: r248433 - [CUDA] Added CUDA installation detector class.

2015-09-23 Thread Artem Belevich via cfe-commits
I'm looking into it. Can you reproduce it on linux? On Wed, Sep 23, 2015 at 4:43 PM, Rui Ueyama wrote: > On Wed, Sep 23, 2015 at 2:49 PM, Artem Belevich via cfe-commits < > cfe-commits@lists.llvm.org> wrote: > >> Author: tra >> Date: Wed Sep 23 16:49:39 2015 &

Re: r248433 - [CUDA] Added CUDA installation detector class.

2015-09-23 Thread Artem Belevich via cfe-commits
gt; On Wed, Sep 23, 2015 at 4:47 PM, Artem Belevich wrote: > >> I'm looking into it. Can you reproduce it on linux? >> >> >> On Wed, Sep 23, 2015 at 4:43 PM, Rui Ueyama wrote: >> >>> On Wed, Sep 23, 2015 at 2:49 PM, Artem Belevich via cfe-commits <

Re: r248433 - [CUDA] Added CUDA installation detector class.

2015-09-23 Thread Artem Belevich via cfe-commits
;>> your Inputs/CUDA, and run "clang -v --target=i386-unknown-linux >>> --sysroot=/Inputs/CUDA". >>> >>> On Wed, Sep 23, 2015 at 4:47 PM, Artem Belevich wrote: >>> >>>> I'm looking into it. Can you reproduce it on linux? >>&g

r248448 - Disabled one of the test runs in cuda-detect.cu

2015-09-23 Thread Artem Belevich via cfe-commits
Author: tra Date: Wed Sep 23 19:15:47 2015 New Revision: 248448 URL: http://llvm.org/viewvc/llvm-project?rev=248448&view=rev Log: Disabled one of the test runs in cuda-detect.cu --sysroot apparently can't handle long paths which triggers test failure on some platforms. Modified: cfe/trunk/te

Re: [PATCH] D12989: [CUDA] Added CUDA installation detector class.

2015-09-24 Thread Artem Belevich via cfe-commits
Thank you for the fix. --Artem On Wed, Sep 23, 2015 at 9:32 PM, NAKAMURA Takumi wrote: > chapuni added a subscriber: chapuni. > > > Comment at: cfe/trunk/lib/Driver/ToolChains.cpp:1492 > @@ +1491,3 @@ > +const llvm::opt::ArgList > &Ar

[PATCH] D13144: [CUDA] propagate to CUDA sub-compilations target triple of opposite side.

2015-09-24 Thread Artem Belevich via cfe-commits
tra created this revision. tra added a reviewer: echristo. tra added a subscriber: cfe-commits. Propagates AuxTriple throughout job pipeline construction in driver and on to Tool::ConstructJob(). It in turn passes target triple of opposite side of CUDA compilation as -aux-triple option to sub-co

[PATCH] D13170: [CUDA] Driver changes to pass flags needed to use detected CUDA installation.

2015-09-25 Thread Artem Belevich via cfe-commits
tra created this revision. tra added a reviewer: echristo. tra added a subscriber: cfe-commits. - added detection of libdevice bitcode file and API to find one appropriate for the GPU we're compiling for. - added include paths to detected CUDA installation - added include paths for -aux-tri

[PATCH] D13171: [CUDA] Added a wrapper header for inclusion of stock CUDA headers.

2015-09-25 Thread Artem Belevich via cfe-commits
tra created this revision. tra added reviewers: echristo, eliben, jholewinski. tra added a subscriber: cfe-commits. Header files that come with CUDA are assuming split host/device compilation and are not usable by clang out of the box. With a bit of preprocessor magic it's possible to twist them

Re: [PATCH] D13171: [CUDA] Added a wrapper header for inclusion of stock CUDA headers.

2015-09-25 Thread Artem Belevich via cfe-commits
tra updated this revision to Diff 35747. tra added a comment. Fixed typos and whitespace nits. use #pragma push_macro for __CUDACC_RTC__, too. http://reviews.llvm.org/D13171 Files: lib/Headers/CMakeLists.txt lib/Headers/clang_cuda_support.h Index: lib/Headers/clang_cuda_support.h =

Re: [PATCH] D13171: [CUDA] Added a wrapper header for inclusion of stock CUDA headers.

2015-09-25 Thread Artem Belevich via cfe-commits
tra updated this revision to Diff 35760. tra added a comment. Include cuda.h and #error if we see wrong CUDA_VERSION. http://reviews.llvm.org/D13171 Files: lib/Headers/CMakeLists.txt lib/Headers/clang_cuda_support.h Index: lib/Headers/clang_cuda_support.h ==

Re: [PATCH] D13171: [CUDA] Added a wrapper header for inclusion of stock CUDA headers.

2015-09-25 Thread Artem Belevich via cfe-commits
tra marked an inline comment as done. tra added a comment. http://reviews.llvm.org/D13171 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D13181: [CUDA] 32-bit NVPTX: long should be 32bit

2015-09-25 Thread Artem Belevich via cfe-commits
tra created this revision. tra added reviewers: eliben, jholewinski, echristo. tra added a subscriber: cfe-commits. Herald added a subscriber: jholewinski. Currently 32-bit NVPTX happens to have 64-bit long which does not match host's long in 32-bit mode. http://reviews.llvm.org/D13181 Files:

Re: [PATCH] D13171: [CUDA] Added a wrapper header for inclusion of stock CUDA headers.

2015-09-28 Thread Artem Belevich via cfe-commits
The (vague) idea was to make clear that the header is *not* part of cuda distribution. That said, the file could use a better name. Do any of these sound better? * fix_cuda_headers.h * adapt_cuda_headers.h * cuda_shim.h --Artem On Sat, Sep 26, 2015 at 12:20 PM, Eric Christopher wrote: > echri

r248753 - [CUDA] 32-bit NVPTX should have 32-bit long type.

2015-09-28 Thread Artem Belevich via cfe-commits
Author: tra Date: Mon Sep 28 17:54:08 2015 New Revision: 248753 URL: http://llvm.org/viewvc/llvm-project?rev=248753&view=rev Log: [CUDA] 32-bit NVPTX should have 32-bit long type. Currently it's 64-bit which will lead to mismatch between host and device code if we compile for i386. Differential

Re: [PATCH] D13181: [CUDA] 32-bit NVPTX: long should be 32bit

2015-09-28 Thread Artem Belevich via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL248753: [CUDA] 32-bit NVPTX should have 32-bit long type. (authored by tra). Changed prior to commit: http://reviews.llvm.org/D13181?vs=35772&id=35918#toc Repository: rL LLVM http://reviews.llvm.org

Re: [PATCH] D13171: [CUDA] Added a wrapper header for inclusion of stock CUDA headers.

2015-09-28 Thread Artem Belevich via cfe-commits
cuda_runtime.h may be a better choice. nvcc -includes it during both host and device compilation and this wrapper file is intended to serve a similar purpose and will probably end up being -included by cc1 in the end. --Artem On Mon, Sep 28, 2015 at 6:26 PM, Eric Christopher wrote: > echristo

Re: [PATCH] D13171: [CUDA] Added a wrapper header for inclusion of stock CUDA headers.

2015-09-29 Thread Artem Belevich via cfe-commits
tra updated this revision to Diff 36048. tra added a comment. Renamed wrapper to cuda_runtime.h Similarly to nvcc, automatically add "-include cuda_runtime.h" to CC1 invocations unless -nocudainc is specified. http://reviews.llvm.org/D13171 Files: lib/Driver/ToolChains.cpp lib/Headers/CMak

Re: [PATCH] D11690: [CUDA] Added stubs for new attributes used by CUDA headers.

2015-08-10 Thread Artem Belevich via cfe-commits
tra added a comment. LGTM'ed by Aaron Ballman via email that didn't make it to Phabricator. http://reviews.llvm.org/D11690 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

r244497 - [CUDA] Added stubs for new attributes used by CUDA headers.

2015-08-10 Thread Artem Belevich via cfe-commits
Author: tra Date: Mon Aug 10 15:33:56 2015 New Revision: 244497 URL: http://llvm.org/viewvc/llvm-project?rev=244497&view=rev Log: [CUDA] Added stubs for new attributes used by CUDA headers. The main purpose is to avoid errors and warnings while parsing CUDA header files. The attributes are curren

r244501 - [CUDA] Add implicit __attribute__((used)) to all __global__ functions.

2015-08-10 Thread Artem Belevich via cfe-commits
Author: tra Date: Mon Aug 10 15:57:02 2015 New Revision: 244501 URL: http://llvm.org/viewvc/llvm-project?rev=244501&view=rev Log: [CUDA] Add implicit __attribute__((used)) to all __global__ functions. This allows emitting kernels that were instantiated from the host code and which would never be

Re: [PATCH] D11666: [CUDA] Make sure we emit all templated __global__ functions on device side.

2015-08-10 Thread Artem Belevich via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL244501: [CUDA] Add implicit __attribute__((used)) to all __global__ functions. (authored by tra). Changed prior to commit: http://reviews.llvm.org/D11666?vs=31128&id=31718#toc Repository: rL LLVM ht

[PATCH] D11950: [CUDA] Check register names on appropriate side of cuda compilation only.

2015-08-11 Thread Artem Belevich via cfe-commits
tra created this revision. tra added reviewers: eliben, echristo. tra added a subscriber: cfe-commits. The patch makes sure that register names in named register variables and inline assembly are checked only on appropriate side of CUDA compilation. http://reviews.llvm.org/D11950 Files: lib/S

[PATCH] D11993: [CUDA] Make sure we emit all templated __global__ functions on device side. Again.

2015-08-12 Thread Artem Belevich via cfe-commits
tra created this revision. tra added reviewers: echristo, rsmith, eliben. tra added a subscriber: cfe-commits. This is a somewhat different way to do it than D11666 which got rolled back. Codegen postpones emitting instantiated kernel function template until it's used. If kernel is used only fro

[PATCH] D12122: [CUDA] Add appropriate host/device attribute to target-specific builtins.

2015-08-18 Thread Artem Belevich via cfe-commits
tra created this revision. tra added reviewers: eliben, echristo. tra added a subscriber: cfe-commits. The patch adds appropriate __host__ or __device__ attributes to target-specific builtins so we can properly check whether they may or may not be called from particular context. http://review

Re: [PATCH] D12122: [CUDA] Add appropriate host/device attribute to target-specific builtins.

2015-08-18 Thread Artem Belevich via cfe-commits
tra updated this revision to Diff 32478. tra marked an inline comment as done. tra added a comment. used isTSBuiltin in SemaChecking.cpp http://reviews.llvm.org/D12122 Files: include/clang/Basic/Builtins.h lib/Sema/SemaChecking.cpp lib/Sema/SemaDecl.cpp test/SemaCUDA/builtins.cu test/

Re: [PATCH] D12122: [CUDA] Add appropriate host/device attribute to target-specific builtins.

2015-08-18 Thread Artem Belevich via cfe-commits
tra updated this revision to Diff 32481. tra added a comment. Added a comment explaining reasoning behind attribute choice for target-specific builtins. http://reviews.llvm.org/D12122 Files: include/clang/Basic/Builtins.h lib/Sema/SemaChecking.cpp lib/Sema/SemaDecl.cpp test/SemaCUDA/bu

Re: [PATCH] D12122: [CUDA] Add appropriate host/device attribute to target-specific builtins.

2015-08-18 Thread Artem Belevich via cfe-commits
tra marked an inline comment as done. Comment at: lib/Sema/SemaDecl.cpp:11166 @@ +11165,3 @@ +!FD->hasAttr() && !FD->hasAttr()) { + if (getLangOpts().CUDAIsDevice) +FD->addAttr(CUDADeviceAttr::CreateImplicit(Context, FD->getLocation())); elib

Re: [PATCH] D12122: [CUDA] Add appropriate host/device attribute to target-specific builtins.

2015-08-19 Thread Artem Belevich via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL245496: [CUDA] Add appropriate host/device attribute to builtins. (authored by tra). Changed prior to commit: http://reviews.llvm.org/D12122?vs=32481&id=32607#toc Repository: rL LLVM http://reviews.

r245496 - [CUDA] Add appropriate host/device attribute to builtins.

2015-08-19 Thread Artem Belevich via cfe-commits
Author: tra Date: Wed Aug 19 15:48:20 2015 New Revision: 245496 URL: http://llvm.org/viewvc/llvm-project?rev=245496&view=rev Log: [CUDA] Add appropriate host/device attribute to builtins. Differential Revision: http://reviews.llvm.org/D12122 Added: cfe/trunk/test/SemaCUDA/builtins.cu Modifie

Re: [PATCH] D11694: [CUDA] Added stubs for __nvvm_atom_add*_d()

2015-08-19 Thread Artem Belevich via cfe-commits
tra added a comment. Ping. http://reviews.llvm.org/D11694 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Re: [PATCH] D11950: [CUDA] Check register names on appropriate side of cuda compilation only.

2015-08-19 Thread Artem Belevich via cfe-commits
tra updated this revision to Diff 32611. tra added a comment. Removed rarely used temp var. http://reviews.llvm.org/D11950 Files: lib/Sema/SemaDecl.cpp lib/Sema/SemaStmtAsm.cpp test/SemaCUDA/asm-constraints-mixed.cu Index: test/SemaCUDA/asm-constraints-mixed.cu ==

Re: [PATCH] D11950: [CUDA] Check register names on appropriate side of cuda compilation only.

2015-08-19 Thread Artem Belevich via cfe-commits
tra added inline comments. Comment at: lib/Sema/SemaDecl.cpp:5944 @@ -5943,3 +5943,3 @@ ProcessDeclAttributes(S, NewVD, D); - + bool ShouldHandleTargetErrors = DeclAttrsMatchCUDAMode(getLangOpts(), NewVD); if (getLangOpts().CUDA) { eliben wrote: > Since thi

r245502 - [CUDA] Added stubs for __nvvm_atom_add_*_d() builtins.

2015-08-19 Thread Artem Belevich via cfe-commits
Author: tra Date: Wed Aug 19 16:11:37 2015 New Revision: 245502 URL: http://llvm.org/viewvc/llvm-project?rev=245502&view=rev Log: [CUDA] Added stubs for __nvvm_atom_add_*_d() builtins. They show up in CUDA headers but are not currently supported by NVPTX back-end. Differential Revision: http://r

Re: [PATCH] D11694: [CUDA] Added stubs for __nvvm_atom_add*_d()

2015-08-19 Thread Artem Belevich via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL245502: [CUDA] Added stubs for __nvvm_atom_add_*_d() builtins. (authored by tra). Changed prior to commit: http://reviews.llvm.org/D11694?vs=31157&id=32616#toc Repository: rL LLVM http://reviews.llv

r245592 - Revert r245496 "[CUDA] Add appropriate host/device attribute to builtins."

2015-08-20 Thread Artem Belevich via cfe-commits
Author: tra Date: Thu Aug 20 13:28:56 2015 New Revision: 245592 URL: http://llvm.org/viewvc/llvm-project?rev=245592&view=rev Log: Revert r245496 "[CUDA] Add appropriate host/device attribute to builtins." It's breaking internal test. Removed: cfe/trunk/test/SemaCUDA/builtins.cu Modified:

Re: [PATCH] D12122: [CUDA] Add appropriate host/device attribute to target-specific builtins.

2015-08-20 Thread Artem Belevich via cfe-commits
tra added a comment. Reverted in r245592 due to breaking internal tests. Repository: rL LLVM http://reviews.llvm.org/D12122 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Re: [PATCH] D11690: [CUDA] Added stubs for new attributes used by CUDA headers.

2015-08-24 Thread Artem Belevich via cfe-commits
tra abandoned this revision. tra added a comment. There is no way to close revision. Abandoning it to get it off my list of pending changes. http://reviews.llvm.org/D11690 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.or

Re: [PATCH] D11664: [CUDA] Implemented additional processing steps needed to link with CUDA libdevice bitcode.

2015-08-24 Thread Artem Belevich via cfe-commits
tra added inline comments. Comment at: lib/CodeGen/CodeGenAction.cpp:166-170 @@ +165,7 @@ +std::vector ModuleFuncNames; +// We need to internalize contents of the linked module but it +// has to be done *after* the linking because internalized +// s

r246174 - [CUDA] Improve CUDA compilation pipeline creation.

2015-08-27 Thread Artem Belevich via cfe-commits
Author: tra Date: Thu Aug 27 13:10:41 2015 New Revision: 246174 URL: http://llvm.org/viewvc/llvm-project?rev=246174&view=rev Log: [CUDA] Improve CUDA compilation pipeline creation. Current implementation tries to guess which Action will result in a job which needs to incorporate device-side GPU b

Re: [PATCH] D11280: [CUDA] Improve CUDA compilation pipeline creation.

2015-08-27 Thread Artem Belevich via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL246174: [CUDA] Improve CUDA compilation pipeline creation. (authored by tra). Changed prior to commit: http://reviews.llvm.org/D11280?vs=29947&id=33341#toc Repository: rL LLVM http://reviews.llvm.or

Re: [PATCH] D11950: [CUDA] Check register names on appropriate side of cuda compilation only.

2015-08-27 Thread Artem Belevich via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL246193: [CUDA] Check register names on appropriate side of cuda compilation only. (authored by tra). Changed prior to commit: http://reviews.llvm.org/D11950?vs=32611&id=33348#toc Repository: rL LLVM

r246193 - [CUDA] Check register names on appropriate side of cuda compilation only.

2015-08-27 Thread Artem Belevich via cfe-commits
Author: tra Date: Thu Aug 27 14:54:21 2015 New Revision: 246193 URL: http://llvm.org/viewvc/llvm-project?rev=246193&view=rev Log: [CUDA] Check register names on appropriate side of cuda compilation only. Differential Revision: http://reviews.llvm.org/D11950 Modified: cfe/trunk/lib/Sema/SemaD

[PATCH] D12453: [CUDA] Allow function overloads based on host/device attributes.

2015-08-28 Thread Artem Belevich via cfe-commits
tra created this revision. tra added reviewers: eliben, rsmith, jholewinski, echristo, jingyue. tra added a subscriber: cfe-commits. The patch makes it possible to parse CUDA files that contain host/device functions with identical signatures, but different attributes without having to physicall

<    1   2   3   4   5   6   7   8   9   10   >