[PATCH] D100394: [Clang][NVPTX] Add NVPTX intrinsics and builtins for CUDA PTX cp.async instructions

2022-04-22 Thread Steffen Larsen via Phabricator via cfe-commits
steffenlarsen added a comment. In D100394#3466316 , @nirvedhmeshram wrote: > Hello, I was interested in using `llvm.nvvm.cp.async.cg.shared.global.8` and > `llvm.nvvm.cp.async.cg.shared.global.4` and was wondering if there is some > fundamental reason

[PATCH] D114439: [Annotation] Allow parameter pack expansions and initializer lists in annotate attribute

2022-02-08 Thread Steffen Larsen via Phabricator via cfe-commits
steffenlarsen added a comment. Thanks, @aaron.ballman ! I have applied the new suggestions. > I presume you don't have commit privileges @steffenlarsen? If that's > accurate, what name and email address would you like me to use for patch > attribution after you've fixed the last few bits? That

[PATCH] D114439: [Annotation] Allow parameter pack expansions and initializer lists in annotate attribute

2022-02-08 Thread Steffen Larsen via Phabricator via cfe-commits
steffenlarsen updated this revision to Diff 406868. steffenlarsen added a comment. Recent changes: - Renamed `isArgMemberExprHolder` to `isParamExpr` and added the comment suggested by @aaron.ballman . - Made `checkASCIIStringLiteralExpr` an overload of `checkStringLiteralArgumentAttr`. CHANG

[PATCH] D114439: [Annotation] Allow parameter pack expansions and initializer lists in annotate attribute

2022-02-07 Thread Steffen Larsen via Phabricator via cfe-commits
steffenlarsen added inline comments. Comment at: clang/include/clang/Sema/ParsedAttr.h:113 } + // Check if argument at index I is an expression argument + virtual bool isExprArg(size_t N) const { return false; } aaron.ballman wrote: > I don't think this API

[PATCH] D114439: [Annotation] Allow parameter pack expansions and initializer lists in annotate attribute

2022-02-07 Thread Steffen Larsen via Phabricator via cfe-commits
steffenlarsen updated this revision to Diff 406468. steffenlarsen added a comment. Recent changes: - Replaces `isExprArg` with `isArgMemberExprHolder` which returns true if the "argument member" can hold one or more expressions. - Renames `checkStringLiteralExpr` to `checkASCIIStringLiteralExpr`

[PATCH] D114439: [Annotation] Allow parameter pack expansions and initializer lists in annotate attribute

2022-02-07 Thread Steffen Larsen via Phabricator via cfe-commits
steffenlarsen updated this revision to Diff 406373. steffenlarsen added a comment. Added a check to prevent duplicate "empty" constructors, i.e. if there are only optional arguments such as a single variadic argument. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D114439/new/ https://re

[PATCH] D114439: [Annotation] Allow parameter pack expansions and initializer lists in annotate attribute

2022-02-04 Thread Steffen Larsen via Phabricator via cfe-commits
steffenlarsen updated this revision to Diff 406094. steffenlarsen added a comment. Added missing `isVariadicExprArgument` function. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D114439/new/ https://reviews.llvm.org/D114439 Files: clang/docs/ReleaseNotes.rst clang/include/clang/Basi

[PATCH] D114439: [Annotation] Allow parameter pack expansions and initializer lists in annotate attribute

2022-02-04 Thread Steffen Larsen via Phabricator via cfe-commits
steffenlarsen added inline comments. Comment at: clang/include/clang/Basic/Attr.td:545 + // Set to true if this attribute accepts parameter pack expansion expressions. + bit AcceptsExprPack = 0; // Lists language options, one of which is required to be true for the

[PATCH] D114439: [Annotation] Allow parameter pack expansions and initializer lists in annotate attribute

2022-02-04 Thread Steffen Larsen via Phabricator via cfe-commits
steffenlarsen updated this revision to Diff 405963. steffenlarsen added a comment. Added check restricting variadic expression arguments to the last argument of attributes set to support parameter packs. Added release notes. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D114439/new/ htt

