erichkeane wrote:
> Looks good. Looks like something similar should be done for goto
Thanks! Yes, I agree we probably want to do something similar for goto, but
I'm still looking at it. Trying to keep patches small :)
https://github.com/llvm/llvm-project/pull/82814
https://github.com/erichkeane updated
https://github.com/llvm/llvm-project/pull/82814
>From cdbf2a137ed7ba0a6d40f955072ef636ee93b292 Mon Sep 17 00:00:00 2001
From: erichkeane
Date: Fri, 23 Feb 2024 10:36:31 -0800
Subject: [PATCH 1/2] [OpenACC] Implement 'return' branch-out of Compute
https://github.com/erichkeane created
https://github.com/llvm/llvm-project/pull/82814
Like with 'break'/'continue', returning out of a compute construct is
ill-formed, so this implements the diagnostic. However, unlike the OpenMP
implementation of this same diagnostic, OpenACC doesn't have a
@@ -194,3 +204,87 @@ __global__ void non_cexpr_waves_per_eu_2() {}
// expected-error@+1{{'amdgpu_waves_per_eu' attribute requires parameter 1 to
be an integer constant}}
__attribute__((amdgpu_waves_per_eu(2, ipow2(2
__global__ void non_cexpr_waves_per_eu_2_4() {}
+
+//
@@ -4386,6 +4386,7 @@ RValue CodeGenFunction::EmitBuiltinExpr(const GlobalDecl
GD, unsigned BuiltinID,
return RValue::get(nullptr);
}
+ case Builtin::BI__builtin_start_object_lifetime:
case Builtin::BI__builtin_launder: {
erichkeane wrote:
Should
https://github.com/erichkeane commented:
This would also need a release note I believe. I don't have the codegen
expertise to review this with high confidence, but it looks right to me.
https://github.com/llvm/llvm-project/pull/82776
___
cfe-commits
https://github.com/erichkeane edited
https://github.com/llvm/llvm-project/pull/82776
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -194,3 +204,87 @@ __global__ void non_cexpr_waves_per_eu_2() {}
// expected-error@+1{{'amdgpu_waves_per_eu' attribute requires parameter 1 to
be an integer constant}}
__attribute__((amdgpu_waves_per_eu(2, ipow2(2
__global__ void non_cexpr_waves_per_eu_2_4() {}
+
+//
@@ -8069,6 +8069,38 @@ static void handleAMDGPUNumVGPRAttr(Sema , Decl *D,
const ParsedAttr ) {
D->addAttr(::new (S.Context) AMDGPUNumVGPRAttr(S.Context, AL, NumVGPR));
}
+static void handleAMDGPUMaxNumWorkGroupsAttr(Sema , Decl *D,
+
@@ -8069,6 +8069,38 @@ static void handleAMDGPUNumVGPRAttr(Sema , Decl *D,
const ParsedAttr ) {
D->addAttr(::new (S.Context) AMDGPUNumVGPRAttr(S.Context, AL, NumVGPR));
}
+static void handleAMDGPUMaxNumWorkGroupsAttr(Sema , Decl *D,
+
https://github.com/erichkeane closed
https://github.com/llvm/llvm-project/pull/82543
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/erichkeane updated
https://github.com/llvm/llvm-project/pull/82543
>From 5ea47a31eb0ce851441cb7f1851b13303732ca91 Mon Sep 17 00:00:00 2001
From: erichkeane
Date: Wed, 21 Feb 2024 10:08:06 -0800
Subject: [PATCH 1/4] [OpenACC] Implement 'break' and 'continue' errors for
@@ -4097,6 +4105,14 @@ FieldDecl *Expr::getSourceBitField() {
return nullptr;
}
+EnumConstantDecl *Expr::getEnumConstantDecl() {
+ Expr *E = this->IgnoreParenImpCasts();
+ if (DeclRefExpr *DRE = dyn_cast(E))
+if (EnumConstantDecl *ECD = dyn_cast(DRE->getDecl()))
@@ -263,6 +263,14 @@ namespace {
}
}
+QualType Expr::getEnumCoercedType(const ASTContext ) const {
+ bool NotEnumType = dyn_cast(this->getType()) == nullptr;
+ if (NotEnumType)
erichkeane wrote:
```suggestion
if (!isa(this->getType()))
```
Though,
https://github.com/erichkeane commented:
Not the best one to review this, but some drive-bys
https://github.com/llvm/llvm-project/pull/81418
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://github.com/erichkeane edited
https://github.com/llvm/llvm-project/pull/81418
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -3371,6 +3379,20 @@ Sema::ActOnBreakStmt(SourceLocation BreakLoc, Scope
*CurScope) {
if (S->isOpenMPLoopScope())
return StmtError(Diag(BreakLoc, diag::err_omp_loop_cannot_use_stmt)
<< "break");
+
+ // OpenACC doesn't allow 'break'ing from a
@@ -3371,6 +3379,20 @@ Sema::ActOnBreakStmt(SourceLocation BreakLoc, Scope
*CurScope) {
if (S->isOpenMPLoopScope())
return StmtError(Diag(BreakLoc, diag::err_omp_loop_cannot_use_stmt)
<< "break");
+
+ // OpenACC doesn't allow 'break'ing from a
@@ -3371,6 +3379,20 @@ Sema::ActOnBreakStmt(SourceLocation BreakLoc, Scope
*CurScope) {
if (S->isOpenMPLoopScope())
return StmtError(Diag(BreakLoc, diag::err_omp_loop_cannot_use_stmt)
<< "break");
+
+ // OpenACC doesn't allow 'break'ing from a
@@ -3371,6 +3379,20 @@ Sema::ActOnBreakStmt(SourceLocation BreakLoc, Scope
*CurScope) {
if (S->isOpenMPLoopScope())
return StmtError(Diag(BreakLoc, diag::err_omp_loop_cannot_use_stmt)
<< "break");
+
+ // OpenACC doesn't allow 'break'ing from a
@@ -3371,6 +3379,20 @@ Sema::ActOnBreakStmt(SourceLocation BreakLoc, Scope
*CurScope) {
if (S->isOpenMPLoopScope())
return StmtError(Diag(BreakLoc, diag::err_omp_loop_cannot_use_stmt)
<< "break");
+
+ // OpenACC doesn't allow 'break'ing from a
@@ -3371,6 +3379,20 @@ Sema::ActOnBreakStmt(SourceLocation BreakLoc, Scope
*CurScope) {
if (S->isOpenMPLoopScope())
return StmtError(Diag(BreakLoc, diag::err_omp_loop_cannot_use_stmt)
<< "break");
+
+ // OpenACC doesn't allow 'break'ing from a
@@ -3371,6 +3379,20 @@ Sema::ActOnBreakStmt(SourceLocation BreakLoc, Scope
*CurScope) {
if (S->isOpenMPLoopScope())
return StmtError(Diag(BreakLoc, diag::err_omp_loop_cannot_use_stmt)
<< "break");
+
+ // OpenACC doesn't allow 'break'ing from a
https://github.com/erichkeane updated
https://github.com/llvm/llvm-project/pull/82543
>From 5ea47a31eb0ce851441cb7f1851b13303732ca91 Mon Sep 17 00:00:00 2001
From: erichkeane
Date: Wed, 21 Feb 2024 10:08:06 -0800
Subject: [PATCH 1/3] [OpenACC] Implement 'break' and 'continue' errors for
@@ -3371,6 +3379,20 @@ Sema::ActOnBreakStmt(SourceLocation BreakLoc, Scope
*CurScope) {
if (S->isOpenMPLoopScope())
return StmtError(Diag(BreakLoc, diag::err_omp_loop_cannot_use_stmt)
<< "break");
+
+ // OpenACC doesn't allow 'break'ing from a
erichkeane wrote:
> > Also note, this is missing Clang lit tests, and doesn't seem to be
> > correctly handling dependent expressions for x,y, and z.
>
> What does it mean to "handle dependent expressions for x,y, and z"? Thanks!
An expression can be 'dependent', which is a C++'ism for 'has
@@ -3371,6 +3379,20 @@ Sema::ActOnBreakStmt(SourceLocation BreakLoc, Scope
*CurScope) {
if (S->isOpenMPLoopScope())
return StmtError(Diag(BreakLoc, diag::err_omp_loop_cannot_use_stmt)
<< "break");
+
+ // OpenACC doesn't allow 'break'ing from a
https://github.com/erichkeane updated
https://github.com/llvm/llvm-project/pull/82543
>From 5ea47a31eb0ce851441cb7f1851b13303732ca91 Mon Sep 17 00:00:00 2001
From: erichkeane
Date: Wed, 21 Feb 2024 10:08:06 -0800
Subject: [PATCH 1/2] [OpenACC] Implement 'break' and 'continue' errors for
https://github.com/erichkeane created
https://github.com/llvm/llvm-project/pull/82543
OpenACC3.3 2.5.4 says: "A program may not branch into or out of a compute
construct". While some of this restriction isn't particularly checkable,
'break' and 'continue' are possible and pretty trivial, so
erichkeane wrote:
> Ok gotcha thanks! In any case, I'll do my best to handle this more gracefully
> in the future. Your advice is always appreciated!
Perfect! I'll try to be better about this in the future as well.
https://github.com/llvm/llvm-project/pull/80371
https://github.com/erichkeane edited
https://github.com/llvm/llvm-project/pull/82417
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/erichkeane commented:
1 nit, else LGTM. We should probably have a release note as well.
https://github.com/llvm/llvm-project/pull/82417
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
@@ -9706,9 +9706,17 @@ bool Sema::CheckFunctionTemplateSpecialization(
if (Result == Candidates.end())
return true;
- // Ignore access information; it doesn't figure into redeclaration checking.
FunctionDecl *Specialization = cast(*Result);
+ auto
erichkeane wrote:
> Hmm, no, I landed it because I made an assumption that there's simply not
> that much interest in this work (I'm quite depressed about this in general
> lately) so as a code owner I just made a call that it's probably good enough
> to go and rely on post-commit review. Now
erichkeane wrote:
> did I miss something - it looks like this was committed without approval?
It looks that way to me @haoNoQ : Did you commit this instead of something
else? Can you revert this until we get approval?
https://github.com/llvm/llvm-project/pull/80371
@@ -188,3 +188,14 @@ static_assert(U2().b.x == 100, "");
static_assert(U3().b.x == 100, "");
} // namespace GH48416
+
+namespace GH81774 {
+struct Handle {
+Handle(int) {}
+};
+// Should be well-formed b/c NoState has a brace-or-equal-initializer
@@ -9442,9 +9442,21 @@ bool
SpecialMemberDeletionInfo::shouldDeleteForSubobjectCall(
int DiagKind = -1;
- if (SMOR.getKind() == Sema::SpecialMemberOverloadResult::NoMemberOrDeleted)
-DiagKind = !Decl ? 0 : 1;
- else if (SMOR.getKind() ==
erichkeane wrote:
Also note, this is missing Clang lit tests, and doesn't seem to be correctly
handling dependent expressions for x,y, and z.
https://github.com/llvm/llvm-project/pull/79035
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
@@ -8069,6 +8069,26 @@ static void handleAMDGPUNumVGPRAttr(Sema , Decl *D,
const ParsedAttr ) {
D->addAttr(::new (S.Context) AMDGPUNumVGPRAttr(S.Context, AL, NumVGPR));
}
+static void handleAMDGPUMaxNumWorkGroupsAttr(Sema , Decl *D,
+
erichkeane wrote:
> @erichkeane
>
> > That said, waiting until after 18 is perhaps a good diea.
>
> Resolving merge conflicts that will arise in the meantime is not going to be
> trivial, but should be doable in a reasonable time. So I'm willing to wait.
>
I'm glad to hear that! I'm
https://github.com/erichkeane approved this pull request.
https://github.com/llvm/llvm-project/pull/82277
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
erichkeane wrote:
I think we're good, feel free to resolve your conflict and commit.
https://github.com/llvm/llvm-project/pull/80842
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -8069,6 +8069,26 @@ static void handleAMDGPUNumVGPRAttr(Sema , Decl *D,
const ParsedAttr ) {
D->addAttr(::new (S.Context) AMDGPUNumVGPRAttr(S.Context, AL, NumVGPR));
}
+static void handleAMDGPUMaxNumWorkGroupsAttr(Sema , Decl *D,
+
@@ -2705,6 +2705,33 @@ An error will be given if:
}];
}
+def AMDGPUMaxNumWorkGroupsDocs : Documentation {
+ let Category = DocCatAMDGPUAttributes;
+ let Content = [{
+This attribute specifies the max number of work groups when the kernel
+is dispatched.
+
+Clang supports
@@ -2705,6 +2705,33 @@ An error will be given if:
}];
}
+def AMDGPUMaxNumWorkGroupsDocs : Documentation {
+ let Category = DocCatAMDGPUAttributes;
+ let Content = [{
+This attribute specifies the max number of work groups when the kernel
+is dispatched.
+
+Clang supports
@@ -2705,6 +2705,33 @@ An error will be given if:
}];
}
+def AMDGPUMaxNumWorkGroupsDocs : Documentation {
+ let Category = DocCatAMDGPUAttributes;
+ let Content = [{
+This attribute specifies the max number of work groups when the kernel
+is dispatched.
+
+Clang supports
https://github.com/erichkeane commented:
Reviewed the CFE component, didn't look at LLVM.
https://github.com/llvm/llvm-project/pull/79035
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://github.com/erichkeane edited
https://github.com/llvm/llvm-project/pull/79035
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
erichkeane wrote:
> This is going to be rather disruptive on downstream projects. At least we
> should wait until after the release of clang 18 to merge it, to avoid endless
> merge conflicts
For the most part, git will handle these pretty well on downstreams I think,
and as they are
erichkeane wrote:
> what would be the reason for windows build failing , is it a CI issue or
> specific to this PR & what can I do to resolve that. Thank you
That appears to be a problem with the CI itself. I think we've fixed up a
bunch of the CI, but it will require doing a 'merge' with
https://github.com/erichkeane approved this pull request.
https://github.com/llvm/llvm-project/pull/82037
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/erichkeane approved this pull request.
https://github.com/llvm/llvm-project/pull/82015
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -2742,6 +2742,19 @@ bool Parser::parseMisplacedModuleImport() {
return false;
}
+void Parser::diagnoseUseOfC11Keyword(const Token& Tok) {
+ // Warn that this is a C11 extension if in an older mode or if in C++.
+ // Otherwise, warn that it is incompatible with
@@ -2742,6 +2742,19 @@ bool Parser::parseMisplacedModuleImport() {
return false;
}
+void Parser::diagnoseUseOfC11Keyword(const Token& Tok) {
+ // Warn that this is a C11 extension if in an older mode or if in C++.
+ // Otherwise, warn that it is incompatible with
https://github.com/erichkeane closed
https://github.com/llvm/llvm-project/pull/81659
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -0,0 +1,132 @@
+//===--- SemaOpenACC.cpp - Semantic Analysis for OpenACC constructs
---===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM
Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier:
erichkeane wrote:
> I wonder if this should be a part of the Targets in CodeGen instead of here?
Hrm, this is a bad idea as the rest of mangling is in AST, but having mangling
outside of AST seems to be the problem here.
https://github.com/llvm/llvm-project/pull/81893
@@ -14,6 +14,7 @@
#ifndef LLVM_CLANG_BASIC_TARGETINFO_H
#define LLVM_CLANG_BASIC_TARGETINFO_H
+#include "clang/AST/Attr.h"
erichkeane wrote:
Basic shouldn't be referencing AST (IIRC, it shouldn't reference anything but
basic or llvm), this ends up being an
https://github.com/erichkeane commented:
I wonder if this should be a part of the Targets in CodeGen instead of here?
https://github.com/llvm/llvm-project/pull/81893
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://github.com/erichkeane edited
https://github.com/llvm/llvm-project/pull/81893
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/erichkeane closed
https://github.com/llvm/llvm-project/pull/81874
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/erichkeane updated
https://github.com/llvm/llvm-project/pull/81874
>From 35700522a658571e2abad279f327f4160fdb6c9d Mon Sep 17 00:00:00 2001
From: erichkeane
Date: Thu, 15 Feb 2024 08:41:58 -0800
Subject: [PATCH 1/3] [OpenACC][NFC] Implement basic OpenACC Sema
infrastructure
https://github.com/erichkeane updated
https://github.com/llvm/llvm-project/pull/81874
>From 35700522a658571e2abad279f327f4160fdb6c9d Mon Sep 17 00:00:00 2001
From: erichkeane
Date: Thu, 15 Feb 2024 08:41:58 -0800
Subject: [PATCH 1/2] [OpenACC][NFC] Implement basic OpenACC Sema
infrastructure
@@ -1197,7 +1215,20 @@ StmtResult Parser::ParseOpenACCDirectiveStmt() {
ParsingOpenACCDirectiveRAII DirScope(*this);
ConsumeAnnotationToken();
- ParseOpenACCDirective();
+ OpenACCDirectiveParseInfo DirInfo = ParseOpenACCDirective();
+ if
https://github.com/erichkeane edited
https://github.com/llvm/llvm-project/pull/81874
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/erichkeane commented:
@alexey-bataev : as requested, I've split off the infrastructure bits. Once
this is committed, I'll move the 'warning's as a Review-after-commit so that
the other patch can be easier to review.
https://github.com/llvm/llvm-project/pull/81874
https://github.com/erichkeane created
https://github.com/llvm/llvm-project/pull/81874
This patch is split off from #81659, and contains just the Sema infrastructure
that we can later use to implement semantic analysis of OpenACC constructs.
>From 35700522a658571e2abad279f327f4160fdb6c9d Mon
@@ -0,0 +1,132 @@
+//===--- SemaOpenACC.cpp - Semantic Analysis for OpenACC constructs
---===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM
Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier:
@@ -0,0 +1,132 @@
+//===--- SemaOpenACC.cpp - Semantic Analysis for OpenACC constructs
---===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM
Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier:
@@ -13662,3 +13663,8 @@ StringRef ASTContext::getCUIDHash() const {
CUIDHash = llvm::utohexstr(llvm::MD5Hash(LangOpts.CUID), /*LowerCase=*/true);
return CUIDHash;
}
+
+void ASTContext::setOpenACCStructuredBlock(OpenACCComputeConstruct *C,
+
@@ -745,9 +745,14 @@ bool Parser::ParseOpenACCClause(OpenACCDirectiveKind
DirKind) {
<< getCurToken().getIdentifierInfo();
// Consume the clause name.
- ConsumeToken();
+ SourceLocation ClauseLoc = ConsumeToken();
+
+ bool ParamsResult =
https://github.com/erichkeane closed
https://github.com/llvm/llvm-project/pull/81796
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/erichkeane approved this pull request.
Ooof, thank you so much!
https://github.com/llvm/llvm-project/pull/81796
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -6390,6 +6394,7 @@ TEST(HasTemplateArgumentLoc,
BindsToSpecializationWithDoubleArgument) {
0, hasTypeLoc(loc(asString("double")));
}
+#if 0
erichkeane wrote:
Same question here :)
@@ -2545,10 +2545,12 @@ ASTDeclReader::VisitClassTemplateSpecializationDeclImpl(
}
// Explicit info.
- if (TypeSourceInfo *TyInfo = readTypeSourceInfo()) {
-auto *ExplicitInfo =
-new (C) ClassTemplateSpecializationDecl::ExplicitSpecializationInfo;
-
@@ -6316,6 +6310,15 @@ TEST(HasAnyTemplateArgumentLoc,
BindsToSpecializationWithDoubleArgument) {
hasTypeLoc(loc(asString("double")));
}
+TEST(HasAnyTemplateArgumentLoc, BindsToExplicitSpecializationWithIntArgument) {
+ EXPECT_TRUE(
+
@@ -285,30 +285,23 @@ template<>
class SpecializationDecl;
// CHECK: [[@LINE-1]]:7 | class(Gen,TS)/C++ | SpecializationDecl |
c:@S@SpecializationDecl>#I | | Decl,RelSpecialization | rel: 1
// CHECK-NEXT: RelSpecialization | SpecializationDecl |
c:@ST>1#T@SpecializationDecl
@@ -279,7 +279,7 @@ namespace dr727 { // dr727: partial
// cxx98-11-error@-1 {{variable templates are a C++14 extension}}
// cxx98-14-error@-2 {{inline variables are a C++17 extension}}
template<> static inline int v2; // #dr727-v2-T
-// cxx98-14-error@-1
@@ -222,7 +220,7 @@ int binTempl;
template
float binTempl = 1;
-// CHECK: VarTemplatePartialSpecializationDecl 0x{{[^ ]*}}
col:7 binTempl 'float' cinit
erichkeane wrote:
Why are we losing 'const-int' (Is that what cinit means?) here? Is that
perhaps
@@ -1985,44 +1986,45 @@ class ClassTemplateSpecializationDecl
SpecializedTemplate = TemplDecl;
}
- /// Sets the type of this specialization as it was written by
- /// the user. This will be a class template specialization type.
- void setTypeAsWritten(TypeSourceInfo
@@ -2596,23 +2582,24 @@ class VarTemplateSpecializationDecl : public VarDecl,
llvm::PointerUnion
SpecializedTemplate;
- /// Further info for explicit template specialization/instantiation.
- struct ExplicitSpecializationInfo {
-/// The type-as-written.
-
erichkeane wrote:
>The "most breaking" change is to AST Matchers, insofar that hasTypeLoc will no
>longer match class template specializations (since they no longer store the
>type as written). I wasn't entirely sure what to replace the tests for this
>behavior with, so I just commented them
@@ -2705,6 +2705,30 @@ An error will be given if:
}];
}
+def AMDGPUNumWorkGroupsDocs : Documentation {
+ let Category = DocCatAMDGPUAttributes;
+ let Content = [{
+The number of work groups specifies the number of work groups when the kernel
+is dispatched.
+
+Clang
=?utf-8?q?“Nhat?= ,
=?utf-8?q?“Nhat?= ,
=?utf-8?q?“Nhat?= ,
=?utf-8?q?“Nhat?= ,
=?utf-8?q?“Nhat?= ,Nhat Nguyen
Message-ID:
In-Reply-To:
erichkeane wrote:
> > Looks like all the tests disappeared? Only thing I see is the code change.
> > Also, no release note is currently present.
>
> Hi I
https://github.com/erichkeane approved this pull request.
https://github.com/llvm/llvm-project/pull/80802
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/erichkeane closed
https://github.com/llvm/llvm-project/pull/81188
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/erichkeane approved this pull request.
https://github.com/llvm/llvm-project/pull/80171
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/erichkeane approved this pull request.
https://github.com/llvm/llvm-project/pull/80842
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/erichkeane approved this pull request.
https://github.com/llvm/llvm-project/pull/80040
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/erichkeane approved this pull request.
https://github.com/llvm/llvm-project/pull/81398
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -33,6 +33,7 @@ namespace clang {
class Decl;
struct DeducedPack;
class Sema;
+enum class TemplateDeductionResult;
erichkeane wrote:
Ok then, I'm ok sticking to our existing practice if this is a policy that was
already made.
@@ -11445,11 +11452,16 @@ static void DiagnoseBadDeduction(Sema , NamedDecl
*Found, Decl *Templated,
(ParamD = Param.dyn_cast()) ||
(ParamD = Param.dyn_cast()) ||
(ParamD = Param.dyn_cast());
- switch (DeductionFailure.Result) {
- case Sema::TDK_Success:
-
@@ -1614,7 +1614,19 @@ bool TemplateInstantiator::AlreadyTransformed(QualType
T) {
if (T.isNull())
return true;
- if (T->isInstantiationDependentType() || T->isVariablyModifiedType())
+ bool DependentLambdaType = false;
+ QualType DesugaredType =
@@ -1614,7 +1614,19 @@ bool TemplateInstantiator::AlreadyTransformed(QualType
T) {
if (T.isNull())
return true;
- if (T->isInstantiationDependentType() || T->isVariablyModifiedType())
+ bool DependentLambdaType = false;
+ QualType DesugaredType =
https://github.com/erichkeane edited
https://github.com/llvm/llvm-project/pull/80802
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/erichkeane commented:
A few suggestions, but I REALLY would like @cor3ntin to take a final pass, it
mostly LGTM.
https://github.com/llvm/llvm-project/pull/80802
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://github.com/erichkeane approved this pull request.
https://github.com/llvm/llvm-project/pull/81449
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -356,6 +356,19 @@ void AMDGPUTargetCodeGenInfo::setFunctionDeclAttributes(
if (NumVGPR != 0)
F->addFnAttr("amdgpu-num-vgpr", llvm::utostr(NumVGPR));
}
+
+ if (const auto *Attr = FD->getAttr()) {
+uint32_t X = Attr->getNumWorkGroupsX();
+uint32_t Y =
@@ -2705,6 +2705,30 @@ An error will be given if:
}];
}
+def AMDGPUNumWorkGroupsDocs : Documentation {
+ let Category = DocCatAMDGPUAttributes;
+ let Content = [{
+The number of work groups specifies the number of work groups when the kernel
+is dispatched.
+
+Clang
@@ -8069,6 +8069,25 @@ static void handleAMDGPUNumVGPRAttr(Sema , Decl *D,
const ParsedAttr ) {
D->addAttr(::new (S.Context) AMDGPUNumVGPRAttr(S.Context, AL, NumVGPR));
}
+static void handleAMDGPUNumWorkGroupsAttr(Sema , Decl *D,
+
801 - 900 of 2361 matches
Mail list logo