https://github.com/usx95 updated https://github.com/llvm/llvm-project/pull/72954
>From c863646669d0b2b54e1c1c353b063a8209730528 Mon Sep 17 00:00:00 2001
From: Utkarsh Saxena
Date: Tue, 21 Nov 2023 06:51:48 +0100
Subject: [PATCH 01/14] [clangtidy]Allow safe suspensions in
coroutine-hostile-raii
https://github.com/usx95 closed https://github.com/llvm/llvm-project/pull/72954
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/usx95 updated https://github.com/llvm/llvm-project/pull/72348
>From b29aa485f2a541243d3764f4ed711ccc5a869519 Mon Sep 17 00:00:00 2001
From: Utkarsh Saxena
Date: Wed, 15 Nov 2023 06:26:19 +0100
Subject: [PATCH 1/4] [STLExctras] Add out-of-line definition of friend
operator== f
usx95 wrote:
Update: I verified that this change works fine with clang-17.0.6 and fails with
clang-17.0.5 in C++20.
https://github.com/llvm/llvm-project/pull/72348
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/
usx95 wrote:
I am awaiting C++20 build bots to be updated to 17.0.6.
FYI: @cor3ntin @AaronBallman with this change, clang 17.0.6 would be the
minimum version to build LLVM in C++20 after this change.
Would you like me to announce it somewhere or update some docs to reflect this ?
https://githu
https://github.com/usx95 updated https://github.com/llvm/llvm-project/pull/72348
>From b29aa485f2a541243d3764f4ed711ccc5a869519 Mon Sep 17 00:00:00 2001
From: Utkarsh Saxena
Date: Wed, 15 Nov 2023 06:26:19 +0100
Subject: [PATCH 1/5] [STLExctras] Add out-of-line definition of friend
operator== f
usx95 wrote:
Clang 17.0.6 fixed https://github.com/llvm/llvm-project/issues/68901. This
issue was not present in GCC or MSVC [godbolt](https://godbolt.org/z/YEhK37Mqj).
I have added release notes. I will also file the RFC and wait for comments.
https://github.com/llvm/llvm-project/pull/72348
_
usx95 wrote:
Sent out an
[RFC](https://discourse.llvm.org/t/rfc-clang-17-0-6-would-be-minimum-version-to-build-llvm-in-c-20/75345).
https://github.com/llvm/llvm-project/pull/72348
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.l
https://github.com/usx95 created https://github.com/llvm/llvm-project/pull/76729
Without function bodies, we cannot tell whether a function is a coroutine or
not.
The analysis of coroutine wrappers is not useful when this information is not
available.
We therefore now skip this analysis for sk
https://github.com/usx95 updated https://github.com/llvm/llvm-project/pull/76729
>From c0baa45c2541bc688f377a6bd2c9281532b4d541 Mon Sep 17 00:00:00 2001
From: Utkarsh Saxena
Date: Tue, 2 Jan 2024 16:49:28 +0100
Subject: [PATCH 1/2] [coroutines] Do not check coroutine wrappers for skipped
functi
@@ -15845,7 +15845,7 @@ static void diagnoseImplicitlyRetainedSelf(Sema &S) {
}
void Sema::CheckCoroutineWrapper(FunctionDecl *FD) {
- if (!FD)
+ if (!FD || FD->hasSkippedBody())
usx95 wrote:
Moved the check to calling code. `CheckCompletedCoroutineBody` su
https://github.com/usx95 closed https://github.com/llvm/llvm-project/pull/76729
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/usx95 created https://github.com/llvm/llvm-project/pull/76818
Lifetime-bound analysis of reference parameters of coroutines and coroutine
wrappers is helpful in surfacing memory bugs associated with using temporaries
and stack variables in call expressions in plain return sta
https://github.com/usx95 updated https://github.com/llvm/llvm-project/pull/76818
>From cc7ff8b7ecb93165172dbb481c7d5fcb64289a96 Mon Sep 17 00:00:00 2001
From: Utkarsh Saxena
Date: Wed, 3 Jan 2024 14:44:58 +0100
Subject: [PATCH 1/2] [coroutines] Introduce [[clang::coro_not_lifetimebound]]
---
c
https://github.com/usx95 edited https://github.com/llvm/llvm-project/pull/76818
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/usx95 ready_for_review
https://github.com/llvm/llvm-project/pull/76818
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/usx95 edited https://github.com/llvm/llvm-project/pull/76818
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/usx95 updated https://github.com/llvm/llvm-project/pull/76818
>From cc7ff8b7ecb93165172dbb481c7d5fcb64289a96 Mon Sep 17 00:00:00 2001
From: Utkarsh Saxena
Date: Wed, 3 Jan 2024 14:44:58 +0100
Subject: [PATCH 1/3] [coroutines] Introduce [[clang::coro_not_lifetimebound]]
---
c
https://github.com/usx95 updated https://github.com/llvm/llvm-project/pull/76818
>From cc7ff8b7ecb93165172dbb481c7d5fcb64289a96 Mon Sep 17 00:00:00 2001
From: Utkarsh Saxena
Date: Wed, 3 Jan 2024 14:44:58 +0100
Subject: [PATCH 1/4] [coroutines] Introduce [[clang::coro_not_lifetimebound]]
---
c
@@ -1121,6 +1121,14 @@ def CoroLifetimeBound : InheritableAttr {
let SimpleHandler = 1;
}
+def CoroNotLifetimeBound : InheritableAttr {
usx95 wrote:
SG.
https://github.com/llvm/llvm-project/pull/76818
___
cfe-com
https://github.com/usx95 edited https://github.com/llvm/llvm-project/pull/76818
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/usx95 edited https://github.com/llvm/llvm-project/pull/76818
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/usx95 edited https://github.com/llvm/llvm-project/pull/76818
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/usx95 updated https://github.com/llvm/llvm-project/pull/76818
>From cc7ff8b7ecb93165172dbb481c7d5fcb64289a96 Mon Sep 17 00:00:00 2001
From: Utkarsh Saxena
Date: Wed, 3 Jan 2024 14:44:58 +0100
Subject: [PATCH 1/5] [coroutines] Introduce [[clang::coro_not_lifetimebound]]
---
c
@@ -7671,9 +7671,12 @@ The ``[[clang::coro_lifetimebound]]`` is a class
attribute which can be applied
to a coroutine return type (`CRT`_) (i.e.
it should also be annotated with ``[[clang::coro_return_type]]``).
-All parameters of a function are considered to be lifetime boun
https://github.com/usx95 closed https://github.com/llvm/llvm-project/pull/76818
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/usx95 created https://github.com/llvm/llvm-project/pull/77066
This came up in the discussion with seastar folks on RFC
Fixes https://github.com/llvm/llvm-project/issues/76995
>From 3e0d0ab6c4fc6cba68285816a95e423bc18e8e55 Mon Sep 17 00:00:00 2001
From: Utkarsh Saxena
Date: Fr
https://github.com/usx95 edited https://github.com/llvm/llvm-project/pull/77066
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/usx95 edited https://github.com/llvm/llvm-project/pull/77066
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/usx95 edited https://github.com/llvm/llvm-project/pull/77066
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/usx95 ready_for_review
https://github.com/llvm/llvm-project/pull/77066
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/usx95 edited https://github.com/llvm/llvm-project/pull/77066
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/usx95 updated https://github.com/llvm/llvm-project/pull/77066
>From 3e0d0ab6c4fc6cba68285816a95e423bc18e8e55 Mon Sep 17 00:00:00 2001
From: Utkarsh Saxena
Date: Fri, 5 Jan 2024 10:11:20 +0100
Subject: [PATCH 1/2] [coroutines] Detect lifetime issues with coroutine lambda
captu
@@ -7575,15 +7577,27 @@ static void
visitLifetimeBoundArguments(IndirectLocalPath &Path, Expr *Call,
Path.pop_back();
};
- if (ObjectArg && implicitObjectParamIsLifetimeBound(Callee))
-VisitLifetimeBoundArg(Callee, ObjectArg);
-
bool CheckCoroCall = false;
if
https://github.com/usx95 edited https://github.com/llvm/llvm-project/pull/77066
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/usx95 edited https://github.com/llvm/llvm-project/pull/77066
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -7575,15 +7577,27 @@ static void
visitLifetimeBoundArguments(IndirectLocalPath &Path, Expr *Call,
Path.pop_back();
};
- if (ObjectArg && implicitObjectParamIsLifetimeBound(Callee))
-VisitLifetimeBoundArg(Callee, ObjectArg);
-
bool CheckCoroCall = false;
if
https://github.com/usx95 edited https://github.com/llvm/llvm-project/pull/77066
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/usx95 edited https://github.com/llvm/llvm-project/pull/77066
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/usx95 edited https://github.com/llvm/llvm-project/pull/77066
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/usx95 updated https://github.com/llvm/llvm-project/pull/77066
>From 3e0d0ab6c4fc6cba68285816a95e423bc18e8e55 Mon Sep 17 00:00:00 2001
From: Utkarsh Saxena
Date: Fri, 5 Jan 2024 10:11:20 +0100
Subject: [PATCH 1/3] [coroutines] Detect lifetime issues with coroutine lambda
captu
@@ -7575,15 +7577,27 @@ static void
visitLifetimeBoundArguments(IndirectLocalPath &Path, Expr *Call,
Path.pop_back();
};
- if (ObjectArg && implicitObjectParamIsLifetimeBound(Callee))
-VisitLifetimeBoundArg(Callee, ObjectArg);
-
bool CheckCoroCall = false;
if
https://github.com/usx95 edited https://github.com/llvm/llvm-project/pull/77066
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/usx95 edited https://github.com/llvm/llvm-project/pull/77066
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
usx95 wrote:
Build bot has been updated, and the RFC has no pushback. I will land this now.
https://github.com/llvm/llvm-project/pull/72348
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-comm
https://github.com/usx95 closed https://github.com/llvm/llvm-project/pull/72348
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/usx95 updated https://github.com/llvm/llvm-project/pull/77066
>From 3e0d0ab6c4fc6cba68285816a95e423bc18e8e55 Mon Sep 17 00:00:00 2001
From: Utkarsh Saxena
Date: Fri, 5 Jan 2024 10:11:20 +0100
Subject: [PATCH 1/4] [coroutines] Detect lifetime issues with coroutine lambda
captu
https://github.com/usx95 updated https://github.com/llvm/llvm-project/pull/77066
>From 3e0d0ab6c4fc6cba68285816a95e423bc18e8e55 Mon Sep 17 00:00:00 2001
From: Utkarsh Saxena
Date: Fri, 5 Jan 2024 10:11:20 +0100
Subject: [PATCH 1/5] [coroutines] Detect lifetime issues with coroutine lambda
captu
@@ -7575,15 +7577,27 @@ static void
visitLifetimeBoundArguments(IndirectLocalPath &Path, Expr *Call,
Path.pop_back();
};
- if (ObjectArg && implicitObjectParamIsLifetimeBound(Callee))
-VisitLifetimeBoundArg(Callee, ObjectArg);
-
bool CheckCoroCall = false;
if
https://github.com/usx95 edited https://github.com/llvm/llvm-project/pull/77066
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
Author: Utkarsh Saxena
Date: 2022-07-28T05:43:17+02:00
New Revision: df537bef6393042d40275567679ed51c7731e859
URL:
https://github.com/llvm/llvm-project/commit/df537bef6393042d40275567679ed51c7731e859
DIFF:
https://github.com/llvm/llvm-project/commit/df537bef6393042d40275567679ed51c7731e859.diff
Author: Utkarsh Saxena
Date: 2022-08-03T08:19:12+02:00
New Revision: 9ef11616b228fc2f69cd8fe7f7fd3e821d74c182
URL:
https://github.com/llvm/llvm-project/commit/9ef11616b228fc2f69cd8fe7f7fd3e821d74c182
DIFF:
https://github.com/llvm/llvm-project/commit/9ef11616b228fc2f69cd8fe7f7fd3e821d74c182.diff
Author: Utkarsh Saxena
Date: 2022-07-18T11:35:34+02:00
New Revision: 70914aa631561aa9a29681bfe5159b4ea6952060
URL:
https://github.com/llvm/llvm-project/commit/70914aa631561aa9a29681bfe5159b4ea6952060
DIFF:
https://github.com/llvm/llvm-project/commit/70914aa631561aa9a29681bfe5159b4ea6952060.diff
Author: Sam McCall
Date: 2022-07-22T10:35:06+02:00
New Revision: d9d554a3f4640e8f1ed5c0ae408740861715b897
URL:
https://github.com/llvm/llvm-project/commit/d9d554a3f4640e8f1ed5c0ae408740861715b897
DIFF:
https://github.com/llvm/llvm-project/commit/d9d554a3f4640e8f1ed5c0ae408740861715b897.diff
LO
Author: Utkarsh Saxena
Date: 2022-05-16T20:22:36+02:00
New Revision: 5edd7665fd163555f1afe2187907eba95d24c11b
URL:
https://github.com/llvm/llvm-project/commit/5edd7665fd163555f1afe2187907eba95d24c11b
DIFF:
https://github.com/llvm/llvm-project/commit/5edd7665fd163555f1afe2187907eba95d24c11b.diff
Author: Utkarsh Saxena
Date: 2022-05-16T21:07:14+02:00
New Revision: 2fb6ece2ca83d33909c628d682f821d05aa67a97
URL:
https://github.com/llvm/llvm-project/commit/2fb6ece2ca83d33909c628d682f821d05aa67a97
DIFF:
https://github.com/llvm/llvm-project/commit/2fb6ece2ca83d33909c628d682f821d05aa67a97.diff
Author: Utkarsh Saxena
Date: 2022-05-19T16:05:38+02:00
New Revision: 5bbf6ad5b64c2b3cc669ce7698e1bbf5a7f09539
URL:
https://github.com/llvm/llvm-project/commit/5bbf6ad5b64c2b3cc669ce7698e1bbf5a7f09539
DIFF:
https://github.com/llvm/llvm-project/commit/5bbf6ad5b64c2b3cc669ce7698e1bbf5a7f09539.diff
https://github.com/usx95 created https://github.com/llvm/llvm-project/pull/85398
Promotes some EHOnly cleanups to NormalAndEHCleanups to make sure these are
emitted if we see a branch inside an expression (through statement expressions
or coroutine suspensions).
These are usually deactivated af
https://github.com/usx95 edited https://github.com/llvm/llvm-project/pull/85398
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/usx95 updated https://github.com/llvm/llvm-project/pull/85398
>From 0654f624b3b60026398e8b0168623a85e3129630 Mon Sep 17 00:00:00 2001
From: Utkarsh Saxena
Date: Fri, 15 Mar 2024 13:19:36 +
Subject: [PATCH 1/2] [codegen] Emit cleanups for branch in stmt-expr and coro
suspe
https://github.com/usx95 edited https://github.com/llvm/llvm-project/pull/85398
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/usx95 ready_for_review
https://github.com/llvm/llvm-project/pull/85398
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/usx95 edited https://github.com/llvm/llvm-project/pull/85398
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/usx95 edited https://github.com/llvm/llvm-project/pull/85398
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/usx95 edited https://github.com/llvm/llvm-project/pull/85398
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/usx95 edited https://github.com/llvm/llvm-project/pull/85398
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
usx95 wrote:
Sent out alternative fix https://github.com/llvm/llvm-project/pull/85398 which
looks more convincing. It uses the existing EHStack but only promotes some
EHCleanups to NormalAndEHCleanups.
https://github.com/llvm/llvm-project/pull/80698
https://github.com/usx95 updated https://github.com/llvm/llvm-project/pull/85398
>From 0654f624b3b60026398e8b0168623a85e3129630 Mon Sep 17 00:00:00 2001
From: Utkarsh Saxena
Date: Fri, 15 Mar 2024 13:19:36 +
Subject: [PATCH 1/3] [codegen] Emit cleanups for branch in stmt-expr and coro
suspe
https://github.com/usx95 edited https://github.com/llvm/llvm-project/pull/85398
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/usx95 edited https://github.com/llvm/llvm-project/pull/85398
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/usx95 edited https://github.com/llvm/llvm-project/pull/85398
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
usx95 wrote:
Friendly ping for review: @jyknight @zygoloid @efriedma-quic
https://github.com/llvm/llvm-project/pull/85398
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/usx95 updated https://github.com/llvm/llvm-project/pull/85398
>From 0654f624b3b60026398e8b0168623a85e3129630 Mon Sep 17 00:00:00 2001
From: Utkarsh Saxena
Date: Fri, 15 Mar 2024 13:19:36 +
Subject: [PATCH 1/4] [codegen] Emit cleanups for branch in stmt-expr and coro
suspe
https://github.com/usx95 edited https://github.com/llvm/llvm-project/pull/85398
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/usx95 edited https://github.com/llvm/llvm-project/pull/85398
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
usx95 wrote:
Ping for review: @AaronBallman @jyknight @efriedma-quic @zygoloid
Could you please suggest other reviewers if you do not have the bandwidth for
the same?
https://github.com/llvm/llvm-project/pull/85398
___
cfe-commits mailing list
cfe-co
@@ -2503,6 +2505,26 @@ Stmt *BlockExpr::getBody() {
// Generic Expression Routines
//===--===//
+bool Expr::mayBranchOut() const {
+ struct BranchDetector : public RecursiveASTVisitor {
+bool HasBranch =
@@ -2503,6 +2505,26 @@ Stmt *BlockExpr::getBody() {
// Generic Expression Routines
//===--===//
+bool Expr::mayBranchOut() const {
+ struct BranchDetector : public RecursiveASTVisitor {
+bool HasBranch =
@@ -2503,6 +2505,26 @@ Stmt *BlockExpr::getBody() {
// Generic Expression Routines
//===--===//
+bool Expr::mayBranchOut() const {
+ struct BranchDetector : public RecursiveASTVisitor {
+bool HasBranch =
@@ -2503,6 +2505,26 @@ Stmt *BlockExpr::getBody() {
// Generic Expression Routines
//===--===//
+bool Expr::mayBranchOut() const {
+ struct BranchDetector : public RecursiveASTVisitor {
+bool HasBranch =
https://github.com/usx95 edited https://github.com/llvm/llvm-project/pull/85398
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/usx95 updated https://github.com/llvm/llvm-project/pull/85398
>From 0654f624b3b60026398e8b0168623a85e3129630 Mon Sep 17 00:00:00 2001
From: Utkarsh Saxena
Date: Fri, 15 Mar 2024 13:19:36 +
Subject: [PATCH 1/5] [codegen] Emit cleanups for branch in stmt-expr and coro
suspe
https://github.com/usx95 edited https://github.com/llvm/llvm-project/pull/85398
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/usx95 updated https://github.com/llvm/llvm-project/pull/85398
>From 0654f624b3b60026398e8b0168623a85e3129630 Mon Sep 17 00:00:00 2001
From: Utkarsh Saxena
Date: Fri, 15 Mar 2024 13:19:36 +
Subject: [PATCH 1/6] [codegen] Emit cleanups for branch in stmt-expr and coro
suspe
usx95 wrote:
> Perhaps we want this test to live in CodeGen rather than CodeGenCoroutines
> given that it covers so many non-coroutine test cases as well?
Makes sense. I split the tests into coroutine and stmt-expr (didn't want to
depend on "Inputs/coroutine.h" from CodegenCXX).
https://gith
https://github.com/usx95 updated https://github.com/llvm/llvm-project/pull/85398
>From 0654f624b3b60026398e8b0168623a85e3129630 Mon Sep 17 00:00:00 2001
From: Utkarsh Saxena
Date: Fri, 15 Mar 2024 13:19:36 +
Subject: [PATCH 1/7] [codegen] Emit cleanups for branch in stmt-expr and coro
suspe
usx95 wrote:
> Instead of Expr::mayBranchOut, I'd prefer to just unconditionally create the
> alloca, then delete it later if it turns out we didn't actually need to emit
> the branch.
I had earlier tried tracking instructions auxiliary to a particular cleanup in
#83224
([src](https://githu
https://github.com/usx95 updated https://github.com/llvm/llvm-project/pull/85398
>From 0654f624b3b60026398e8b0168623a85e3129630 Mon Sep 17 00:00:00 2001
From: Utkarsh Saxena
Date: Fri, 15 Mar 2024 13:19:36 +
Subject: [PATCH 1/8] [codegen] Emit cleanups for branch in stmt-expr and coro
suspe
@@ -2503,6 +2506,29 @@ Stmt *BlockExpr::getBody() {
// Generic Expression Routines
//===--===//
+bool Expr::mayBranchOut() const {
usx95 wrote:
This is now no more needed. We switched to del
usx95 wrote:
Thanks @efriedma-quic . I was not aware that we have such edges in Codegen
which could help in deleting these instructions transitively. Switched to
capturing only auxillary `allocas` and deleting all transitive uses. PTAL.
https://github.com/llvm/llvm-project/pull/85398
_
https://github.com/usx95 edited https://github.com/llvm/llvm-project/pull/85398
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -266,6 +269,54 @@ class alignas(8) EHCleanupScope : public EHScope {
};
mutable struct ExtInfo *ExtInfo;
+ /// Erases auxillary allocas and their usages for an unused cleanup.
+ /// Cleanups should mark these allocas as 'used' if the cleanup is
+ /// emitted, otherwi
@@ -1105,19 +1105,24 @@ void CodeGenFunction::EmitNewArrayInitializer(
}
// Enter a partial-destruction Cleanup if necessary.
-if (needsEHCleanup(DtorKind)) {
+if (DtorKind) {
+ AllocaTrackerRAII AllocaTracker(*this);
usx95 wrote:
Unfortu
https://github.com/usx95 edited https://github.com/llvm/llvm-project/pull/85398
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
usx95 wrote:
Thanks for the example. I was only considering branches leading outside
function scope (`return` and coroutine destruction while `co_await`-ing).
I have captured the lifetime-extended cleanup stack size expected by the jump
destination. This seems to generalize well to all kinds o
https://github.com/usx95 updated https://github.com/llvm/llvm-project/pull/80698
>From 28d90711ff8e4924135d4bd4e5f252d96ac41b93 Mon Sep 17 00:00:00 2001
From: Utkarsh Saxena
Date: Tue, 23 Jan 2024 20:18:25 +
Subject: [PATCH 1/4] [misc-coroutine-hostile-raii] Use getOperand instead of
getCom
https://github.com/usx95 updated https://github.com/llvm/llvm-project/pull/80698
>From 28d90711ff8e4924135d4bd4e5f252d96ac41b93 Mon Sep 17 00:00:00 2001
From: Utkarsh Saxena
Date: Tue, 23 Jan 2024 20:18:25 +
Subject: [PATCH 1/5] [misc-coroutine-hostile-raii] Use getOperand instead of
getCom
https://github.com/usx95 updated https://github.com/llvm/llvm-project/pull/80698
>From 28d90711ff8e4924135d4bd4e5f252d96ac41b93 Mon Sep 17 00:00:00 2001
From: Utkarsh Saxena
Date: Tue, 23 Jan 2024 20:18:25 +
Subject: [PATCH 1/6] [misc-coroutine-hostile-raii] Use getOperand instead of
getCom
https://github.com/usx95 updated https://github.com/llvm/llvm-project/pull/80698
>From 28d90711ff8e4924135d4bd4e5f252d96ac41b93 Mon Sep 17 00:00:00 2001
From: Utkarsh Saxena
Date: Tue, 23 Jan 2024 20:18:25 +
Subject: [PATCH 1/7] [misc-coroutine-hostile-raii] Use getOperand instead of
getCom
https://github.com/usx95 updated https://github.com/llvm/llvm-project/pull/80698
>From 28d90711ff8e4924135d4bd4e5f252d96ac41b93 Mon Sep 17 00:00:00 2001
From: Utkarsh Saxena
Date: Tue, 23 Jan 2024 20:18:25 +
Subject: [PATCH 1/8] [misc-coroutine-hostile-raii] Use getOperand instead of
getCom
101 - 200 of 1079 matches
Mail list logo