[PATCH] D114439: [Annotation] Allow parameter pack expansions and initializer lists in annotate attribute

2022-02-04 Thread Steffen Larsen via Phabricator via cfe-commits
steffenlarsen marked 2 inline comments as done. steffenlarsen added inline comments. Comment at: clang/lib/Sema/SemaDeclAttr.cpp:8153 + + bool AttrHasVariadicArg = AL.hasVariadicArg(); + unsigned AttrNumArgs = AL.getNumArgMembers(); erichkeane wrote: > This sti

[PATCH] D114439: [Annotation] Allow parameter pack expansions and initializer lists in annotate attribute

2022-02-03 Thread Steffen Larsen via Phabricator via cfe-commits
steffenlarsen marked 3 inline comments as done. steffenlarsen added inline comments. Comment at: clang/lib/Parse/ParseDecl.cpp:421-424 + // Parse variadic identifier arg. This can either consume identifiers or + // expressions. + // FIXME: Variadic identifier args

[PATCH] D114439: [Annotation] Allow parameter pack expansions and initializer lists in annotate attribute

2022-02-03 Thread Steffen Larsen via Phabricator via cfe-commits
steffenlarsen updated this revision to Diff 405820. steffenlarsen added a comment. Adjusted for comments and introduced common handling for creating attributes with delayed arguments. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D114439/new/ https://reviews.llvm.org/D114439 Files: c

[PATCH] D114439: [Annotation] Allow parameter pack expansions and initializer lists in annotate attribute

