@@ -0,0 +1,81 @@
+//=== ModuleDependencyScanner.cpp *-
C++-*-===//
+//
+// 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: Apa
@@ -740,6 +741,21 @@
DirectoryBasedGlobalCompilationDatabase::getProjectInfo(PathRef File) const {
return Res->PI;
}
+std::shared_ptr
+DirectoryBasedGlobalCompilationDatabase::getProjectModules(PathRef File) const
{
+ CDBLookupRequest Req;
+ Req.FileName = File;
+ Req.S
@@ -0,0 +1,106 @@
+//===-- ModuleDependencyScanner.h *-
C++-*-===//
+//
+// 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: Ap
@@ -0,0 +1,106 @@
+//===-- ModuleDependencyScanner.h *-
C++-*-===//
+//
+// 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: Ap
https://github.com/ChuanqiXu9 edited
https://github.com/llvm/llvm-project/pull/66462
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -0,0 +1,106 @@
+//===-- ModuleDependencyScanner.h *-
C++-*-===//
+//
+// 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: Ap
ChuanqiXu9 wrote:
BTW, I tried to split `Module` class into `ModuleBase`, `ClangModule` and
`Cpp20Modules` (and HeaderUnits) classes to improve the readability. But it
showed too hard and too many things get changes then I stopped.
https://github.com/llvm/llvm-project/pull/93388
__
@@ -159,7 +159,8 @@ class APINotesManager {
ArrayRef getCurrentModuleReaders() const {
bool HasPublic = CurrentModuleReaders[ReaderKind::Public];
bool HasPrivate = CurrentModuleReaders[ReaderKind::Private];
-assert((!HasPrivate || HasPublic) && "private module req
https://github.com/ChuanqiXu9 edited
https://github.com/llvm/llvm-project/pull/93388
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/ChuanqiXu9 requested changes to this pull request.
I don't like the PR since I don't feel it makes the code cleaner and it may
make the downstream suffering backporting.
https://github.com/llvm/llvm-project/pull/93388
___
cfe-commit
https://github.com/ChuanqiXu9 updated
https://github.com/llvm/llvm-project/pull/66462
>From 32010ae7e0a47cd4a70a9401980b32ed1d3e10f6 Mon Sep 17 00:00:00 2001
From: Chuanqi Xu
Date: Fri, 15 Sep 2023 11:33:53 +0800
Subject: [PATCH] [clangd] [C++20] [Modules] Introduce initial support for
C++20 M
https://github.com/ChuanqiXu9 created
https://github.com/llvm/llvm-project/pull/93268
Previously we allow `[[clang::coro_wrapper]]` to be marked with function to
allow it to not be checked by `[[clang::coro_return_type]]`.
But in our internal practice, there are classes can be return type of
ChuanqiXu9 wrote:
I think we can land this given it is approved and the CI is green
https://github.com/llvm/llvm-project/pull/89772
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
ChuanqiXu9 wrote:
Oh, it looks like some bots are not happy. I send the PR at
https://github.com/llvm/llvm-project/pull/93167
https://github.com/llvm/llvm-project/pull/89751
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.or
ChuanqiXu9 wrote:
I land it directly given it looks straightforward and trivial in
https://github.com/llvm/llvm-project/commit/31f1590e4fb324c43dc36199587c453e27b6f6fa
See the commit message if you're interested.
https://github.com/llvm/llvm-project/pull/89751
_
ChuanqiXu9 wrote:
It is pretty interesting that I can pass the test by:
```
$git diff -U10
diff --git a/llvm/lib/Transforms/Coroutines/CoroSplit.cpp
b/llvm/lib/Transforms/Coroutines/CoroSplit.cpp
index 450ea8234371..003bfbf7138a 100644
--- a/llvm/lib/Transforms/Coroutines/CoroSplit.cpp
+++ b/ll
ChuanqiXu9 wrote:
I received some reports for this patch breaking some codes. I am reproducing
it. It looks like related to exceptions.
https://github.com/llvm/llvm-project/pull/89751
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lis
https://github.com/ChuanqiXu9 commented:
Serialization related change looks trivial and good. But I feel better to leave
the formal approval to CG part reviewers.
https://github.com/llvm/llvm-project/pull/89475
___
cfe-commits mailing list
cfe-commits
@@ -1435,7 +1436,10 @@ class NonTypeTemplateParmDecl final
bool hasDefaultArgument() const { return DefaultArgument.isSet(); }
/// Retrieve the default argument, if any.
- Expr *getDefaultArgument() const { return DefaultArgument.get(); }
+ const TemplateArgumentLoc &get
https://github.com/ChuanqiXu9 edited
https://github.com/llvm/llvm-project/pull/92852
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/ChuanqiXu9 commented:
Can you try to explain the what the patch does more and describe the rationale?
https://github.com/llvm/llvm-project/pull/92852
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-
Author: Chuanqi Xu
Date: 2024-05-20T13:36:46+08:00
New Revision: d316a0bd48ceb4a0ee851d729291a2cdcc8818eb
URL:
https://github.com/llvm/llvm-project/commit/d316a0bd48ceb4a0ee851d729291a2cdcc8818eb
DIFF:
https://github.com/llvm/llvm-project/commit/d316a0bd48ceb4a0ee851d729291a2cdcc8818eb.diff
LO
https://github.com/ChuanqiXu9 closed
https://github.com/llvm/llvm-project/pull/92353
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
ChuanqiXu9 wrote:
@jansvoboda11 @Bigcheese gentle ping
https://github.com/llvm/llvm-project/pull/92083
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
ChuanqiXu9 wrote:
While I am not against the idea about splitting Sema, the implementation detail
makes me slightly concerning. What I had in mind is to split `SemaC`, `SemaCXX`
(this can be derived class of `SemaCXX`), `SemaObjC` and other dialects (e.g.,
ACC or CUDA) out of `Sema`. Then big
https://github.com/ChuanqiXu9 updated
https://github.com/llvm/llvm-project/pull/92353
>From 699da64855f147708f153c30177a1d02a4e014f7 Mon Sep 17 00:00:00 2001
From: Chuanqi Xu
Date: Wed, 15 May 2024 12:37:16 +0800
Subject: [PATCH 1/2] [Serialization] Read the initializer for interesting
static
ChuanqiXu9 wrote:
> I can reproduce the failure. The problem is that the CHECK line
>
> ```
> // CHECK: [[A_CALL:%[a-zA-Z0-9]+]] = call{{.*}}@_Z6MakeVR(
> ```
>
> assumes that a value is returned. On SystemZ, the return value is passed as
> `sret` argument, and the function itself returns
ChuanqiXu9 wrote:
@JonasToth @redstar @uweigand @Everybody0523
Hi, this patch previously failed on clang-s390x-linux. I guess it is a pattern
mismatch failure but I can't reproduce it. I am not sure if I found the wrong
person. I find you from the SystemZ's group. I want to ask if you can v
https://github.com/ChuanqiXu9 created
https://github.com/llvm/llvm-project/pull/92353
Close https://github.com/llvm/llvm-project/issues/91418
Since we load the variable's initializers lazily, it'd be problematic if the
initializers dependent on each other. So here we try to load the initialize
Author: Chuanqi Xu
Date: 2024-05-16T13:59:11+08:00
New Revision: 3c2638dae58466f7eb4384bb7f26c9af904bf94c
URL:
https://github.com/llvm/llvm-project/commit/3c2638dae58466f7eb4384bb7f26c9af904bf94c
DIFF:
https://github.com/llvm/llvm-project/commit/3c2638dae58466f7eb4384bb7f26c9af904bf94c.diff
LO
https://github.com/ChuanqiXu9 closed
https://github.com/llvm/llvm-project/pull/92218
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/ChuanqiXu9 approved this pull request.
https://github.com/llvm/llvm-project/pull/91857
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/ChuanqiXu9 edited
https://github.com/llvm/llvm-project/pull/92218
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/ChuanqiXu9 created
https://github.com/llvm/llvm-project/pull/92218
Close https://github.com/llvm/llvm-project/issues/91418
Since we load the variable's initializers lazily, it'd be problematic if the
initializers dependent on each other. So here we try to load the initialize
Author: Chuanqi Xu
Date: 2024-05-15T10:29:49+08:00
New Revision: 11b059145d177ee287c7ada9864addf8d083c160
URL:
https://github.com/llvm/llvm-project/commit/11b059145d177ee287c7ada9864addf8d083c160
DIFF:
https://github.com/llvm/llvm-project/commit/11b059145d177ee287c7ada9864addf8d083c160.diff
LO
@@ -206,14 +210,37 @@ static void lowerAwaitSuspend(IRBuilder<> &Builder,
CoroAwaitSuspendInst *CB) {
llvm_unreachable("Unexpected coro_await_suspend invocation method");
}
+ if (CB->getCalledFunction()->getIntrinsicID() ==
+ Intrinsic::coro_await_suspend_handle)
@@ -206,14 +210,37 @@ static void lowerAwaitSuspend(IRBuilder<> &Builder,
CoroAwaitSuspendInst *CB) {
llvm_unreachable("Unexpected coro_await_suspend invocation method");
}
+ if (CB->getCalledFunction()->getIntrinsicID() ==
+ Intrinsic::coro_await_suspend_handle)
https://github.com/ChuanqiXu9 approved this pull request.
LGTM with a comment.
https://github.com/llvm/llvm-project/pull/89751
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/ChuanqiXu9 edited
https://github.com/llvm/llvm-project/pull/89751
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
ChuanqiXu9 wrote:
@rjmccall @dwblaikie
Since I feel this is a bug we need to fix and I think this patch may not affect
non-modules code, I'd like to land this in the end of July (before the next
branching of 19) if no more comments came in.
https://github.com/llvm/llvm-project/pull/75912
___
https://github.com/ChuanqiXu9 updated
https://github.com/llvm/llvm-project/pull/91914
>From 8ec79e4a7fdf0d75030e81d713ac9fe629ee97eb Mon Sep 17 00:00:00 2001
From: Chuanqi Xu
Date: Fri, 10 May 2024 15:36:31 +0800
Subject: [PATCH] [serialization] no transitive decl change
---
clang/include/cla
Author: Chuanqi Xu
Date: 2024-05-13T14:05:02+08:00
New Revision: e74a34b6932965dfdc182b69f779e5bee551585a
URL:
https://github.com/llvm/llvm-project/commit/e74a34b6932965dfdc182b69f779e5bee551585a
DIFF:
https://github.com/llvm/llvm-project/commit/e74a34b6932965dfdc182b69f779e5bee551585a.diff
LO
https://github.com/ChuanqiXu9 edited
https://github.com/llvm/llvm-project/pull/91914
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/ChuanqiXu9 edited
https://github.com/llvm/llvm-project/pull/91914
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/ChuanqiXu9 ready_for_review
https://github.com/llvm/llvm-project/pull/91914
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/ChuanqiXu9 created
https://github.com/llvm/llvm-project/pull/91914
Following of https://github.com/llvm/llvm-project/pull/86912
Motivation Example
The motivation of the patch series is that, for a module interface unit `X`,
when the dependent modules of `X` changes, if
https://github.com/ChuanqiXu9 approved this pull request.
LGTM
https://github.com/llvm/llvm-project/pull/91401
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/ChuanqiXu9 approved this pull request.
LGTM, thanks : )
https://github.com/llvm/llvm-project/pull/90237
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -8,109 +8,91 @@ Standard C++ Modules
Introduction
-The term ``modules`` has a lot of meanings. For the users of Clang, modules may
-refer to ``Objective-C Modules``, ``Clang C++ Modules`` (or ``Clang Header
Modules``,
-etc.) or ``Standard C++ Modules``. The im
https://github.com/ChuanqiXu9 edited
https://github.com/llvm/llvm-project/pull/90237
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -738,22 +736,21 @@ the following style significantly:
import M;
... // use declarations from module M.
-The key part of the tip is to reduce the duplications from the text includes.
+Reducing the duplication from textual includes is what improves compile-time
+performan
Author: Chuanqi Xu
Date: 2024-05-07T13:25:42+08:00
New Revision: ad9f38d0e3a5e7e06c39dbd7da88a921a49aa805
URL:
https://github.com/llvm/llvm-project/commit/ad9f38d0e3a5e7e06c39dbd7da88a921a49aa805
DIFF:
https://github.com/llvm/llvm-project/commit/ad9f38d0e3a5e7e06c39dbd7da88a921a49aa805.diff
LO
Author: Chuanqi Xu
Date: 2024-05-07T11:41:08+08:00
New Revision: dfa7ff97b24dc5a3dd714b45af288812c13d0110
URL:
https://github.com/llvm/llvm-project/commit/dfa7ff97b24dc5a3dd714b45af288812c13d0110
DIFF:
https://github.com/llvm/llvm-project/commit/dfa7ff97b24dc5a3dd714b45af288812c13d0110.diff
LO
Author: Chuanqi Xu
Date: 2024-05-07T10:59:34+08:00
New Revision: f9d76197ff0099502cf001abe3f5310c5bc4532d
URL:
https://github.com/llvm/llvm-project/commit/f9d76197ff0099502cf001abe3f5310c5bc4532d
DIFF:
https://github.com/llvm/llvm-project/commit/f9d76197ff0099502cf001abe3f5310c5bc4532d.diff
LO
ChuanqiXu9 wrote:
I've relanded this in
https://github.com/llvm/llvm-project/commit/947b06282324db8fe2784c4054af9de493a876af.
Let's see what happens.
https://github.com/llvm/llvm-project/pull/86912
___
cfe-commits mailing list
cfe-commits@lists.llvm.o
Author: Chuanqi Xu
Date: 2024-05-06T13:35:16+08:00
New Revision: 947b06282324db8fe2784c4054af9de493a876af
URL:
https://github.com/llvm/llvm-project/commit/947b06282324db8fe2784c4054af9de493a876af
DIFF:
https://github.com/llvm/llvm-project/commit/947b06282324db8fe2784c4054af9de493a876af.diff
LO
https://github.com/ChuanqiXu9 approved this pull request.
LGTM.
https://github.com/llvm/llvm-project/pull/91140
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/ChuanqiXu9 commented:
It may be better to add a test with `-x c++-module` within CL mode.
https://github.com/llvm/llvm-project/pull/89772
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman
ChuanqiXu9 wrote:
thanks, it is pretty helpful.
https://github.com/llvm/llvm-project/pull/86912
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
ChuanqiXu9 wrote:
> The paper does not clearly says whether disallow function-like macro is also
> needed, but I think disallow function-like macro has the same goal as the
> paper. WDYT? @cor3ntin @ChuanqiXu9
>
> The wording in the paper said: _No identifier in the pp-module-name or
> pp-mod
ChuanqiXu9 wrote:
Oh, maybe I found the reason. It is because my patch breaks the alignments of
`DeclOffset`:
https://github.com/llvm/llvm-project/blob/8d28e5861f8b117a547850ffbb9a332aa6e91459/clang/include/clang/Serialization/ASTBitCodes.h#L237-L240
then it explains why it work well in some p
ChuanqiXu9 wrote:
> > I'll revert this. Due to I can't reproduce this. When the bot gets stable,
> > please tell if it is the real problem.
>
> You can reproduce this: the [GCC compile farm](https://portal.cfarm.net/)
> does have a Solaris/sparcv9 system (`cfarm215`) which is perfectly equippe
Author: Chuanqi Xu
Date: 2024-04-30T22:32:02+08:00
New Revision: d333a0de6829616427182b26923b14d779ce1dbb
URL:
https://github.com/llvm/llvm-project/commit/d333a0de6829616427182b26923b14d779ce1dbb
DIFF:
https://github.com/llvm/llvm-project/commit/d333a0de6829616427182b26923b14d779ce1dbb.diff
LO
ChuanqiXu9 wrote:
> I strongly suspect that this patch badly broke the [Solaris/sparcv9
> buildbot](https://lab.llvm.org/buildbot/#/builders/72/builds/4046): it
> introduced more than 1000 failures.
>
> Please fix or revert.
I'll revert this. Due to I can't reproduce this. When the bot gets s
@@ -0,0 +1,13 @@
+// RUN: %clang_cc1 -std=c++20 -emit-module-interface %s -triple
x86_64-linux-gnu -DTEST=1 -verify
+// RUN: %clang_cc1 -std=c++20 -emit-module-interface %s -triple
x86_64-linux-gnu -DTEST=2 -verify
+
+module;
+export module x;
+#include "version.h"
+#if TEST ==
@@ -0,0 +1,13 @@
+// RUN: %clang_cc1 -std=c++20 -emit-module-interface %s -triple
x86_64-linux-gnu -DTEST=1 -verify
+// RUN: %clang_cc1 -std=c++20 -emit-module-interface %s -triple
x86_64-linux-gnu -DTEST=2 -verify
+
+module;
+export module x;
+#include "version.h"
+#if TEST ==
https://github.com/ChuanqiXu9 commented:
LGTM otherwise. I'd like to leave this to @cor3ntin
https://github.com/llvm/llvm-project/pull/90574
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-c
https://github.com/ChuanqiXu9 edited
https://github.com/llvm/llvm-project/pull/90574
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
Author: Chuanqi Xu
Date: 2024-04-30T17:08:40+08:00
New Revision: 10aab63c9cb49d3ddfbe2cf8992de433efeef6f1
URL:
https://github.com/llvm/llvm-project/commit/10aab63c9cb49d3ddfbe2cf8992de433efeef6f1
DIFF:
https://github.com/llvm/llvm-project/commit/10aab63c9cb49d3ddfbe2cf8992de433efeef6f1.diff
LO
https://github.com/ChuanqiXu9 closed
https://github.com/llvm/llvm-project/pull/90570
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/ChuanqiXu9 updated
https://github.com/llvm/llvm-project/pull/90570
>From d73596affed67978c703c92789de045e9ebf0f6b Mon Sep 17 00:00:00 2001
From: Chuanqi Xu
Date: Tue, 30 Apr 2024 13:28:52 +0800
Subject: [PATCH] [NFC] [C++20] [Modules] Use new class CXX20ModulesGenerator
to g
Author: Chuanqi Xu
Date: 2024-04-30T16:33:34+08:00
New Revision: b2b463bd8f6b21f040b80c4493682cf74f8dced5
URL:
https://github.com/llvm/llvm-project/commit/b2b463bd8f6b21f040b80c4493682cf74f8dced5
DIFF:
https://github.com/llvm/llvm-project/commit/b2b463bd8f6b21f040b80c4493682cf74f8dced5.diff
LO
ChuanqiXu9 wrote:
The test failure looks no related. I'll commit this after formatted.
https://github.com/llvm/llvm-project/pull/90570
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/ChuanqiXu9 closed
https://github.com/llvm/llvm-project/pull/86912
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/ChuanqiXu9 ready_for_review
https://github.com/llvm/llvm-project/pull/90570
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/ChuanqiXu9 created
https://github.com/llvm/llvm-project/pull/90570
…te module file for C++20 modules instead of PCHGenerator
Previously we're re-using PCHGenerator to generate the module file for C++20
modules. But this is slighty more or less odd. This patch tries to use a
Author: Chuanqi Xu
Date: 2024-04-30T14:43:57+08:00
New Revision: ec527b21bb4196355184aa95ef31aa561b8e8b7b
URL:
https://github.com/llvm/llvm-project/commit/ec527b21bb4196355184aa95ef31aa561b8e8b7b
DIFF:
https://github.com/llvm/llvm-project/commit/ec527b21bb4196355184aa95ef31aa561b8e8b7b.diff
LO
Author: Chuanqi Xu
Date: 2024-04-30T14:28:11+08:00
New Revision: 6b961e2abfffd8b5a508b5958849b13b0feafa50
URL:
https://github.com/llvm/llvm-project/commit/6b961e2abfffd8b5a508b5958849b13b0feafa50
DIFF:
https://github.com/llvm/llvm-project/commit/6b961e2abfffd8b5a508b5958849b13b0feafa50.diff
LO
Author: Chuanqi Xu
Date: 2024-04-30T13:50:20+08:00
New Revision: fb21343473e33e9a886b42d2fe95d1cec1cd0030
URL:
https://github.com/llvm/llvm-project/commit/fb21343473e33e9a886b42d2fe95d1cec1cd0030
DIFF:
https://github.com/llvm/llvm-project/commit/fb21343473e33e9a886b42d2fe95d1cec1cd0030.diff
LO
Author: Chuanqi Xu
Date: 2024-04-30T13:30:31+08:00
New Revision: 18268ac0f48d93c2bcddb69732761971669c09ab
URL:
https://github.com/llvm/llvm-project/commit/18268ac0f48d93c2bcddb69732761971669c09ab
DIFF:
https://github.com/llvm/llvm-project/commit/18268ac0f48d93c2bcddb69732761971669c09ab.diff
LO
Author: Chuanqi Xu
Date: 2024-04-30T11:34:34+08:00
New Revision: 38067c50a9459caed2892e38b2ae5026a8bff8e2
URL:
https://github.com/llvm/llvm-project/commit/38067c50a9459caed2892e38b2ae5026a8bff8e2
DIFF:
https://github.com/llvm/llvm-project/commit/38067c50a9459caed2892e38b2ae5026a8bff8e2.diff
LO
https://github.com/ChuanqiXu9 approved this pull request.
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
@@ -1056,6 +1083,25 @@ void CoroCloner::create() {
// Set up the new entry block.
replaceEntryBlock();
+ // Turn symmetric transfers into musttail calls.
+ for (CallInst *ResumeCall : Shape.SymmetricTransfers) {
+ResumeCall = cast(VMap[ResumeCall]);
+ResumeCall->
Author: Chuanqi Xu
Date: 2024-04-28T18:31:10+08:00
New Revision: 367efa0b0542e6f4171e8c914728946c302ab24b
URL:
https://github.com/llvm/llvm-project/commit/367efa0b0542e6f4171e8c914728946c302ab24b
DIFF:
https://github.com/llvm/llvm-project/commit/367efa0b0542e6f4171e8c914728946c302ab24b.diff
LO
Author: Chuanqi Xu
Date: 2024-04-28T15:23:39+08:00
New Revision: 487967af82053cd08022635a2ff768385d936c80
URL:
https://github.com/llvm/llvm-project/commit/487967af82053cd08022635a2ff768385d936c80
DIFF:
https://github.com/llvm/llvm-project/commit/487967af82053cd08022635a2ff768385d936c80.diff
LO
@@ -530,43 +527,43 @@ Now the linkage name of ``NS::foo()`` will be
``_ZN2NS3fooEv``.
Module Initializers
~~~
-All the importable module units are required to emit an initializer function.
-The initializer function should contain calls to importing modules fir
@@ -8,79 +8,60 @@ Standard C++ Modules
Introduction
-The term ``modules`` has a lot of meanings. For the users of Clang, modules may
-refer to ``Objective-C Modules``, ``Clang C++ Modules`` (or ``Clang Header
Modules``,
-etc.) or ``Standard C++ Modules``. The imp
@@ -577,15 +574,16 @@ the generated BMI specified by ``-o`` will be full BMI
and the BMI specified by
-> ...
-> consumer_n.cpp
-We don't emit diagnostics if ``-fexperimental-modules-
@@ -738,22 +736,21 @@ the following style significantly:
import M;
... // use declarations from module M.
-The key part of the tip is to reduce the duplications from the text includes.
+Reducing the duplication from textual includes is what improves compile-time
+performan
https://github.com/ChuanqiXu9 commented:
Big thanks!
I left some comments about correctness or clearness. And all other change looks
good to me.
https://github.com/llvm/llvm-project/pull/90237
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
h
@@ -8,79 +8,60 @@ Standard C++ Modules
Introduction
-The term ``modules`` has a lot of meanings. For the users of Clang, modules may
-refer to ``Objective-C Modules``, ``Clang C++ Modules`` (or ``Clang Header
Modules``,
-etc.) or ``Standard C++ Modules``. The imp
@@ -312,75 +300,76 @@ So all of the following name is not valid by default:
__test
// and so on ...
-If you still want to use the reserved module names for any reason, use
-``-Wno-reserved-module-identifier`` to suppress the warning.
+Using a reserved module name is st
@@ -8,109 +8,91 @@ Standard C++ Modules
Introduction
-The term ``modules`` has a lot of meanings. For the users of Clang, modules may
-refer to ``Objective-C Modules``, ``Clang C++ Modules`` (or ``Clang Header
Modules``,
-etc.) or ``Standard C++ Modules``. The im
@@ -925,45 +923,41 @@ In that case, you need to convert your source files (.cpp
files) to module imple
// Following off should be unchanged.
...
-The module implementation unit will import the primary module implicitly.
-We don't include any headers in the module implemen
@@ -400,24 +389,27 @@ And the compilation process for module units are like:
mod1.cppm -> clang++ mod1.cppm ... -> mod1.pcm --,--> clang++
mod1.pcm ... -> mod1.o -+
src2.cpp +> clang++
src2.cpp ---> sr
@@ -216,51 +198,56 @@ We explain the options in the following sections.
How to enable standard C++ modules
~~
-Currently, standard C++ modules are enabled automatically
-if the language standard is ``-std=c++20`` or newer.
+Standard C++ modules
@@ -8,109 +8,91 @@ Standard C++ Modules
Introduction
-The term ``modules`` has a lot of meanings. For the users of Clang, modules may
-refer to ``Objective-C Modules``, ``Clang C++ Modules`` (or ``Clang Header
Modules``,
-etc.) or ``Standard C++ Modules``. The im
@@ -530,43 +527,43 @@ Now the linkage name of ``NS::foo()`` will be
``_ZN2NS3fooEv``.
Module Initializers
~~~
-All the importable module units are required to emit an initializer function.
-The initializer function should contain calls to importing modules fir
@@ -633,36 +630,37 @@ example:
// module M's interface, so is discarded
int c = use_h(); // OK
-In the above example, the function definition of ``N::g`` is elided from the
Reduced
-BMI of ``M.cppm``. Then the use of ``use_g`` in
@@ -312,75 +300,76 @@ So all of the following name is not valid by default:
__test
// and so on ...
-If you still want to use the reserved module names for any reason, use
-``-Wno-reserved-module-identifier`` to suppress the warning.
+Using a reserved module name is st
601 - 700 of 1807 matches
Mail list logo