Page MenuHomePhabricator

ChuanqiXu (Chuanqi Xu)
User

Projects

User does not belong to any projects.

User Details

User Since
Jun 22 2020, 11:08 PM (143 w, 5 d)

Recent Activity

Fri, Mar 24

ChuanqiXu added a comment to rG3048c9e15498: Revert "Recommit [Modules] Remove unnecessary check when generating name lookup….

@steelannelida hi, would you like to give me a reproducer?

Fri, Mar 24, 1:37 AM · Restricted Project, Restricted Project

Thu, Mar 23

ChuanqiXu requested changes to D146758: Fix codegen for coroutine with function-try-block.

Thanks for finding this! We didn't notice this before.

Thu, Mar 23, 7:38 PM · Restricted Project, Restricted Project
ChuanqiXu added a comment to D146543: [Coroutines] Look for dbg.declare for temp spills.

Does your downstream patch address the same issue? Maybe we can consolidate here.

Oh, not exactly. It looks like you're saving the debug information under O0. While we're trying to save the debug information within optimization, which might not be so natural. And it looks like the problem occurs within opaque pointer and our downstream compiler didn't start to use opaque pointer yet. So in another word, this should be regression bug if I understand things correctly.

Yeah, we generally use -O0 for better debugging experiences. The issue was first reported from our internal release, which is based on clang-12, so I think it exists before and after opaque pointer. My plan is to fix upstream and then backport.

Thu, Mar 23, 7:06 PM · Restricted Project, Restricted Project
ChuanqiXu accepted D145374: [FuncSpec] Consider constant struct arguments when specializing..

LGTM now.

Thu, Mar 23, 2:32 AM · Restricted Project, Restricted Project
ChuanqiXu added a comment to D146543: [Coroutines] Look for dbg.declare for temp spills.

Does your downstream patch address the same issue? Maybe we can consolidate here.

Thu, Mar 23, 2:08 AM · Restricted Project, Restricted Project

Wed, Mar 22

ChuanqiXu requested review of D146695: [NOT FOR REVIEW] Remove all the freestanding operators in <valarray>.
Wed, Mar 22, 11:56 PM · Restricted Project
ChuanqiXu committed rG25557aa38a0d: Recommit [Modules] Remove unnecessary check when generating name lookup table… (authored by ChuanqiXu).
Recommit [Modules] Remove unnecessary check when generating name lookup table…
Wed, Mar 22, 8:22 PM · Restricted Project, Restricted Project
ChuanqiXu added a comment to D146614: [C++20] [Modules] Don't make internal entities visible to lookups from other units.

Yeah, I feel the current patch is good/innocent personally. But I agree it is pretty frustrating to do duplicated work. So I would love to wait for your P1815 patch to make the decision later.

Wed, Mar 22, 7:11 PM · Restricted Project
ChuanqiXu added a comment to rG1e0709167f5e: Revert "[Modules] Remove unnecessary check when generating name lookup table in….

It will be helpful if you can provide a reproducer or a reproducer command.

We're looking into this. We are hitting this in a large modules build and it's taking up some effort to reduce.

@ChuanqiXu I tried to reduce the error but it seems to only reproduce using a very large build graph with several large modules interacting. I made some progress, but at this rate it's taking a very long time to reduce further, so it's unclear if the issue is really with this patch or something with the code itself. At this point I have no objection to this patch.

Wed, Mar 22, 7:09 PM · Restricted Project, Restricted Project
ChuanqiXu accepted D126959: [C++20][Modules] Introduce an implementation module..
Wed, Mar 22, 7:06 PM · Restricted Project, Restricted Project
ChuanqiXu added a comment to D126959: [C++20][Modules] Introduce an implementation module..

LGTM. Thanks.

Wed, Mar 22, 7:06 PM · Restricted Project, Restricted Project
ChuanqiXu added a reviewer for D146614: [C++20] [Modules] Don't make internal entities visible to lookups from other units: iains.
Wed, Mar 22, 2:46 AM · Restricted Project
ChuanqiXu requested review of D146614: [C++20] [Modules] Don't make internal entities visible to lookups from other units.
Wed, Mar 22, 2:44 AM · Restricted Project