2022-02-01 Thread Steffen Larsen via Phabricator via cfe-commits
steffenlarsen marked 3 inline comments as done. steffenlarsen added inline comments. Comment at: clang/lib/Sema/SemaDeclAttr.cpp:4179 + MutableArrayRef AllArgs) { + assert(AllArgs.size()); + erichkeane wrote: > Does this work with a

[PATCH] D114439: [Annotation] Allow parameter pack expansions and initializer lists in annotate attribute

2022-02-01 Thread Steffen Larsen via Phabricator via cfe-commits
steffenlarsen updated this revision to Diff 404889. steffenlarsen added a comment. Added tests for redeclarations and template specialization using `clang::annoate` with packs. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D114439/new/ https://reviews.llvm.org/D114439 Files: clang/in

[PATCH] D114439: [Annotation] Allow parameter pack expansions and initializer lists in annotate attribute

2022-01-31 Thread Steffen Larsen via Phabricator via cfe-commits
steffenlarsen added inline comments. Comment at: clang/lib/Sema/SemaDeclAttr.cpp:4202 + // If the first argument is value dependent we delay setting the arguments. + if (AllArgs.size() && AllArgs[0]->isValueDependent()) { +auto *Attr = AnnotateAttr::CreateWithDelayedArgs( -

[PATCH] D114439: [Annotation] Allow parameter pack expansions and initializer lists in annotate attribute

2022-01-31 Thread Steffen Larsen via Phabricator via cfe-commits
steffenlarsen added inline comments. Comment at: clang/lib/Sema/SemaDeclAttr.cpp:4202 + // If the first argument is value dependent we delay setting the arguments. + if (AllArgs.size() && AllArgs[0]->isValueDependent()) { +auto *Attr = AnnotateAttr::CreateWithDelayedArgs( -

[PATCH] D114439: [Annotation] Allow parameter pack expansions and initializer lists in annotate attribute

2022-01-31 Thread Steffen Larsen via Phabricator via cfe-commits
steffenlarsen updated this revision to Diff 404548. steffenlarsen added a comment. Adds check and diagnostic for no arguments in annotate attribute. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D114439/new/ https://reviews.llvm.org/D114439 Files: clang/include/clang/Basic/Attr.td c

[PATCH] D114439: [Annotation] Allow parameter pack expansions and initializer lists in annotate attribute

2022-01-31 Thread Steffen Larsen via Phabricator via cfe-commits
steffenlarsen added inline comments. Comment at: clang/lib/Sema/SemaDeclAttr.cpp:4202 + // If the first argument is value dependent we delay setting the arguments. + if (AllArgs.size() && AllArgs[0]->isValueDependent()) { +auto *Attr = AnnotateAttr::CreateWithDelayedArgs( -

[PATCH] D114439: [Annotation] Allow parameter pack expansions and initializer lists in annotate attribute

2022-01-31 Thread Steffen Larsen via Phabricator via cfe-commits
steffenlarsen updated this revision to Diff 404526. steffenlarsen added a comment. Removed unnecessary test for arguments. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D114439/new/ https://reviews.llvm.org/D114439 Files: clang/include/clang/Basic/Attr.td clang/include/clang/Basic/D

[PATCH] D114439: [Annotation] Allow parameter pack expansions and initializer lists in annotate attribute

2022-01-31 Thread Steffen Larsen via Phabricator via cfe-commits
steffenlarsen added inline comments. Comment at: clang/lib/Parse/ParseDecl.cpp:386 ArgsVector ArgExprs; if (Tok.is(tok::identifier)) { // If this attribute wants an 'identifier' argument, make it so. steffenlarsen wrote: > erichkeane wrote: > > So does

[PATCH] D114439: [Annotation] Allow parameter pack expansions and initializer lists in annotate attribute

2022-01-31 Thread Steffen Larsen via Phabricator via cfe-commits
steffenlarsen marked 2 inline comments as done. steffenlarsen added inline comments. Comment at: clang/lib/Parse/ParseDecl.cpp:386 ArgsVector ArgExprs; if (Tok.is(tok::identifier)) { // If this attribute wants an 'identifier' argument, make it so. eric

[PATCH] D114439: [Annotation] Allow parameter pack expansions and initializer lists in annotate attribute

2022-01-31 Thread Steffen Larsen via Phabricator via cfe-commits
steffenlarsen marked 7 inline comments as done and an inline comment as not done. steffenlarsen added inline comments. Comment at: clang/include/clang/AST/Attr.h:51 unsigned Implicit : 1; + unsigned ArgsDelayed : 1; // FIXME: These are properties of the attribute kind, no

[PATCH] D114439: [Annotation] Allow parameter pack expansions and initializer lists in annotate attribute

2022-01-31 Thread Steffen Larsen via Phabricator via cfe-commits
steffenlarsen updated this revision to Diff 404440. steffenlarsen edited the summary of this revision. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D114439/new/ https://reviews.llvm.org/D114439 Files: clang/include/clang/Basic/Attr.td clang/include/clang/Basic/DiagnosticParseKinds.td

[PATCH] D114439: [Annotation] Allow parameter pack expansions and initializer lists in annotate attribute

2022-01-27 Thread Steffen Larsen via Phabricator via cfe-commits
steffenlarsen added a comment. Upon offline sync with @aaron.ballman and @erichkeane I have changed the strategy of this patch to lift the restriction of pack expansion not spanning argument boundaries. This is implemented in `clang::annotate` by delaying arguments to after template-instantiat

[PATCH] D114439: [Annotation] Allow parameter pack expansions and initializer lists in annotate attribute

2022-01-27 Thread Steffen Larsen via Phabricator via cfe-commits
steffenlarsen updated this revision to Diff 403578. steffenlarsen retitled this revision from "[Annotation] Allow parameter pack expansions in annotate attribute" to "[Annotation] Allow parameter pack expansions and initializer lists in annotate attribute". steffenlarsen edited the summary of thi

[PATCH] D114439: [Annotation] Allow parameter pack expansions in annotate attribute

2022-01-26 Thread Steffen Larsen via Phabricator via cfe-commits
steffenlarsen marked 2 inline comments as done. steffenlarsen added inline comments. Comment at: clang/lib/Parse/ParseDecl.cpp:497 +// Pack expansion is only allowed in the variadic argument at the end. +const size_t attrNumArgs = attributeNumberOfArguments(*AttrN

[PATCH] D114439: [Annotation] Allow parameter pack expansions in annotate attribute

2022-01-26 Thread Steffen Larsen via Phabricator via cfe-commits
steffenlarsen updated this revision to Diff 403187. steffenlarsen marked an inline comment as done. steffenlarsen added a comment. Removing top-level `const` and adjusting style. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D114439/new/ https://reviews.llvm.org/D114439 Files: clang/i

[PATCH] D114439: [Annotation] Allow parameter pack expansions in annotate attribute

2022-01-21 Thread Steffen Larsen via Phabricator via cfe-commits
steffenlarsen marked an inline comment as done. steffenlarsen added inline comments. Comment at: clang/lib/Parse/ParseDecl.cpp:468 + + // General case. Parse all available expressions. + CommaLocsTy CommaLocs; aaron.ballman wrote: > I think it'd be good

[PATCH] D114439: [Annotation] Allow parameter pack expansions in annotate attribute

2022-01-21 Thread Steffen Larsen via Phabricator via cfe-commits
steffenlarsen updated this revision to Diff 401910. steffenlarsen added a comment. Moved comment. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D114439/new/ https://reviews.llvm.org/D114439 Files: clang/include/clang/Basic/Attr.td clang/include/clang/Basic/DiagnosticParseKinds.td

[PATCH] D114439: [Annotation] Allow parameter pack expansions in annotate attribute

2022-01-20 Thread Steffen Larsen via Phabricator via cfe-commits
steffenlarsen updated this revision to Diff 401580. steffenlarsen added a comment. Applied suggestions. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D114439/new/ https://reviews.llvm.org/D114439 Files: clang/include/clang/Basic/Attr.td clang/include/clang/Basic/DiagnosticParseKinds

[PATCH] D114439: [Annotation] Allow parameter pack expansions in annotate attribute

2022-01-20 Thread Steffen Larsen via Phabricator via cfe-commits
steffenlarsen added a comment. Thank you, @aaron.ballman ! I will update the revision in a moment with some of the suggested changes. Comment at: clang/lib/Parse/ParseDecl.cpp:436-438 +// Interpret "kw_this" as an identifier if the attributed requests it. +if (

[PATCH] D114439: [Annotation] Allow parameter pack expansions in annotate attribute

2022-01-12 Thread Steffen Larsen via Phabricator via cfe-commits
steffenlarsen updated this revision to Diff 399334. steffenlarsen added a comment. I have made the changes suggested in my previous comment. This makes significantly more changes to the parsing of attribute arguments as the old path was needed for attributes that allow both expressions and types

[PATCH] D114439: [Annotation] Allow parameter pack expansions in annotate attribute

2021-12-21 Thread Steffen Larsen via Phabricator via cfe-commits
steffenlarsen added a comment. I agree that reusing existing parser logic for this would be preferable, but as @aaron.ballman mentions `Parser::ParseSimpleExpressionList` does not give us the parameter pack expansion parsing we need. We could potentially unify it with the logic from https://gi

[PATCH] D114439: [Annotation] Allow parameter pack expansions in annotate attribute

2021-12-09 Thread Steffen Larsen via Phabricator via cfe-commits
steffenlarsen added inline comments. Comment at: clang/lib/Parse/ParseDecl.cpp:447 Actions.CorrectDelayedTyposInExpr(ParseAssignmentExpression())); + +if (Tok.is(tok::ellipsis)) { erichkeane wrote: > steffenlarsen wrote: > > erichkeane wrote:

[PATCH] D114439: [Annotation] Allow parameter pack expansions in annotate attribute

2021-12-09 Thread Steffen Larsen via Phabricator via cfe-commits
steffenlarsen added inline comments. Comment at: clang/lib/Parse/ParseDecl.cpp:447 Actions.CorrectDelayedTyposInExpr(ParseAssignmentExpression())); + +if (Tok.is(tok::ellipsis)) { erichkeane wrote: > steffenlarsen wrote: > > erichkeane wrote:

[PATCH] D114439: [Annotation] Allow parameter pack expansions in annotate attribute

2021-12-08 Thread Steffen Larsen via Phabricator via cfe-commits
steffenlarsen added inline comments. Comment at: clang/lib/Parse/ParseDecl.cpp:447 Actions.CorrectDelayedTyposInExpr(ParseAssignmentExpression())); + +if (Tok.is(tok::ellipsis)) { erichkeane wrote: > So I was thinking about this overnight...

[PATCH] D114439: [Annotation] Allow parameter pack expansions in annotate attribute

2021-12-07 Thread Steffen Larsen via Phabricator via cfe-commits
steffenlarsen added inline comments. Comment at: clang/test/Parser/cxx0x-attributes.cpp:268 + void faz [[clang::annotate("B", (Is + ...))]] (); // expected-warning {{pack fold expression is a C++17 extension}} + void foz [[clang::annotate("C", Is...)]] (); }

[PATCH] D114439: [Annotation] Allow parameter pack expansions in annotate attribute

2021-12-07 Thread Steffen Larsen via Phabricator via cfe-commits
steffenlarsen updated this revision to Diff 392340. steffenlarsen added a comment. The new revision does the following: 1. Revisits the diagnostics. Now parameter packs will cause the same error on attributes that do not support parameter packs in arguments, while attributes that support it wil

[PATCH] D114439: [Annotation] Allow parameter pack expansions in annotate attribute

2021-12-07 Thread Steffen Larsen via Phabricator via cfe-commits
steffenlarsen added inline comments. Comment at: clang/include/clang/Basic/DiagnosticParseKinds.td:724 + "attribute %0 does not support pack expansion in the last argument">; +def err_attribute_parm_pack_last_argument_only : Error< + "pack expansion in attributes is restricted

[PATCH] D114439: [Annotation] Allow parameter pack expansions in annotate attribute

2021-12-03 Thread Steffen Larsen via Phabricator via cfe-commits
steffenlarsen added a comment. Thank you both for the reviews! Consensus seems to be having support for pack expansion at argument level for now and let more complicated logic be added when there is an actual need. I have applied these changes as I understood them and have added/adjusted the re

[PATCH] D114439: [Annotation] Allow parameter pack expansions in annotate attribute

2021-12-03 Thread Steffen Larsen via Phabricator via cfe-commits
steffenlarsen updated this revision to Diff 391588. steffenlarsen edited the summary of this revision. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D114439/new/ https://reviews.llvm.org/D114439 Files: clang/include/clang/Basic/Attr.td clang/include/clang/Basic/DiagnosticParseKinds.td

[PATCH] D114439: [Annotation] Allow parameter pack expansions in annotate attribute

2021-12-02 Thread Steffen Larsen via Phabricator via cfe-commits
steffenlarsen added inline comments. Comment at: clang/lib/Parse/ParseDecl.cpp:447 + } + ArgExpr = Actions.ActOnPackExpansion(ArgExpr.get(), ConsumeToken()); +} steffenlarsen wrote: > erichkeane wrote: > > Do you have a test for somethin

[PATCH] D114439: [Annotation] Allow parameter pack expansions in annotate attribute

2021-12-02 Thread Steffen Larsen via Phabricator via cfe-commits
steffenlarsen added inline comments. Comment at: clang/include/clang/Basic/Attr.td:544-546 + // Set to true for attributes that support parameter pack expansion in its + // arguments. + bit ParmExpansionArgsSupport = 0; aaron.ballman wrote: > From a design per

[PATCH] D114439: [Annotation] Allow parameter pack expansions in annotate attribute

2021-11-23 Thread Steffen Larsen via Phabricator via cfe-commits
steffenlarsen created this revision. steffenlarsen added reviewers: erichkeane, aaron.ballman, Tyker, Naghasan. Herald added a subscriber: jdoerfert. steffenlarsen requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. These changes make the Clang

[PATCH] D107054: [Clang][CUDA] Add descriptors, mappings, and features for missing CUDA and PTX versions

2021-11-18 Thread Steffen Larsen via Phabricator via cfe-commits
steffenlarsen closed this revision. steffenlarsen marked an inline comment as done. steffenlarsen added a comment. In D107054#3141285 , @tra wrote: > I think this patch has been obsoleted by https://reviews.llvm.org/D113249 > which has already landed. >

[PATCH] D107054: [Clang][CUDA] Add descriptors, mappings, and features for missing CUDA and PTX versions

2021-07-30 Thread Steffen Larsen via Phabricator via cfe-commits
steffenlarsen marked an inline comment as done. steffenlarsen added inline comments. Comment at: clang/include/clang/Basic/BuiltinsNVPTX.def:821 #pragma pop_macro("PTX71") #pragma pop_macro("PTX72") tra wrote: > You need to pop new macros here. My bad! It has b

[PATCH] D107054: [Clang][CUDA] Add descriptors, mappings, and features for missing CUDA and PTX versions

2021-07-30 Thread Steffen Larsen via Phabricator via cfe-commits
steffenlarsen updated this revision to Diff 362986. steffenlarsen added a comment. Made sure the PTX73 and PTX74 macros are popped correctly. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D107054/new/ https://reviews.llvm.org/D107054 Files: clang/include/clang/Basic/BuiltinsNVPTX.def

[PATCH] D107054: [Clang][CUDA] Add descriptors, mappings, and features for missing CUDA and PTX versions

2021-07-29 Thread Steffen Larsen via Phabricator via cfe-commits
steffenlarsen created this revision. steffenlarsen added a reviewer: tra. Herald added subscribers: dexonsmith, hiraditya, yaxunl, jholewinski. steffenlarsen requested review of this revision. Herald added projects: clang, LLVM. Herald added subscribers: llvm-commits, cfe-commits. Adds missing des

[PATCH] D105384: [NVPTX, CUDA] Add .and.popc variant of the b1 MMA instruction.

2021-07-15 Thread Steffen Larsen via Phabricator via cfe-commits
steffenlarsen accepted this revision. steffenlarsen added a comment. LGTM! Are the test failures related to this, you reckon? Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D105384/new/ https://reviews.llvm.org/D105384 __

[PATCH] D105384: [NVPTX, CUDA] Add .and.popc variant of the b1 MMA instruction.

2021-07-13 Thread Steffen Larsen via Phabricator via cfe-commits
steffenlarsen accepted this revision. steffenlarsen added a comment. This revision is now accepted and ready to land. Thank you for addressing my concerns. I am happy with the changes. Great work! Comment at: clang/test/CodeGen/builtins-nvptx-mma.py:35-38 +def make_mma_ops(geom

[PATCH] D105384: [NVPTX, CUDA] Add .and.popc variant of the b1 MMA instruction.

2021-07-12 Thread Steffen Larsen via Phabricator via cfe-commits
steffenlarsen requested changes to this revision. steffenlarsen added a comment. This revision now requires changes to proceed. Good stuff! Thanks for adding this and adjusting the test generator. I have requested some minor changes, though nothing critical. Are the test failures related to thes

[PATCH] D104847: [Clang][NVPTX] Add NVPTX intrinsics and builtins for CUDA PTX 6.5 and 7.0 WMMA and MMA instructions

2021-07-12 Thread Steffen Larsen via Phabricator via cfe-commits
steffenlarsen added a comment. Sorry for the late response. Looks like you have handled the issues and more in your patch. Thank you for fixing my blunders. 😄 Comment at: clang/include/clang/Basic/BuiltinsNVPTX.def:727 TARGET_BUILTIN(__bmma_m8n8k128_ld_c, "vi*iC*UiIi", "", AN

[PATCH] D104847: [Clang][NVPTX] Add NVPTX intrinsics and builtins for CUDA PTX 6.5 and 7.0 WMMA and MMA instructions

2021-06-28 Thread Steffen Larsen via Phabricator via cfe-commits
steffenlarsen marked an inline comment as done. steffenlarsen added a comment. In D104847#2841242 , @tra wrote: > LGTM. Would you like me to land the patch on your behalf? If it isn't to much of a bother. Thank you. 😄 CHANGES SINCE LAST ACTION https:

[PATCH] D104847: [Clang][NVPTX] Add NVPTX intrinsics and builtins for CUDA PTX 6.5 and 7.0 WMMA and MMA instructions

2021-06-28 Thread Steffen Larsen via Phabricator via cfe-commits
steffenlarsen updated this revision to Diff 354814. steffenlarsen added a comment. Added comment about variant ordering. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D104847/new/ https://reviews.llvm.org/D104847 Files: clang/include/clang/Basic/BuiltinsNVPTX.def clang/lib/CodeGen/C

[PATCH] D104847: [Clang][NVPTX] Add NVPTX intrinsics and builtins for CUDA PTX 6.5 and 7.0 WMMA and MMA instructions

2021-06-25 Thread Steffen Larsen via Phabricator via cfe-commits
steffenlarsen marked 4 inline comments as done. steffenlarsen added a comment. @tra Thank you for the quick response! I agree with your comments and have made changes accordingly. Comment at: clang/include/clang/Basic/BuiltinsNVPTX.def:762 +// Builtins to support double and

[PATCH] D104847: [Clang][NVPTX] Add NVPTX intrinsics and builtins for CUDA PTX 6.5 and 7.0 WMMA and MMA instructions

2021-06-25 Thread Steffen Larsen via Phabricator via cfe-commits
steffenlarsen updated this revision to Diff 354487. steffenlarsen added a comment. Adjusted for comments and fixed formatting issues. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D104847/new/ https://reviews.llvm.org/D104847 Files: clang/include/clang/Basic/BuiltinsNVPTX.def clang/

[PATCH] D104847: [Clang][NVPTX] Add NVPTX intrinsics and builtins for CUDA PTX 6.5 and 7.0 WMMA and MMA instructions

2021-06-24 Thread Steffen Larsen via Phabricator via cfe-commits
steffenlarsen created this revision. steffenlarsen added a reviewer: tra. Herald added subscribers: hiraditya, yaxunl, jholewinski. steffenlarsen requested review of this revision. Herald added subscribers: llvm-commits, cfe-commits, jdoerfert. Herald added projects: clang, LLVM. Adds NVPTX builti

[PATCH] D100124: [Clang][NVPTX] Add NVPTX intrinsics and builtins for CUDA PTX redux.sync instructions

2021-05-13 Thread Steffen Larsen via Phabricator via cfe-commits
steffenlarsen added a comment. In D100124#2757306 , @tra wrote: > Do you have ability to commit to LLVM? If not, I can land the patch on your > behalf. Not to my knowledge, so please do. Thanks again! https://reviews.llvm.org/D100394 is from my colleag

[PATCH] D100124: [Clang][NVPTX] Add NVPTX intrinsics and builtins for CUDA PTX redux.sync instructions

2021-05-13 Thread Steffen Larsen via Phabricator via cfe-commits
steffenlarsen added a comment. @tra Thanks a ton for the review! This is my first LLVM patch so I only know as much as the Code Review documentation tells me. Is there a process for chasing up additional reviews? CHANGES SINCE LAST ACTION https://reviews.llvm.org/D100124/new/ https://review

[PATCH] D100124: [Clang][NVPTX] Add NVPTX intrinsics and builtins for CUDA PTX redux.sync instructions

2021-04-22 Thread Steffen Larsen via Phabricator via cfe-commits
steffenlarsen added a comment. > Do you know if any existing code already uses the __nvvm_* builtins for > cp.async? In other words, does nvcc provide them already or is it something > we're free to name as we wish? I do not see any relevant intrinsics mentioned > in NVVM IR spec: https://docs.

[PATCH] D100124: [Clang][NVPTX] Add NVPTX intrinsics and builtins for CUDA PTX redux.sync instructions

2021-04-21 Thread Steffen Larsen via Phabricator via cfe-commits
steffenlarsen updated this revision to Diff 339169. steffenlarsen added a comment. Changes: - Removed integer type from builtin and intrinsic names. - Signedness in builtin and intrinsic names moved to operator name, i.e. umin and umax. - Removed redundant addition variant. CHANGES SINCE LAST

[PATCH] D100124: [Clang][NVPTX] Add NVPTX intrinsics and builtins for CUDA PTX redux.sync instructions

2021-04-21 Thread Steffen Larsen via Phabricator via cfe-commits
steffenlarsen added inline comments. Comment at: clang/include/clang/Basic/BuiltinsNVPTX.def:460-468 +TARGET_BUILTIN(__nvvm_redux_sync_add_s32, "SiSii", "", SM_80) +TARGET_BUILTIN(__nvvm_redux_sync_min_s32, "SiSii", "", SM_80) +TARGET_BUILTIN(__nvvm_redux_sync_max_s32, "SiSii", "

[PATCH] D100124: [Clang][NVPTX] Add NVPTX intrinsics and builtins for CUDA PTX redux.sync instructions

2021-04-20 Thread Steffen Larsen via Phabricator via cfe-commits
steffenlarsen marked 3 inline comments as done. steffenlarsen added inline comments. Comment at: clang/include/clang/Basic/BuiltinsNVPTX.def:460-468 +TARGET_BUILTIN(__nvvm_redux_sync_add_s32, "SiSii", "", SM_80) +TARGET_BUILTIN(__nvvm_redux_sync_min_s32, "SiSii", "", SM_80) +TARG

[PATCH] D100124: [Clang][NVPTX] Add NVPTX intrinsics and builtins for CUDA PTX redux.sync instructions

2021-04-13 Thread Steffen Larsen via Phabricator via cfe-commits
steffenlarsen added a comment. In D100124#2684303 , @JonChesterfield wrote: > Interesting. Reduction across lanes in warp? If so, this is probably a way to > handle the last step reduction for openmp reductions It is! I can imagine that it would be use

[PATCH] D100124: [Clang][NVPTX] Add NVPTX intrinsics and builtins for CUDA PTX redux.sync instructions

2021-04-09 Thread Steffen Larsen via Phabricator via cfe-commits
steffenlarsen updated this revision to Diff 336454. steffenlarsen added a comment. Following changes: - Changed the type in the names of the intrinsics and builtins. - Changed use of `IntrNoMem` to `IntrInaccessibleMemOnly`. - Added `PTX70` as a requirement to the builtins. CHANGES SINCE LAST A

[PATCH] D100124: [Clang][NVPTX] Add NVPTX intrinsics and builtins for CUDA PTX redux.sync instructions

2021-04-09 Thread Steffen Larsen via Phabricator via cfe-commits
steffenlarsen added a comment. @tra Thank you for the feedback! I think I see what you're getting at, but I am not quite understanding how it would work for these builtins and intrinsics. I have added some comments to the corresponding The comment about `IntrInaccessibleMemOnly` I agree with c

[PATCH] D100124: [Clang][NVPTX] Add NVPTX intrinsics and builtins for CUDA PTX redux.sync instructions

2021-04-08 Thread Steffen Larsen via Phabricator via cfe-commits
steffenlarsen created this revision. steffenlarsen added reviewers: jdoerfert, jholewinski. Herald added subscribers: hiraditya, yaxunl. steffenlarsen requested review of this revision. Herald added projects: clang, LLVM. Herald added subscribers: llvm-commits, cfe-commits. Adds NVPTX builtins and