https://github.com/yuxuanchen1997 updated
https://github.com/llvm/llvm-project/pull/98974
>From d38f0608753417c6b79e0684cb9dc23933dc957b Mon Sep 17 00:00:00 2001
From: Yuxuan Chen
Date: Tue, 4 Jun 2024 23:22:00 -0700
Subject: [PATCH 1/2] [Clang] Introduce [[clang::coro_inplace_task]]
Implement
yuxuanchen1997 wrote:
@ChuanqiXu9, I have changed to use Attributes now.
https://github.com/llvm/llvm-project/pull/98974
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/yuxuanchen1997 edited
https://github.com/llvm/llvm-project/pull/98974
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/yuxuanchen1997 edited
https://github.com/llvm/llvm-project/pull/98974
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/yuxuanchen1997 updated
https://github.com/llvm/llvm-project/pull/98974
>From d38f0608753417c6b79e0684cb9dc23933dc957b Mon Sep 17 00:00:00 2001
From: Yuxuan Chen
Date: Tue, 4 Jun 2024 23:22:00 -0700
Subject: [PATCH 1/2] [Clang] Introduce [[clang::coro_inplace_task]]
Implement
https://github.com/yuxuanchen1997 updated
https://github.com/llvm/llvm-project/pull/98974
>From d38f0608753417c6b79e0684cb9dc23933dc957b Mon Sep 17 00:00:00 2001
From: Yuxuan Chen
Date: Tue, 4 Jun 2024 23:22:00 -0700
Subject: [PATCH 1/2] [Clang] Introduce [[clang::coro_inplace_task]]
Implement
yuxuanchen1997 wrote:
@ChuanqiXu9
I was trying to find a stack review solution. See
https://reviewstack.dev/llvm/llvm-project/pull/98974
You can compare between commits on this UI. What's the stacked PRs approach you
were talking about?
https://github.com/llvm/llvm-project/pull/98974
___
yuxuanchen1997 wrote:
> how do you think about the suggestion to split the middle end patch?
Can do that sure. I will send out new stacked PRs.
https://github.com/llvm/llvm-project/pull/98974
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
ht
https://github.com/yuxuanchen1997 created
https://github.com/llvm/llvm-project/pull/99282
This patch is the frontend implementation of the coroutine elide improvement
project detailed in this discourse post:
https://discourse.llvm.org/t/language-extension-for-better-more-deterministic-halo-for
https://github.com/yuxuanchen1997 closed
https://github.com/llvm/llvm-project/pull/98971
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
yuxuanchen1997 wrote:
Deprecated in favor of https://github.com/llvm/llvm-project/pull/99282
https://github.com/llvm/llvm-project/pull/98971
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-com
https://github.com/yuxuanchen1997 updated
https://github.com/llvm/llvm-project/pull/99282
>From dfb903c47573a01c25a67ea1025fdc3c268673c8 Mon Sep 17 00:00:00 2001
From: Yuxuan Chen
Date: Tue, 4 Jun 2024 23:22:00 -0700
Subject: [PATCH] [Clang] Introduce [[clang::coro_await_elidable]]
---
clang/
https://github.com/yuxuanchen1997 edited
https://github.com/llvm/llvm-project/pull/99282
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/yuxuanchen1997 edited
https://github.com/llvm/llvm-project/pull/99282
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
yuxuanchen1997 wrote:
Hello! Requesting upstream to take a look again as I believe all feedback at
the moment has been addressed. Please let me know if I still miss anything.
https://github.com/llvm/llvm-project/pull/99282
___
cfe-commits mailing lis
https://github.com/yuxuanchen1997 updated
https://github.com/llvm/llvm-project/pull/99282
>From 7c350747d4481e0d95c51ac2a157809fa630d188 Mon Sep 17 00:00:00 2001
From: Yuxuan Chen
Date: Tue, 4 Jun 2024 23:22:00 -0700
Subject: [PATCH] [Clang] C++20 Coroutines: Introduce Frontend Attribute
[[cla
@@ -523,6 +523,12 @@ void CodeGenFunction::FinishFunction(SourceLocation
EndLoc) {
NormalCleanupDest = Address::invalid();
}
+ if (getLangOpts().Coroutines && isCoroutine()) {
+auto *Record = FnRetTy->getAsCXXRecordDecl();
+if (Record && Record->hasAttr())
+
@@ -523,6 +523,12 @@ void CodeGenFunction::FinishFunction(SourceLocation
EndLoc) {
NormalCleanupDest = Address::invalid();
}
+ if (getLangOpts().Coroutines && isCoroutine()) {
+auto *Record = FnRetTy->getAsCXXRecordDecl();
+if (Record && Record->hasAttr())
+
https://github.com/yuxuanchen1997 updated
https://github.com/llvm/llvm-project/pull/99282
>From ef2b868666579df534d63daeebd2b201600ce292 Mon Sep 17 00:00:00 2001
From: Yuxuan Chen
Date: Tue, 4 Jun 2024 23:22:00 -0700
Subject: [PATCH] [Clang] C++20 Coroutines: Introduce Frontend Attribute
[[cla
https://github.com/yuxuanchen1997 created
https://github.com/llvm/llvm-project/pull/98102
We ran into a FE crash and root caused to `ER.get()` on line 5584 here being
nullptr. I think this is a result of not checking if ER here is invalid.
We have been using automated reduction tools (like CR
@@ -5576,6 +5576,10 @@ static void TryOrBuildParenListInitialization(
ExprResult ER;
ER = IS.Perform(S, SubEntity, SubKind,
Arg ? MultiExprArg(Arg) : std::nullopt);
+
+ if (ER.IsInvalid())
+return false;
+
if (InitExpr)
https://github.com/yuxuanchen1997 updated
https://github.com/llvm/llvm-project/pull/98102
>From 01a5dd6e5bfc612678818035b88f85fda5c039d1 Mon Sep 17 00:00:00 2001
From: Yuxuan Chen
Date: Mon, 8 Jul 2024 18:16:17 -0700
Subject: [PATCH] [clang] fix sema init crash for not checking a ExprResult
--
@@ -5576,6 +5576,10 @@ static void TryOrBuildParenListInitialization(
ExprResult ER;
ER = IS.Perform(S, SubEntity, SubKind,
Arg ? MultiExprArg(Arg) : std::nullopt);
+
+ if (ER.isInvalid())
yuxuanchen1997 wrote:
If you loo
yuxuanchen1997 wrote:
@AaronBallman I have good news. I was able to manually write a well-formed C++
file that crashes.
https://gist.github.com/yuxuanchen1997/576dce964666f0f8713fccacf5847138
And I am able to validate that the fix I proposed here does fix the problem.
https://github.com/llvm
https://github.com/yuxuanchen1997 updated
https://github.com/llvm/llvm-project/pull/94693
>From b263674367fb82ac9d7c306a42c500c8968ca3f7 Mon Sep 17 00:00:00 2001
From: Yuxuan Chen
Date: Tue, 4 Jun 2024 23:22:00 -0700
Subject: [PATCH 1/2] [Clang] Introduce [[clang::coro_inplace_task]]
---
clan
https://github.com/yuxuanchen1997 updated
https://github.com/llvm/llvm-project/pull/98102
>From 01a5dd6e5bfc612678818035b88f85fda5c039d1 Mon Sep 17 00:00:00 2001
From: Yuxuan Chen
Date: Mon, 8 Jul 2024 18:16:17 -0700
Subject: [PATCH 1/2] [clang] fix sema init crash for not checking a ExprResult
https://github.com/yuxuanchen1997 updated
https://github.com/llvm/llvm-project/pull/98102
>From 01a5dd6e5bfc612678818035b88f85fda5c039d1 Mon Sep 17 00:00:00 2001
From: Yuxuan Chen
Date: Mon, 8 Jul 2024 18:16:17 -0700
Subject: [PATCH 1/2] [clang] fix sema init crash for not checking a ExprResult
https://github.com/yuxuanchen1997 updated
https://github.com/llvm/llvm-project/pull/98102
>From 588762c4c3a1e01f4cf2bd418a8545b79a6b5371 Mon Sep 17 00:00:00 2001
From: Yuxuan Chen
Date: Mon, 8 Jul 2024 18:16:17 -0700
Subject: [PATCH 1/2] [clang] fix sema init crash for not checking a ExprResult
https://github.com/yuxuanchen1997 updated
https://github.com/llvm/llvm-project/pull/98102
>From 588762c4c3a1e01f4cf2bd418a8545b79a6b5371 Mon Sep 17 00:00:00 2001
From: Yuxuan Chen
Date: Mon, 8 Jul 2024 18:16:17 -0700
Subject: [PATCH 1/2] [clang] fix sema init crash for not checking a ExprResult
https://github.com/yuxuanchen1997 updated
https://github.com/llvm/llvm-project/pull/98102
>From 588762c4c3a1e01f4cf2bd418a8545b79a6b5371 Mon Sep 17 00:00:00 2001
From: Yuxuan Chen
Date: Mon, 8 Jul 2024 18:16:17 -0700
Subject: [PATCH 1/2] [clang] fix sema init crash for not checking a ExprResult
https://github.com/yuxuanchen1997 updated
https://github.com/llvm/llvm-project/pull/98102
>From 588762c4c3a1e01f4cf2bd418a8545b79a6b5371 Mon Sep 17 00:00:00 2001
From: Yuxuan Chen
Date: Mon, 8 Jul 2024 18:16:17 -0700
Subject: [PATCH 1/2] [clang] fix sema init crash for not checking a ExprResult
https://github.com/yuxuanchen1997 edited
https://github.com/llvm/llvm-project/pull/98102
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/yuxuanchen1997 edited
https://github.com/llvm/llvm-project/pull/98102
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/yuxuanchen1997 updated
https://github.com/llvm/llvm-project/pull/98102
>From 097881dcd14d44e97e526de86dc348e7a4e5a2e6 Mon Sep 17 00:00:00 2001
From: Yuxuan Chen
Date: Mon, 8 Jul 2024 18:16:17 -0700
Subject: [PATCH 1/2] [clang] fix sema init crash for not checking a ExprResult
yuxuanchen1997 wrote:
> The changes LGTM, but please add a release note to
> clang/docs/ReleaseNotes.rst so users know about the fix.
Added. Thanks.
https://github.com/llvm/llvm-project/pull/98102
___
cfe-commits mailing list
cfe-commits@lists.llvm.
https://github.com/yuxuanchen1997 updated
https://github.com/llvm/llvm-project/pull/94693
>From 9f6d1cce5e6ba693e9d6bd125e19b3c653ee96dd Mon Sep 17 00:00:00 2001
From: Yuxuan Chen
Date: Tue, 4 Jun 2024 23:22:00 -0700
Subject: [PATCH 1/2] [Clang] Introduce [[clang::coro_inplace_task]]
---
clan
https://github.com/yuxuanchen1997 updated
https://github.com/llvm/llvm-project/pull/94693
>From 9f6d1cce5e6ba693e9d6bd125e19b3c653ee96dd Mon Sep 17 00:00:00 2001
From: Yuxuan Chen
Date: Tue, 4 Jun 2024 23:22:00 -0700
Subject: [PATCH 1/2] [Clang] Introduce [[clang::coro_inplace_task]]
---
clan
https://github.com/yuxuanchen1997 updated
https://github.com/llvm/llvm-project/pull/94693
>From 9f6d1cce5e6ba693e9d6bd125e19b3c653ee96dd Mon Sep 17 00:00:00 2001
From: Yuxuan Chen
Date: Tue, 4 Jun 2024 23:22:00 -0700
Subject: [PATCH 1/2] [Clang] Introduce [[clang::coro_inplace_task]]
---
clan
https://github.com/yuxuanchen1997 updated
https://github.com/llvm/llvm-project/pull/94693
>From 9f6d1cce5e6ba693e9d6bd125e19b3c653ee96dd Mon Sep 17 00:00:00 2001
From: Yuxuan Chen
Date: Tue, 4 Jun 2024 23:22:00 -0700
Subject: [PATCH 1/2] [Clang] Introduce [[clang::coro_inplace_task]]
---
clan
https://github.com/yuxuanchen1997 updated
https://github.com/llvm/llvm-project/pull/94693
>From 9f6d1cce5e6ba693e9d6bd125e19b3c653ee96dd Mon Sep 17 00:00:00 2001
From: Yuxuan Chen
Date: Tue, 4 Jun 2024 23:22:00 -0700
Subject: [PATCH 1/2] [Clang] Introduce [[clang::coro_inplace_task]]
---
clan
https://github.com/yuxuanchen1997 updated
https://github.com/llvm/llvm-project/pull/94693
>From 9f6d1cce5e6ba693e9d6bd125e19b3c653ee96dd Mon Sep 17 00:00:00 2001
From: Yuxuan Chen
Date: Tue, 4 Jun 2024 23:22:00 -0700
Subject: [PATCH 1/2] [Clang] Introduce [[clang::coro_inplace_task]]
---
clan
https://github.com/yuxuanchen1997 updated
https://github.com/llvm/llvm-project/pull/94693
>From 4e4bcdc19268543a8348736dede46d8f8cad0066 Mon Sep 17 00:00:00 2001
From: Yuxuan Chen
Date: Tue, 4 Jun 2024 23:22:00 -0700
Subject: [PATCH 1/2] [Clang] Introduce [[clang::coro_inplace_task]]
---
clan
https://github.com/yuxuanchen1997 updated
https://github.com/llvm/llvm-project/pull/94693
>From 4e4bcdc19268543a8348736dede46d8f8cad0066 Mon Sep 17 00:00:00 2001
From: Yuxuan Chen
Date: Tue, 4 Jun 2024 23:22:00 -0700
Subject: [PATCH 1/2] [Clang] Introduce [[clang::coro_inplace_task]]
---
clan
https://github.com/yuxuanchen1997 updated
https://github.com/llvm/llvm-project/pull/94693
>From 4e4bcdc19268543a8348736dede46d8f8cad0066 Mon Sep 17 00:00:00 2001
From: Yuxuan Chen
Date: Tue, 4 Jun 2024 23:22:00 -0700
Subject: [PATCH 1/3] [Clang] Introduce [[clang::coro_inplace_task]]
---
clan
https://github.com/yuxuanchen1997 updated
https://github.com/llvm/llvm-project/pull/94693
>From 4e4bcdc19268543a8348736dede46d8f8cad0066 Mon Sep 17 00:00:00 2001
From: Yuxuan Chen
Date: Tue, 4 Jun 2024 23:22:00 -0700
Subject: [PATCH 1/3] [Clang] Introduce [[clang::coro_inplace_task]]
---
clan
https://github.com/yuxuanchen1997 updated
https://github.com/llvm/llvm-project/pull/94693
>From 4e4bcdc19268543a8348736dede46d8f8cad0066 Mon Sep 17 00:00:00 2001
From: Yuxuan Chen
Date: Tue, 4 Jun 2024 23:22:00 -0700
Subject: [PATCH 1/3] [Clang] Introduce [[clang::coro_inplace_task]]
---
clan
https://github.com/yuxuanchen1997 updated
https://github.com/llvm/llvm-project/pull/94693
>From 4e4bcdc19268543a8348736dede46d8f8cad0066 Mon Sep 17 00:00:00 2001
From: Yuxuan Chen
Date: Tue, 4 Jun 2024 23:22:00 -0700
Subject: [PATCH 1/3] [Clang] Introduce [[clang::coro_inplace_task]]
---
clan
https://github.com/yuxuanchen1997 updated
https://github.com/llvm/llvm-project/pull/94693
>From 4e4bcdc19268543a8348736dede46d8f8cad0066 Mon Sep 17 00:00:00 2001
From: Yuxuan Chen
Date: Tue, 4 Jun 2024 23:22:00 -0700
Subject: [PATCH 1/3] [Clang] Introduce [[clang::coro_inplace_task]]
---
clan
https://github.com/yuxuanchen1997 updated
https://github.com/llvm/llvm-project/pull/94693
>From 4e4bcdc19268543a8348736dede46d8f8cad0066 Mon Sep 17 00:00:00 2001
From: Yuxuan Chen
Date: Tue, 4 Jun 2024 23:22:00 -0700
Subject: [PATCH 1/3] [Clang] Introduce [[clang::coro_inplace_task]]
---
clan
https://github.com/yuxuanchen1997 updated
https://github.com/llvm/llvm-project/pull/94693
>From 4e4bcdc19268543a8348736dede46d8f8cad0066 Mon Sep 17 00:00:00 2001
From: Yuxuan Chen
Date: Tue, 4 Jun 2024 23:22:00 -0700
Subject: [PATCH 1/3] [Clang] Introduce [[clang::coro_inplace_task]]
---
clan
https://github.com/yuxuanchen1997 updated
https://github.com/llvm/llvm-project/pull/94693
>From 4e4bcdc19268543a8348736dede46d8f8cad0066 Mon Sep 17 00:00:00 2001
From: Yuxuan Chen
Date: Tue, 4 Jun 2024 23:22:00 -0700
Subject: [PATCH 1/3] [Clang] Introduce [[clang::coro_inplace_task]]
---
clan
https://github.com/yuxuanchen1997 updated
https://github.com/llvm/llvm-project/pull/99282
>From 55e27fdace4dabc0748c20ae5271b735dcc22e3e Mon Sep 17 00:00:00 2001
From: Yuxuan Chen
Date: Tue, 4 Jun 2024 23:22:00 -0700
Subject: [PATCH] [Clang] Introduce [[clang::coro_await_elidable]]
---
clang/
@@ -15,6 +15,7 @@
#include "CoroutineStmtBuilder.h"
#include "clang/AST/ASTLambda.h"
+#include "clang/AST/ComputeDependence.h"
yuxuanchen1997 wrote:
Sorry. Seems like an IDE auto include.
https://github.com/llvm/llvm-project/pull/99282
_
@@ -1217,6 +1217,14 @@ def CoroDisableLifetimeBound : InheritableAttr {
let SimpleHandler = 1;
}
+def CoroAwaitElidable : InheritableAttr {
yuxuanchen1997 wrote:
Will do.
https://github.com/llvm/llvm-project/pull/99282
@@ -848,7 +862,21 @@ ExprResult Sema::BuildUnresolvedCoawaitExpr(SourceLocation
Loc, Expr *Operand,
}
auto *RD = Promise->getType()->getAsCXXRecordDecl();
- auto *Transformed = Operand;
+ bool InplaceCall =
+ isCoroInplaceCall(Operand) &&
+ isAttributedCoroInp
@@ -5443,24 +5444,38 @@ RValue CodeGenFunction::EmitRValueForField(LValue LV,
//======//
RValue CodeGenFunction::EmitCallExpr(const CallExpr *E,
- ReturnValueSlot ReturnValu
@@ -8119,6 +8119,35 @@ but do not pass them to the underlying coroutine or pass
them by value.
}];
}
+def CoroAwaitElidableDoc : Documentation {
+ let Category = DocCatDecl;
+ let Content = [{
+The ``[[clang::coro_await_elidable]]`` is a class attribute which can be
applie
@@ -8119,6 +8119,35 @@ but do not pass them to the underlying coroutine or pass
them by value.
}];
}
+def CoroAwaitElidableDoc : Documentation {
+ let Category = DocCatDecl;
+ let Content = [{
+The ``[[clang::coro_await_elidable]]`` is a class attribute which can be
applie
https://github.com/yuxuanchen1997 edited
https://github.com/llvm/llvm-project/pull/99282
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -1217,6 +1217,14 @@ def CoroDisableLifetimeBound : InheritableAttr {
let SimpleHandler = 1;
}
+def CoroAwaitElidable : InheritableAttr {
yuxuanchen1997 wrote:
I am adding this
```
- Introduced a new attribute ``[[clang::coro_await_elidable]]`` on corout
https://github.com/yuxuanchen1997 edited
https://github.com/llvm/llvm-project/pull/99282
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -848,7 +862,21 @@ ExprResult Sema::BuildUnresolvedCoawaitExpr(SourceLocation
Loc, Expr *Operand,
}
auto *RD = Promise->getType()->getAsCXXRecordDecl();
- auto *Transformed = Operand;
+ bool InplaceCall =
+ isCoroInplaceCall(Operand) &&
+ isAttributedCoroInp
@@ -8119,6 +8119,35 @@ but do not pass them to the underlying coroutine or pass
them by value.
}];
}
+def CoroAwaitElidableDoc : Documentation {
+ let Category = DocCatDecl;
+ let Content = [{
+The ``[[clang::coro_await_elidable]]`` is a class attribute which can be
applie
@@ -8119,6 +8119,35 @@ but do not pass them to the underlying coroutine or pass
them by value.
}];
}
+def CoroAwaitElidableDoc : Documentation {
+ let Category = DocCatDecl;
+ let Content = [{
+The ``[[clang::coro_await_elidable]]`` is a class attribute which can be
applie
https://github.com/yuxuanchen1997 deleted
https://github.com/llvm/llvm-project/pull/99282
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -8119,6 +8119,35 @@ but do not pass them to the underlying coroutine or pass
them by value.
}];
}
+def CoroAwaitElidableDoc : Documentation {
+ let Category = DocCatDecl;
+ let Content = [{
+The ``[[clang::coro_await_elidable]]`` is a class attribute which can be
applie
https://github.com/yuxuanchen1997 created
https://github.com/llvm/llvm-project/pull/104822
Fixes https://github.com/llvm/llvm-project/issues/104810.
Clang currently crashes on the following program:
```
struct S {
int i;
};
auto [a] = S{1};
void foo() {
a;
}
```
when `-fopenmp` is enabl
https://github.com/yuxuanchen1997 edited
https://github.com/llvm/llvm-project/pull/104822
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/yuxuanchen1997 closed
https://github.com/llvm/llvm-project/pull/104822
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/yuxuanchen1997 updated
https://github.com/llvm/llvm-project/pull/99282
>From 92966fb0939574c78ccfd6b9a7b38035dae9d2e7 Mon Sep 17 00:00:00 2001
From: Yuxuan Chen
Date: Tue, 4 Jun 2024 23:22:00 -0700
Subject: [PATCH] [Clang] Introduce [[clang::coro_await_elidable]]
---
clang/
https://github.com/yuxuanchen1997 updated
https://github.com/llvm/llvm-project/pull/99282
>From 9c8163db0df6f3d89f32239fbbd6dd47f5eec1a6 Mon Sep 17 00:00:00 2001
From: Yuxuan Chen
Date: Tue, 4 Jun 2024 23:22:00 -0700
Subject: [PATCH] [Clang] Introduce [[clang::coro_await_elidable]]
---
clang/
https://github.com/yuxuanchen1997 updated
https://github.com/llvm/llvm-project/pull/94693
>From 4854a2ed15e983740c8c38c4363d7311fd46cfc7 Mon Sep 17 00:00:00 2001
From: Yuxuan Chen
Date: Tue, 4 Jun 2024 23:22:00 -0700
Subject: [PATCH] [Clang] Introduce [[clang::coro_inplace_task]]
---
clang/in
https://github.com/yuxuanchen1997 updated
https://github.com/llvm/llvm-project/pull/94693
>From 065f965d6649a56a27c39321a553188b4230f5f6 Mon Sep 17 00:00:00 2001
From: Yuxuan Chen
Date: Tue, 4 Jun 2024 23:22:00 -0700
Subject: [PATCH] [Clang] Introduce [[clang::coro_inplace_task]]
---
clang/in
https://github.com/yuxuanchen1997 updated
https://github.com/llvm/llvm-project/pull/94693
>From 210121e2ba5c5e7d759b6e603d1daece5e1e9d12 Mon Sep 17 00:00:00 2001
From: Yuxuan Chen
Date: Tue, 4 Jun 2024 23:22:00 -0700
Subject: [PATCH] [Clang] Introduce [[clang::coro_inplace_task]]
---
clang/in
yuxuanchen1997 wrote:
> Should this be discussed in a RFC on discourse?
Sure. I can write something up next week.
https://github.com/llvm/llvm-project/pull/94693
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/m
https://github.com/yuxuanchen1997 created
https://github.com/llvm/llvm-project/pull/108474
None
>From a4736c1effa479692157dbe735fa873b233f98bd Mon Sep 17 00:00:00 2001
From: Yuxuan Chen
Date: Thu, 12 Sep 2024 17:13:57 -0700
Subject: [PATCH] [Clang] Propagate elide safe context through
[[clang
https://github.com/yuxuanchen1997 updated
https://github.com/llvm/llvm-project/pull/108474
>From b2cd6f3e0bd1b3aefa84c7d733d1119303551d42 Mon Sep 17 00:00:00 2001
From: Yuxuan Chen
Date: Thu, 12 Sep 2024 17:13:57 -0700
Subject: [PATCH] [Clang] Propagate elide safe context through
[[clang::coro
https://github.com/yuxuanchen1997 updated
https://github.com/llvm/llvm-project/pull/108474
>From 73e3d278eca1c9b47cb9c6aa436a82d495d03f83 Mon Sep 17 00:00:00 2001
From: Yuxuan Chen
Date: Thu, 12 Sep 2024 17:13:57 -0700
Subject: [PATCH] [Clang] Propagate elide safe context through
[[clang::coro
https://github.com/yuxuanchen1997 updated
https://github.com/llvm/llvm-project/pull/108474
>From dc6239934105cad1f90b7b6185e6bfa8f30d5544 Mon Sep 17 00:00:00 2001
From: Yuxuan Chen
Date: Thu, 12 Sep 2024 17:13:57 -0700
Subject: [PATCH] [Clang] Propagate elide safe context through
[[clang::coro
https://github.com/yuxuanchen1997 ready_for_review
https://github.com/llvm/llvm-project/pull/108474
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -849,12 +849,30 @@ static bool isAttributedCoroAwaitElidable(const QualType
&QT) {
return Record && Record->hasAttr();
}
-static bool isCoroAwaitElidableCall(Expr *Operand) {
- if (!Operand->isPRValue()) {
-return false;
+static void applySafeElideContext(Expr *Oper
@@ -249,7 +249,10 @@ Attribute Changes in Clang
(#GH106864)
- Introduced a new attribute ``[[clang::coro_await_elidable]]`` on coroutine
return types
- to express elideability at call sites where the coroutine is co_awaited as a
prvalue.
+ to express elideability at call
@@ -880,14 +898,12 @@ ExprResult
Sema::BuildUnresolvedCoawaitExpr(SourceLocation Loc, Expr *Operand,
}
auto *RD = Promise->getType()->getAsCXXRecordDecl();
- bool AwaitElidable =
- isCoroAwaitElidableCall(Operand) &&
- isAttributedCoroAwaitElidable(
-
@@ -8261,12 +8261,19 @@ def CoroAwaitElidableDoc : Documentation {
The ``[[clang::coro_await_elidable]]`` is a class attribute which can be
applied
to a coroutine return type.
-When a coroutine function that returns such a type calls another coroutine
function,
-the compiler
@@ -249,7 +249,10 @@ Attribute Changes in Clang
(#GH106864)
- Introduced a new attribute ``[[clang::coro_await_elidable]]`` on coroutine
return types
- to express elideability at call sites where the coroutine is co_awaited as a
prvalue.
+ to express elideability at call
@@ -8261,12 +8261,19 @@ def CoroAwaitElidableDoc : Documentation {
The ``[[clang::coro_await_elidable]]`` is a class attribute which can be
applied
to a coroutine return type.
-When a coroutine function that returns such a type calls another coroutine
function,
-the compiler
@@ -880,14 +898,12 @@ ExprResult
Sema::BuildUnresolvedCoawaitExpr(SourceLocation Loc, Expr *Operand,
}
auto *RD = Promise->getType()->getAsCXXRecordDecl();
- bool AwaitElidable =
- isCoroAwaitElidableCall(Operand) &&
- isAttributedCoroAwaitElidable(
-
https://github.com/yuxuanchen1997 updated
https://github.com/llvm/llvm-project/pull/108474
>From a1783d336a915c64af3533566b470ac3d55e4297 Mon Sep 17 00:00:00 2001
From: Yuxuan Chen
Date: Thu, 12 Sep 2024 17:13:57 -0700
Subject: [PATCH] [Clang] Propagate elide safe context through
[[clang::coro
@@ -84,4 +84,35 @@ Task nonelidable() {
co_return 1;
}
+// CHECK-LABEL: define{{.*}} @_Z8addTasksO4TaskIiES1_{{.*}} {
+Task addTasks([[clang::coro_must_await]] Task &&t1, Task &&t2) {
+ int i1 = co_await t1;
+ int i2 = co_await t2;
+ co_return i1 + i2;
+}
+
+// CHECK-LABE
https://github.com/yuxuanchen1997 edited
https://github.com/llvm/llvm-project/pull/108474
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/yuxuanchen1997 edited
https://github.com/llvm/llvm-project/pull/108474
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/yuxuanchen1997 updated
https://github.com/llvm/llvm-project/pull/108474
>From c32b36e249cb1062cc05618181bf4cb4fdcd2133 Mon Sep 17 00:00:00 2001
From: Yuxuan Chen
Date: Thu, 12 Sep 2024 17:13:57 -0700
Subject: [PATCH] [Clang] Propagate elide safe context through
[[clang::coro
https://github.com/yuxuanchen1997 closed
https://github.com/llvm/llvm-project/pull/108474
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
yuxuanchen1997 wrote:
Looking at the test failure, it appears that when only building
`check-clang-tools`, no `clang` binary was built. So the test driver cannot
find `clang`. Maybe this diagnostics binary file should be checked in for the
test? That will not catch future errors if the diagnos
https://github.com/yuxuanchen1997 updated
https://github.com/llvm/llvm-project/pull/118522
>From 5860f5f25e04930c72dcdb9f0ee4d7386cbcb3d3 Mon Sep 17 00:00:00 2001
From: Yuxuan Chen
Date: Mon, 2 Dec 2024 15:15:30 -0800
Subject: [PATCH 01/10] start working on the new tool
---
.../clang-read-dia
https://github.com/yuxuanchen1997 updated
https://github.com/llvm/llvm-project/pull/118522
>From 5860f5f25e04930c72dcdb9f0ee4d7386cbcb3d3 Mon Sep 17 00:00:00 2001
From: Yuxuan Chen
Date: Mon, 2 Dec 2024 15:15:30 -0800
Subject: [PATCH 01/11] start working on the new tool
---
.../clang-read-dia
yuxuanchen1997 wrote:
> > Looking at the test failure, it appears that when only building
> > `check-clang-tools`, no `clang` binary was built. So the test driver cannot
> > find `clang`. Maybe this diagnostics binary file should be checked in for
> > the test? That will not catch future error
@@ -0,0 +1,10 @@
+include_directories(${CMAKE_CURRENT_SOURCE_DIR}/..)
yuxuanchen1997 wrote:
Oops... Copied from a boilerplate.
https://github.com/llvm/llvm-project/pull/118522
___
cfe-commits mailing list
cfe-commits@
https://github.com/yuxuanchen1997 updated
https://github.com/llvm/llvm-project/pull/118522
>From 5860f5f25e04930c72dcdb9f0ee4d7386cbcb3d3 Mon Sep 17 00:00:00 2001
From: Yuxuan Chen
Date: Mon, 2 Dec 2024 15:15:30 -0800
Subject: [PATCH 1/7] start working on the new tool
---
.../clang-read-diagn
https://github.com/yuxuanchen1997 updated
https://github.com/llvm/llvm-project/pull/118522
>From 5860f5f25e04930c72dcdb9f0ee4d7386cbcb3d3 Mon Sep 17 00:00:00 2001
From: Yuxuan Chen
Date: Mon, 2 Dec 2024 15:15:30 -0800
Subject: [PATCH 1/8] start working on the new tool
---
.../clang-read-diagn
201 - 300 of 327 matches
Mail list logo