Tue, Mar 21

ChuanqiXu added a comment to D146543: [Coroutines] Look for dbg.declare for temp spills.

In fact, we did similar things in the downstream too. But we didn't contribute it since we feel it might not be so good. Since it is a little bit dirty and it is natural that the debug information is missing. If you still want to do this, I feel CoroCloner::salvageDebugInfo() may be a better place.

Tue, Mar 21, 7:54 PM · Restricted Project, Restricted Project
ChuanqiXu accepted D145641: [Coroutines] Implement fix for cwg2563 issue and enable RVO under certain conditions.

LGTM. Thanks.

Tue, Mar 21, 7:21 PM · Restricted Project, Restricted Project
ChuanqiXu added inline comments to D144994: [Draft][libc++][modules] Adds std module..
Tue, Mar 21, 7:00 PM · Restricted Project, Restricted Project, Restricted Project
ChuanqiXu added a comment to D144994: [Draft][libc++][modules] Adds std module..

Not at the moment. There are some CI issues not related to modules which should be resolved first. However I am testing with the CI configuration locally. I'm still fixing bugs in the modules and investigating issue which might be Clang bugs.

Tue, Mar 21, 9:51 AM · Restricted Project, Restricted Project, Restricted Project
ChuanqiXu reopened D145639: [Coroutines] Fix premature conversion of return object.
Tue, Mar 21, 1:28 AM · Restricted Project, Restricted Project

Mon, Mar 20

ChuanqiXu committed rG8894fe7a6f3e: [docs] Update the status for coroutines (authored by ChuanqiXu).
[docs] Update the status for coroutines
Mon, Mar 20, 7:35 PM · Restricted Project, Restricted Project
ChuanqiXu closed D146187: [docs] Update the status for coroutines.
Mon, Mar 20, 7:35 PM · Restricted Project, Restricted Project
ChuanqiXu added a comment to D146187: [docs] Update the status for coroutines.

Okay, that pretty much paints us into a corner, I guess. If we don't define it any longer, we break existing (working) uses of the feature on Windows, but we defined it prematurely. In this case, let's leave the macro defined so we don't break existing uses -- in the future, I think we should be more conservative with defining feature test macros.

Mon, Mar 20, 7:32 PM · Restricted Project, Restricted Project
ChuanqiXu added a comment to D144994: [Draft][libc++][modules] Adds std module..

Add CI jobs to test modules with parts disabled.

Mon, Mar 20, 7:19 PM · Restricted Project, Restricted Project, Restricted Project
ChuanqiXu requested review of D146410: [NOT FOR REVIEW] Add a cache for constexpr function calls.
Mon, Mar 20, 2:12 AM · Restricted Project

Sun, Mar 19

ChuanqiXu committed rGd2639ffff267: [NFC] [C++20] [Modules] Add test for #pragma once (authored by ChuanqiXu).
[NFC] [C++20] [Modules] Add test for #pragma once
Sun, Mar 19, 8:40 PM · Restricted Project, Restricted Project
ChuanqiXu added a comment to D146187: [docs] Update the status for coroutines.

Ugh, that does sort of change the calculus for whether we do or don't claim support on Windows. If removing the definition of that macro on Windows causes significant code breakage, that would be a reason we should leave it defined. But do we have evidence of that?

Sun, Mar 19, 7:32 PM · Restricted Project, Restricted Project

Fri, Mar 17

ChuanqiXu added a comment to D126959: [C++20][Modules] Introduce an implementation module..

The lookup problems might be considered to be quite a serious bug, and so we should consider possible back porting and try to avoid making large changes in theses patches (once that problem is solved, then we can refactor, I think).

Fri, Mar 17, 2:30 AM · Restricted Project, Restricted Project
ChuanqiXu committed rGc21790d02302: [NFC] [C++20] [Modules] Tests that the duplicated declarations in GMF (authored by ChuanqiXu).
[NFC] [C++20] [Modules] Tests that the duplicated declarations in GMF
Fri, Mar 17, 1:04 AM · Restricted Project, Restricted Project
ChuanqiXu committed rG684955a2302d: [Modules] [doc] Document the problem that we can't include headers before… (authored by ChuanqiXu).
[Modules] [doc] Document the problem that we can't include headers before…
Fri, Mar 17, 12:11 AM · Restricted Project, Restricted Project

