@@ -0,0 +1,59 @@
+// RUN: %clang_cc1 -triple x86_64-unknown-linux-gnu -std=c++20 \
+// RUN: -disable-llvm-passes -emit-llvm %s -o - | FileCheck %s
+
+// RUN: %clang_cc1 -triple x86_64-unknown-linux-gnu -std=c++20 \
+// RUN: -O3 -emit-llvm %s -o - | FileCheck %s --check-pre
@@ -0,0 +1,59 @@
+// RUN: %clang_cc1 -triple x86_64-unknown-linux-gnu -std=c++20 \
+// RUN: -disable-llvm-passes -emit-llvm %s -o - | FileCheck %s
+
+// RUN: %clang_cc1 -triple x86_64-unknown-linux-gnu -std=c++20 \
+// RUN: -O3 -emit-llvm %s -o - | FileCheck %s --check-pre
https://github.com/apolloww approved this pull request.
https://github.com/llvm/llvm-project/pull/71014
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/apolloww closed
https://github.com/llvm/llvm-project/pull/70567
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
apolloww wrote:
> Thanks for looking into this. I haven't looked into the details. But I guess
> it may be a good idea to teach `DiagnoseUnusedParameters` to understand
> coroutines.
Yeah, I think it could also make user aware of unused parameters so
https://github.com/llvm/llvm-project/pull/
https://github.com/apolloww reopened
https://github.com/llvm/llvm-project/pull/70567
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -129,7 +130,14 @@ static SmallString<32> buildSuspendPrefixStr(CGCoroData
&Coro, AwaitKind Kind) {
return Prefix;
}
-static bool memberCallExpressionCanThrow(const Expr *E) {
+static bool ResumeExprCanThrow(const CoroutineSuspendExpr &S) {
+ const Expr *E = S.getResumeE
https://github.com/apolloww deleted
https://github.com/llvm/llvm-project/pull/73160
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -129,7 +130,14 @@ static SmallString<32> buildSuspendPrefixStr(CGCoroData
&Coro, AwaitKind Kind) {
return Prefix;
}
-static bool memberCallExpressionCanThrow(const Expr *E) {
+static bool ResumeExprCanThrow(const CoroutineSuspendExpr &S) {
+ const Expr *E = S.getResumeE
https://github.com/apolloww created
https://github.com/llvm/llvm-project/pull/80253
Don't search for unnecessary libs when linking the shared lib. This allows the
test to run in chroot environment.
>From adc0635a10fc4d77842863c4f9b731733c9b8062 Mon Sep 17 00:00:00 2001
From: Wei Wang
Date: We
apolloww wrote:
Our internal builds run in chroot and the test fails with the following error
```
/bin/ld: cannot find crti.o: No such file or directory
/bin/ld: cannot find crtbeginS.o: No such file or directory
/bin/ld: cannot find -lgcc
/bin/ld: cannot find -lgcc_s
/bin/ld: cannot find -lc
/b
https://github.com/apolloww closed
https://github.com/llvm/llvm-project/pull/80253
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/apolloww created
https://github.com/llvm/llvm-project/pull/79182
When creating a new UsingType, the underlying type may change if it is a
declaration. This creates an inconsistency between the type searched and type
created. Move the update before search so that we always us
apolloww wrote:
We saw a huge build speed regression from internal codebase when migrating to
clang-17 triggered by this issue. The search for the same `UsingType` always
ends up with "not found" and the folding set `UsingTypes` contains lots of
duplicated notes.
This is a quick fix I come
https://github.com/apolloww updated
https://github.com/llvm/llvm-project/pull/79182
>From a542d63f472d799eb2d041c82cac402cfb8dec1a Mon Sep 17 00:00:00 2001
From: Wei Wang
Date: Tue, 23 Jan 2024 10:01:57 -0800
Subject: [PATCH 1/2] [clang] Make sure the same UsingType is searched and
inserted
-
apolloww wrote:
> The change is correct. The problem is subtle though. It comes from the
> difference in behavior between the member and non-member Profile functions.
>
> I think we could do better instead with a change which makes it harder to
> trip on this.
>
> I think a simplification lik
https://github.com/apolloww updated
https://github.com/llvm/llvm-project/pull/79182
>From a542d63f472d799eb2d041c82cac402cfb8dec1a Mon Sep 17 00:00:00 2001
From: Wei Wang
Date: Tue, 23 Jan 2024 10:01:57 -0800
Subject: [PATCH 1/3] [clang] Make sure the same UsingType is searched and
inserted
-
apolloww wrote:
Thanks. Added test case.
https://github.com/llvm/llvm-project/pull/79182
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/apolloww edited
https://github.com/llvm/llvm-project/pull/79182
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/apolloww closed
https://github.com/llvm/llvm-project/pull/79182
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
Author: Wei Wang
Date: 2020-11-30T21:55:50-08:00
New Revision: 93dc1b5b8cb2f85d0d347f39e49a7150accd4e70
URL:
https://github.com/llvm/llvm-project/commit/93dc1b5b8cb2f85d0d347f39e49a7150accd4e70
DIFF:
https://github.com/llvm/llvm-project/commit/93dc1b5b8cb2f85d0d347f39e49a7150accd4e70.diff
LOG:
Author: Wei Wang
Date: 2020-10-27T17:23:32-07:00
New Revision: c4868700c58078d0f4c71fab5af2bb73270d2d9f
URL:
https://github.com/llvm/llvm-project/commit/c4868700c58078d0f4c71fab5af2bb73270d2d9f
DIFF:
https://github.com/llvm/llvm-project/commit/c4868700c58078d0f4c71fab5af2bb73270d2d9f.diff
LOG:
Author: Wei Wang
Date: 2021-05-20T15:34:29-07:00
New Revision: e6b8320c0a634ba60c82693c6631ea90fb2988a6
URL:
https://github.com/llvm/llvm-project/commit/e6b8320c0a634ba60c82693c6631ea90fb2988a6
DIFF:
https://github.com/llvm/llvm-project/commit/e6b8320c0a634ba60c82693c6631ea90fb2988a6.diff
LOG:
Author: Wei Wang
Date: 2021-11-19T13:22:07-08:00
New Revision: a075d67222832c234296ffd605f19e33023e6060
URL:
https://github.com/llvm/llvm-project/commit/a075d67222832c234296ffd605f19e33023e6060
DIFF:
https://github.com/llvm/llvm-project/commit/a075d67222832c234296ffd605f19e33023e6060.diff
LOG:
apolloww wrote:
Thanks for the fix! I think originally the deferred conversion is placed after
`coro.end` so that it won't be counted as "use across suspend point", but it
doesn't stop optimizer from breaking that assumption.
https://github.com/llvm/llvm-project/pull/66706
___
Author: Wei Wang
Date: 2023-02-28T15:30:04-08:00
New Revision: ce7eb2e05544437af127684030a21b9e54a34f93
URL:
https://github.com/llvm/llvm-project/commit/ce7eb2e05544437af127684030a21b9e54a34f93
DIFF:
https://github.com/llvm/llvm-project/commit/ce7eb2e05544437af127684030a21b9e54a34f93.diff
LOG:
apolloww wrote:
> What's the scenario in which we do ThinLTO prelink and then go to codegen
> (i.e. skip thinlto post-link)?
In #104525, one use case is that pre-link output was used directly by `llc`. I
think it's hard to control where it's going to be used due to this is a split
phase workf
apolloww wrote:
> I don't know much about the Coro handling, but this not only makes it
> conditional but changes the default - what should the default behavior be?
Default behavior: Coro passes were always run in pre-link pipeline. Since all
the coro intrinsics are lowered, the output bitcode
https://github.com/apolloww approved this pull request.
LGTM.
https://github.com/llvm/llvm-project/pull/94511
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/apolloww created
https://github.com/llvm/llvm-project/pull/100205
This is re-land of #90310 after making asan skip pre-split coroutines in #99415.
Skip CoroSplit and CoroCleanup in LTO pre-link pipeline so that CoroElide can
happen after callee coroutine is imported into cal
apolloww wrote:
@vitalybuka I am landing the pipeline change again. Please let me know if you
see issues again later.
https://github.com/llvm/llvm-project/pull/100205
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-
https://github.com/apolloww updated
https://github.com/llvm/llvm-project/pull/100205
>From bd652d600a1b1c71fcc2d399f33024ca5c78f5ce Mon Sep 17 00:00:00 2001
From: Wei Wang
Date: Mon, 29 Apr 2024 10:24:53 -0700
Subject: [PATCH] [Pipelines] Do not run CoroSplit and CoroCleanup in ThinLTO
pre-lin
https://github.com/apolloww updated
https://github.com/llvm/llvm-project/pull/100205
>From 041670dc6a8e9f6a86af152567f0705034db6ad2 Mon Sep 17 00:00:00 2001
From: Wei Wang
Date: Mon, 29 Apr 2024 10:24:53 -0700
Subject: [PATCH 1/2] [Pipelines] Do not run CoroSplit and CoroCleanup in
ThinLTO pre
https://github.com/apolloww created
https://github.com/llvm/llvm-project/pull/90310
Skip CoroSplit and CoroCleanup in pre-lto pipeline so that CoroElide can happen
after callee coroutine is imported into caller's module in ThinLTO.
>From c0ba0d5b49fec06d0ca23214acc1ccef43013c01 Mon Sep 17 00:0
https://github.com/apolloww edited
https://github.com/llvm/llvm-project/pull/90310
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/apolloww edited
https://github.com/llvm/llvm-project/pull/90310
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/apolloww updated
https://github.com/llvm/llvm-project/pull/90310
>From c0ba0d5b49fec06d0ca23214acc1ccef43013c01 Mon Sep 17 00:00:00 2001
From: Wei Wang
Date: Fri, 26 Apr 2024 14:47:31 -0700
Subject: [PATCH 1/2] update pipeline
---
.../CodeGenCoroutines/coro-elide-thinlto.cp
https://github.com/apolloww closed
https://github.com/llvm/llvm-project/pull/90310
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/apolloww created
https://github.com/llvm/llvm-project/pull/90549
Resolve test failure on non-x86 linux host
>From 4cdba5174c49682502e65d6f10224bb2bc54f346 Mon Sep 17 00:00:00 2001
From: Wei Wang
Date: Mon, 29 Apr 2024 20:01:29 -0700
Subject: [PATCH] fix build failure
---
c
apolloww wrote:
This should make Buildbot failure like
https://lab.llvm.org/buildbot/#/builders/38/builds/19079 to go away
```
warning: linking module 'coro-elide-caller.o': Linking two modules of different
target triples: 'coro-elide-callee.o' is 'x86_64-unknown-linux' whereas
'coro-elide-ca
https://github.com/apolloww updated
https://github.com/llvm/llvm-project/pull/90549
>From 1fac46855bf6bb3feb2e8b7a0918e61c8468ea07 Mon Sep 17 00:00:00 2001
From: Wei Wang
Date: Mon, 29 Apr 2024 20:01:29 -0700
Subject: [PATCH] fix build failure
---
clang/test/CodeGenCoroutines/coro-elide-thinl
https://github.com/apolloww updated
https://github.com/llvm/llvm-project/pull/90549
>From 1fac46855bf6bb3feb2e8b7a0918e61c8468ea07 Mon Sep 17 00:00:00 2001
From: Wei Wang
Date: Mon, 29 Apr 2024 20:01:29 -0700
Subject: [PATCH] fix build failure
---
clang/test/CodeGenCoroutines/coro-elide-thinl
https://github.com/apolloww created
https://github.com/llvm/llvm-project/pull/107153
#100205 skips CoroSplit and CoroCleanup in ThinLTO pre-link pipeline
unconditionally. It defers coroutine optimizations to ThinLTO post-link so that
across-module CoroElide is possible by leaving coroutine fun
https://github.com/apolloww closed
https://github.com/llvm/llvm-project/pull/90549
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/apolloww created
https://github.com/llvm/llvm-project/pull/90672
Previous fix #90549 didn't completely address the Buildbot failures. Some
target may not recognize the target triple. This time, only run the test under
x86_64-linux.
>From 66d63598d0c29cc7232715d0abfcfcc640dc
apolloww wrote:
https://lab.llvm.org/buildbot/#/builders/188/builds/45187
```
Error running ThinLTO backend: No available targets are compatible with triple
"x86_64-unknown-linux"
```
https://github.com/llvm/llvm-project/pull/90672
___
cfe-commits m
apolloww wrote:
hmm, this looks like `llvm.coro.subfn.addr` is not lowered before codegen
starts. And this is for wasm and MonoLTO. Let me check.
https://github.com/llvm/llvm-project/pull/90310
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
h
apolloww wrote:
OK, so Mono LTO backend pipeline does not have any coro passes. We can add
coroutine passes to `buildLTODefaultPipeline`, but I am not sure how big the
use case it is. For now, I'll limit the tuning to ThinLTO only. Will send an
update soon.
https://github.com/llvm/llvm-projec
https://github.com/apolloww created
https://github.com/llvm/llvm-project/pull/90690
Follow up to #90310, limit the tune up only to ThinLTO pre-link as coroutine
passes are not in MonoLTO backend
Also coro-elide-thinlto test is still failing on some Buildbots, only run the
test under x86_64 li
apolloww wrote:
> This test has been failing on bots for several hours now. Can we either get
> this fix in or the original change reverted to get the bots back to green?
> One failing bot is https://lab.llvm.org/buildbot/#/builders/280/builds/2876.
sorry for the breakage, the same fix is incl
https://github.com/apolloww closed
https://github.com/llvm/llvm-project/pull/90672
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -0,0 +1,77 @@
+// This tests that the coroutine elide optimization could happen succesfully
with ThinLTO.
+// This test is adapted from coro-elide.cpp and splits functions into two
files.
+//
+// RUN: split-file %s %t
+// RUN: %clang --target=x86_64-linux -std=c++20 -O2 -flto
Author: Wei Wang
Date: 2022-01-21T19:17:57-08:00
New Revision: 55d887b833646baeea0e3371fd2cbbd7550a8d4d
URL:
https://github.com/llvm/llvm-project/commit/55d887b833646baeea0e3371fd2cbbd7550a8d4d
DIFF:
https://github.com/llvm/llvm-project/commit/55d887b833646baeea0e3371fd2cbbd7550a8d4d.diff
LOG:
Author: Wei Wang
Date: 2021-10-25T11:19:18-07:00
New Revision: b283d55c90dd0b9495c9e91a76c2c62e587eb9b6
URL:
https://github.com/llvm/llvm-project/commit/b283d55c90dd0b9495c9e91a76c2c62e587eb9b6
DIFF:
https://github.com/llvm/llvm-project/commit/b283d55c90dd0b9495c9e91a76c2c62e587eb9b6.diff
LOG:
54 matches
Mail list logo