Thu, Mar 16

ChuanqiXu committed rG0818433a5515: Remove the outdated feature macro '__cpp_coroutines' (authored by ChuanqiXu).
Remove the outdated feature macro '__cpp_coroutines'
Thu, Mar 16, 10:54 PM · Restricted Project, Restricted Project
ChuanqiXu added a comment to D146187: [docs] Update the status for coroutines.

Should we also be updating InitPreprocessor.cpp at the same time, for non-Windows targets?

Thu, Mar 16, 10:36 PM · Restricted Project, Restricted Project
ChuanqiXu added a comment to D146187: [docs] Update the status for coroutines.

but we don't define __cpp_­impl_­coroutine: http://eel.is/c++draft/tab:cpp.predefined.ft

Thu, Mar 16, 8:35 PM · Restricted Project, Restricted Project
ChuanqiXu updated the diff for D146187: [docs] Update the status for coroutines.

Address comments.

Thu, Mar 16, 8:34 PM · Restricted Project, Restricted Project
ChuanqiXu added a comment to D126959: [C++20][Modules] Introduce an implementation module..

I don't remember clearly if we have a test for the initializer in the implementation unit. Ignore this if we already have one.

Thu, Mar 16, 8:18 PM · Restricted Project, Restricted Project
ChuanqiXu added a comment to D126959: [C++20][Modules] Introduce an implementation module..

(I don't why I can't send emails in the original mail address. It told me that your email addressed is not recorded by MX, while I don't know what is MX. So I tried to reply your email here)

Thu, Mar 16, 7:49 PM · Restricted Project, Restricted Project
ChuanqiXu added a comment to D145639: [Coroutines] Fix premature conversion of return object.

! In D145639#4198815, @ChuanqiXu wrote:
The RVO seems to be mandated by the standard.

Yeah, I thought so... But WG21 decided to not make it in a recent meeting... So we can only make it as a non-mandated compiler optimization.

That's unexpected. Are there any wording change proposals published?
Our understanding comes from the reading of dcl.fct.def.coroutine/7

The expression promise.get_return_object() is used to initialize the glvalue result or prvalue result object of a call to a coroutine.

And we think RVO is mandated when initializing the result objects mentioned in general.
Also, from https://github.com/llvm/llvm-project/issues/56532:

Q: if the initialization does occur later, by what mechanism the prvalue result of get_return_object is forwarded to that initialization.
A: (see below)
Case 1/2. Same type of get_return_object and coroutine return type.
Constructed in the return slot.
Case 3. Different types:
(1) Constructed temporary object prior to initial suspend initialized with a call to get_return_object()
(2) when coroutine needs to to return to the caller and needs to construct return value for the coroutine it is initialized with expiring value of the temporary obtained in step 1.

Thu, Mar 16, 3:29 AM · Restricted Project, Restricted Project
ChuanqiXu accepted D146202: [clang] Fix a UsingTemplate regression after 3e78fa860235431323aaf08c8fa922d75a7cfffa.

Yeah, this one should be correct. Modules techniques use *::Profile method to judge if two entities are the same extensively. So it would be best to add a test case for modules like we did in https://reviews.llvm.org/rG3e78fa860235431323aaf08c8fa922d75a7cfffa. And it doesn't matter if you are not interested, I'll take it later then.

Thu, Mar 16, 3:22 AM · Restricted Project, Restricted Project, Restricted Project
ChuanqiXu added a comment to D145639: [Coroutines] Fix premature conversion of return object.

The RVO seems to be mandated by the standard.

Thu, Mar 16, 2:49 AM · Restricted Project, Restricted Project
ChuanqiXu added a comment to D145639: [Coroutines] Fix premature conversion of return object.

The reproducer seems like what we're searching for tests in https://reviews.llvm.org/D145641. Reverting is common in Clang/LLVM. But let's wait for the response from @bruno temporarily. I think it makes sense to revert this one if @bruno don't response tomorrow. And we can commit this one and D145641 quickly the next time. Recommit is common too.

Thu, Mar 16, 2:47 AM · Restricted Project, Restricted Project

Wed, Mar 15

ChuanqiXu requested review of D146187: [docs] Update the status for coroutines.
Wed, Mar 15, 8:03 PM · Restricted Project, Restricted Project
ChuanqiXu added a comment to D144844: [C++20] [Modules] Offer -fno-import-inter-module-function-defs to avoid duplicated compilation in modules.

I don't think of this as a performance regression for users though - this functionality's never really "shipped" so we get to choose what the baseline is.

And I think a reasonable baseline to compare to isn't this implementation we don't think is ideal (because of the build invalidation issues, if nothing else, caused by having thick PCMs) - I think the baseline is what a users non-modular code is. And in non-modular code these non-inline functions would be in the implementation files, not able to cross-TU inline without LTO.

I think not providing definitions of non-inline functions for cross-TU optimizations is not a regression, but exactly in-line with existing non-modular behavior, which is totally fine.

Wed, Mar 15, 7:43 PM · Restricted Project, Restricted Project, Restricted Project
ChuanqiXu added inline comments to D145641: [Coroutines] Implement fix for cwg2563 issue and enable RVO under certain conditions.
Wed, Mar 15, 7:23 PM · Restricted Project, Restricted Project
ChuanqiXu accepted D146175: [Coroutines] Add remarks in CoroSplit and CoroElide passes.

LGTM. Thanks.

Wed, Mar 15, 6:59 PM · Restricted Project, Restricted Project
ChuanqiXu added a comment to D144844: [C++20] [Modules] Offer -fno-import-inter-module-function-defs to avoid duplicated compilation in modules.

However, "performance" also includes compilation speed in the 'no optimisation, debug' case - that is also considered very important. So, perhaps, the short-term approach should be (as @dblaikie suggested) to include the bodies for -O >= 3?

Wed, Mar 15, 12:44 AM · Restricted Project, Restricted Project, Restricted Project

Tue, Mar 14

ChuanqiXu added a comment to D145965: [C++20][Modules] Fix incorrect visibilities in implementation units..

I filed another issue (https://github.com/llvm/llvm-project/issues/61427) to reflect [basic.lookup.general]p2.3. So there are multiple issues. Let's handle them in multiple patches too.

Tue, Mar 14, 11:37 PM · Restricted Project, Restricted Project
ChuanqiXu planned changes to D144844: [C++20] [Modules] Offer -fno-import-inter-module-function-defs to avoid duplicated compilation in modules.

It should be "Plan Changed" instead of "Abandoned".

Tue, Mar 14, 8:09 PM · Restricted Project, Restricted Project, Restricted Project
ChuanqiXu reclaimed D144844: [C++20] [Modules] Offer -fno-import-inter-module-function-defs to avoid duplicated compilation in modules.
Tue, Mar 14, 8:08 PM · Restricted Project, Restricted Project, Restricted Project
ChuanqiXu abandoned D144844: [C++20] [Modules] Offer -fno-import-inter-module-function-defs to avoid duplicated compilation in modules.

Got your points. Let's postpone this one.

Tue, Mar 14, 7:51 PM · Restricted Project, Restricted Project, Restricted Project
ChuanqiXu added a comment to D145965: [C++20][Modules] Fix incorrect visibilities in implementation units..

I was thinking at one stage to add an 'Implementation' module Kind, but at the moment I do not think it is worth extending the size of the ModuleKind enum bit field for this (since we now have used up all the entries with the new 'ExplicitGlobalModuleFragment' case). That also has a large impact also for relatively few uses.

I have changed my mind here.
It seems that we are getting confusing decl context entries without having a proper module for the implementation (even though we will never write such a module to a PCM, since it is not importable).

I was wondering if it would be possible to avoid having separate values for PartitionInterface/Implementation (since they both have a BMI - it is only a question of whether that can be re-exported). We would have to add one bit to the PCM to deal with that, so that we might as well extend the ModuleKind enum to 4 bits.

So .. please wait for one or two days, I will try to refresh the implementation patch (D126959) and see if that resolves some of the issues I am seeing with P1815

(this does not alter the situation that you are going to revisit the isModuleUnitOfCurrentTU if that is needed - but it might not be; since having a separate module for the impl. will avoid some of the ambiguities anyway).

Additional Note: we also have a situation in the lookups for dependent names during template instantiation that the visibility of decls can need to be assessed in a different module context from the current module. So that we might also need to have a areTheseModulesFromTheSameTU(Module *A. Module *B)

Tue, Mar 14, 7:29 PM · Restricted Project, Restricted Project
ChuanqiXu added a comment to D145965: [C++20][Modules] Fix incorrect visibilities in implementation units..

The checks for internal-linkage symbols and the improvements to diagnostics do not depend on how Sema::isModuleUnitOfCurrentTU is implemented, so that I think we could fix these problems and then deal with the refactoring later.

In either case, I do not have much time to work more on this right now.

I'll try to make it.

Perhaps then, we can split out the changes to Sema::isModuleUnitOfCurrentTU and see how much of the functionality is still working (with the intent that the full fix will come along later).

So if this is split into two

  1. the fix to Sema::isModuleUnitOfCurrentTU (which you will be updating) and
  2. the uses of that to fix the lookups and diagnostics?

(I can use both as a temporary fix .. but 2 could be applied with the existing isModuleUnitOfCurrentTU implementation).

Tue, Mar 14, 2:47 AM · Restricted Project, Restricted Project
ChuanqiXu added a comment to D145965: [C++20][Modules] Fix incorrect visibilities in implementation units..

Yeah, it is indeed a problem that Sema::isModuleUnitOfCurrentTU doesn't work for implementation units. And I have been thinking about this for a while. My thought is that the root cause may be that we shouldn't push the module interface to Sema::ModuleScopes() for the implementation unit. (We need some other small refactoring).

I think it is not small refactoring - we make extensive use of "getCurrentModule()" to determine if we are processing a module and the interface to know which module the implementation belongs to.

If we add the implicitly imported interface to "imports" instead of the module scope we will need to make sure that we deal with all these cases where we rely on the interface module for this information.

I was thinking at one stage to add an 'Implementation' module Kind, but at the moment I do not think it is worth extending the size of the ModuleKind enum bit field for this (since we now have used up all the entries with the new 'ExplicitGlobalModuleFragment' case). That also has a large impact also for relatively few uses.

Tue, Mar 14, 2:12 AM · Restricted Project, Restricted Project
ChuanqiXu added inline comments to D145374: [FuncSpec] Consider constant struct arguments when specializing..
Tue, Mar 14, 1:50 AM · Restricted Project, Restricted Project
ChuanqiXu added a comment to D145965: [C++20][Modules] Fix incorrect visibilities in implementation units..

Yeah, it is indeed a problem that Sema::isModuleUnitOfCurrentTU doesn't work for implementation units. And I have been thinking about this for a while. My thought is that the root cause may be that we shouldn't push the module interface to Sema::ModuleScopes() for the implementation unit. (We need some other small refactoring). I feel this is more natural and consistent. I thought to take this one but we didn't use implementation units in the downstream and there is no related issue reports. So I didn't start to work on it... If you are not hurry, I'd like to take this. Otherwise I'd suggest you to try the above method I mentioned.

Tue, Mar 14, 1:25 AM · Restricted Project, Restricted Project

Mon, Mar 13

ChuanqiXu committed rG3e78fa860235: [C++20] [Modules] Profile TemplateName by canonical decl (authored by ChuanqiXu).
[C++20] [Modules] Profile TemplateName by canonical decl
Mon, Mar 13, 11:35 PM · Restricted Project, Restricted Project
ChuanqiXu added a comment to D144844: [C++20] [Modules] Offer -fno-import-inter-module-function-defs to avoid duplicated compilation in modules.

@iains @dblaikie gentle ping~

Mon, Mar 13, 7:50 PM · Restricted Project, Restricted Project, Restricted Project
ChuanqiXu accepted D145886: [C++2x][Modules] Amend module purview constant linkage [P2788R0]..

LGTM.

Mon, Mar 13, 7:26 AM · Restricted Project, Restricted Project
ChuanqiXu committed rGe264fe89e37f: [doc] [Modules] Document how to implement ABI compatible code in module units (authored by ChuanqiXu).
[doc] [Modules] Document how to implement ABI compatible code in module units
Mon, Mar 13, 1:52 AM · Restricted Project, Restricted Project
ChuanqiXu added inline comments to D144994: [Draft][libc++][modules] Adds std module..
Mon, Mar 13, 1:30 AM · Restricted Project, Restricted Project, Restricted Project
ChuanqiXu committed rG2e9977c28156: [C++20] [Modules] Treat module linkage as formal linkage only (authored by ChuanqiXu).
[C++20] [Modules] Treat module linkage as formal linkage only
Mon, Mar 13, 12:55 AM · Restricted Project, Restricted Project

Sun, Mar 12

ChuanqiXu added a comment to D124351: [Clang] Implement Change scope of lambda trailing-return-type.

It looks like that the Create template functions get merged expectedly. And the dummy variable shouldn't get merged since it is not in a mergeable primary context (function context is not a mergeable primary context) (see https://github.com/llvm/llvm-project/blob/23bd0e037b744d1f93bdfad59b7575017725a96c/clang/lib/Serialization/ASTReaderDecl.cpp#L3107-L3151).

Sun, Mar 12, 11:32 PM · Restricted Project, Restricted Project
ChuanqiXu added inline comments to D145374: [FuncSpec] Consider constant struct arguments when specializing..
Sun, Mar 12, 7:38 PM · Restricted Project, Restricted Project
ChuanqiXu updated subscribers of D144994: [Draft][libc++][modules] Adds std module..
Sun, Mar 12, 7:13 PM · Restricted Project, Restricted Project, Restricted Project

Fri, Mar 10

ChuanqiXu added a comment to rG1e0709167f5e: Revert "[Modules] Remove unnecessary check when generating name lookup table in….

It will be helpful if you can provide a reproducer or a reproducer command.

Fri, Mar 10, 8:47 AM · Restricted Project, Restricted Project

Thu, Mar 9

ChuanqiXu added a reverting change for rG87ba95aa212a: [NFC] Don't recompute Linkage for Decl in Release Modes: rG8592b3e1d208: Revert "[NFC] Don't recompute Linkage for Decl in Release Modes".
Thu, Mar 9, 11:26 PM · Restricted Project, Restricted Project
ChuanqiXu committed rG8592b3e1d208: Revert "[NFC] Don't recompute Linkage for Decl in Release Modes" (authored by ChuanqiXu).
Revert "[NFC] Don't recompute Linkage for Decl in Release Modes"
Thu, Mar 9, 11:26 PM · Restricted Project, Restricted Project
ChuanqiXu committed rG87ba95aa212a: [NFC] Don't recompute Linkage for Decl in Release Modes (authored by ChuanqiXu).
[NFC] Don't recompute Linkage for Decl in Release Modes
Thu, Mar 9, 11:24 PM · Restricted Project, Restricted Project
ChuanqiXu committed rGaf86957cbbff: [C++20] [Modules] Don't load declaration eagerly for named modules (authored by ChuanqiXu).
[C++20] [Modules] Don't load declaration eagerly for named modules
Thu, Mar 9, 11:01 PM · Restricted Project, Restricted Project
ChuanqiXu accepted D145720: [clang-tidy] Finish cppcoreguidelines-avoid-capturing-lambda-coroutines check.

LGTM. Thanks!

Thu, Mar 9, 6:10 PM · Restricted Project, Restricted Project
ChuanqiXu accepted D137514: [clang-tidy] add check for capturing lambda coroutines.

LGTM. Thanks! BTW, in such cases, you can commandeer the revision generally.

Thu, Mar 9, 6:09 PM · Restricted Project, Restricted Project
ChuanqiXu added inline comments to D145641: [Coroutines] Implement fix for cwg2563 issue and enable RVO under certain conditions.
Thu, Mar 9, 1:48 AM · Restricted Project, Restricted Project
ChuanqiXu accepted D145639: [Coroutines] Fix premature conversion of return object.

This is basically a reverting of https://reviews.llvm.org/D117087. So it should be good according to our previous talk.

Thu, Mar 9, 1:37 AM · Restricted Project, Restricted Project
ChuanqiXu committed rGdb987b9589be: [Modules] Remove unnecessary check when generating name lookup table in… (authored by ChuanqiXu).
[Modules] Remove unnecessary check when generating name lookup table in…
Thu, Mar 9, 1:34 AM · Restricted Project, Restricted Project
ChuanqiXu committed rG1c33c419e41e: [doc] Deprecate the '-fmodule-file=<module-name>=<path-BMI>' for named modules… (authored by ChuanqiXu).
[doc] Deprecate the '-fmodule-file=<module-name>=<path-BMI>' for named modules…
Thu, Mar 9, 12:20 AM · Restricted Project, Restricted Project

Wed, Mar 8

ChuanqiXu added a comment to D137514: [clang-tidy] add check for capturing lambda coroutines.

Is there any new progress on this?

Wed, Mar 8, 11:28 PM · Restricted Project, Restricted Project
ChuanqiXu committed rG78e48977a6e6: [NFC] [C++20] [Modules] Add a test for pr60085 (authored by ChuanqiXu).
[NFC] [C++20] [Modules] Add a test for pr60085
Wed, Mar 8, 12:42 AM · Restricted Project, Restricted Project

Mon, Mar 6

ChuanqiXu committed rG6ceb32a66fb4: [C++20] [Modules] Handle the linkage of defaulted friend function (authored by ChuanqiXu).
[C++20] [Modules] Handle the linkage of defaulted friend function
Mon, Mar 6, 11:35 PM · Restricted Project, Restricted Project
ChuanqiXu added a comment to D144994: [Draft][libc++][modules] Adds std module..

One of the issues in libc++ is that vendors can decide to disable filesystem header. Since parts of that library are in the dylib the std module can't provide what's in filesystem. Does your method also have that feature?

Mon, Mar 6, 6:12 PM · Restricted Project, Restricted Project, Restricted Project
ChuanqiXu accepted D145378: [FuncSpec][NFC] Command line option renaming..

LGTM.

Mon, Mar 6, 5:57 PM · Restricted Project, Restricted Project
ChuanqiXu accepted D145375: [FuncSpec] Minor refactoring in statistics and debug messages..

LGTM.

Mon, Mar 6, 5:56 PM · Restricted Project, Restricted Project
ChuanqiXu accepted D145394: [FuncSpec] Do not run pre-link when doing LTO..
Mon, Mar 6, 5:53 PM · Restricted Project, Restricted Project
ChuanqiXu added a comment to D144994: [Draft][libc++][modules] Adds std module..

About distributing the std modules, this is what we do in the downstream:

Mon, Mar 6, 12:23 AM · Restricted Project, Restricted Project, Restricted Project

Sun, Mar 5

ChuanqiXu committed rG5b769ff3e6a4: [NFC] Add an invalid test case for C++20 Modules (authored by ChuanqiXu).
[NFC] Add an invalid test case for C++20 Modules
Sun, Mar 5, 10:41 PM · Restricted Project, Restricted Project
ChuanqiXu added inline comments to D144994: [Draft][libc++][modules] Adds std module..
Sun, Mar 5, 6:09 PM · Restricted Project, Restricted Project, Restricted Project

Fri, Mar 3

ChuanqiXu committed rG2408f97652ca: Recommit [C++20] [Modules] Trying to compare the trailing require clause from… (authored by ChuanqiXu).
Recommit [C++20] [Modules] Trying to compare the trailing require clause from…
Fri, Mar 3, 1:28 AM · Restricted Project, Restricted Project

Thu, Mar 2

ChuanqiXu committed rG57833636816a: [C++20] [Modules] Deprecate to load C++20 Modules eagerly (authored by ChuanqiXu).
[C++20] [Modules] Deprecate to load C++20 Modules eagerly
Thu, Mar 2, 10:26 PM · Restricted Project, Restricted Project
ChuanqiXu closed D144707: [C++20] [Modules] Deprecate to load C++20 Named Modules eagerly.
Thu, Mar 2, 10:26 PM · Restricted Project, Restricted Project, Restricted Project
ChuanqiXu accepted D144707: [C++20] [Modules] Deprecate to load C++20 Named Modules eagerly.
Thu, Mar 2, 10:25 PM · Restricted Project, Restricted Project, Restricted Project
ChuanqiXu added inline comments to D144994: [Draft][libc++][modules] Adds std module..
Thu, Mar 2, 10:21 PM · Restricted Project, Restricted Project, Restricted Project
ChuanqiXu committed rG5828692f70bc: [C++20] [Modules] Make TheImplicitGlobalModuleFragment and… (authored by ChuanqiXu).
[C++20] [Modules] Make TheImplicitGlobalModuleFragment and…
Thu, Mar 2, 7:16 PM · Restricted Project, Restricted Project
ChuanqiXu committed rGbf52ead24ca4: [C++20] [Modules] Support to export declarations in language linkage (authored by ChuanqiXu).
[C++20] [Modules] Support to export declarations in language linkage
Thu, Mar 2, 6:34 PM · Restricted Project, Restricted Project
ChuanqiXu closed D144367: [C++20] [Modules] Support to export declarations in the language linkage .
Thu, Mar 2, 6:34 PM · Restricted Project, Restricted Project
ChuanqiXu added a comment to D144994: [Draft][libc++][modules] Adds std module..

BTW, I am also curious that if the current phab CI runs the std_modules test now? If yes, it is pretty good.

Thu, Mar 2, 1:36 AM · Restricted Project, Restricted Project, Restricted Project

Wed, Mar 1

ChuanqiXu abandoned D135507: [Draft] [libcxx] introducing std modules.

Deprecated since we prefer D144994

Wed, Mar 1, 7:27 PM · Restricted Project
ChuanqiXu added inline comments to D144994: [Draft][libc++][modules] Adds std module..
Wed, Mar 1, 6:49 PM · Restricted Project, Restricted Project, Restricted Project
ChuanqiXu added inline comments to D144994: [Draft][libc++][modules] Adds std module..
Wed, Mar 1, 6:46 PM · Restricted Project, Restricted Project, Restricted Project
ChuanqiXu added a comment to D144994: [Draft][libc++][modules] Adds std module..

I noticed the test lives under std_modules dir. But they should live under std dir finally, right?

Wed, Mar 1, 6:26 PM · Restricted Project, Restricted Project, Restricted Project

Tue, Feb 28

ChuanqiXu added a reverting change for rG74565c3add6d: [Modules] Don't check [temp.friend]p9 in ASTContext::isSameEntity: rGdb1b827ecfed: Revert "[Modules] Don't check [temp.friend]p9 in ASTContext::isSameEntity".
Tue, Feb 28, 7:23 PM · Restricted Project, Restricted Project
ChuanqiXu committed rGdb1b827ecfed: Revert "[Modules] Don't check [temp.friend]p9 in ASTContext::isSameEntity" (authored by ChuanqiXu).
Revert "[Modules] Don't check [temp.friend]p9 in ASTContext::isSameEntity"
Tue, Feb 28, 7:23 PM · Restricted Project, Restricted Project
ChuanqiXu added a reverting change for rG9e50578ba43c: [C++20] [Modules] Trying to compare the trailing require clause from the…: rG5bb3253cf5b4: Revert "[C++20] [Modules] Trying to compare the trailing require clause from….
Tue, Feb 28, 7:04 PM · Restricted Project, Restricted Project
ChuanqiXu committed rG5bb3253cf5b4: Revert "[C++20] [Modules] Trying to compare the trailing require clause from… (authored by ChuanqiXu).
Revert "[C++20] [Modules] Trying to compare the trailing require clause from…
Tue, Feb 28, 7:04 PM · Restricted Project, Restricted Project
ChuanqiXu added a reverting change for D144626: [C++20] [Modules] Trying to compare the trailing require clause of the primary template when performing ODR checking: rG5bb3253cf5b4: Revert "[C++20] [Modules] Trying to compare the trailing require clause from….
Tue, Feb 28, 7:04 PM · Restricted Project, Restricted Project, Restricted Project