[clang] d8ec452 - [serialization] no transitive decl change (#92083)

2024-06-03 Thread Chuanqi Xu via cfe-commits
Author: Chuanqi Xu Date: 2024-06-04T14:45:00+08:00 New Revision: d8ec452db016f359feeec28994f6560b30b49824 URL: https://github.com/llvm/llvm-project/commit/d8ec452db016f359feeec28994f6560b30b49824 DIFF: https://github.com/llvm/llvm-project/commit/d8ec452db016f359feeec28994f6560b30b49824.diff LO

[clang] 799ae77 - [NFC] [Serialization] Avoid unnecessary check for if Identifier from AST

2024-06-04 Thread Chuanqi Xu via cfe-commits
Author: Chuanqi Xu Date: 2024-06-04T15:28:24+08:00 New Revision: 799ae77993fa5d7b0638f10b3895090f8748de92 URL: https://github.com/llvm/llvm-project/commit/799ae77993fa5d7b0638f10b3895090f8748de92 DIFF: https://github.com/llvm/llvm-project/commit/799ae77993fa5d7b0638f10b3895090f8748de92.diff LO

[clang] [Serialization] No transitive identifier change (PR #92085)

2024-06-04 Thread Chuanqi Xu via cfe-commits
@@ -3896,7 +3903,7 @@ void ASTWriter::WriteIdentifierTable(Preprocessor &PP, // Write out identifiers if either the ID is local or the identifier has // changed since it was loaded. - if (ID >= FirstIdentID || !Chain || !II->isFromAST() || + if (isLocalId

[clang] [Serialization] No transitive identifier change (PR #92085)

2024-06-04 Thread Chuanqi Xu via cfe-commits
https://github.com/ChuanqiXu9 updated https://github.com/llvm/llvm-project/pull/92085 >From e8f756ec7f8ea7e5bf18cc122a965fb2f258fd15 Mon Sep 17 00:00:00 2001 From: Chuanqi Xu Date: Tue, 14 May 2024 15:33:12 +0800 Subject: [PATCH] [Serialization] No transitive identifier change --- .../clang/L

[clang] [serialization] no transitive decl change (PR #92083)

2024-06-04 Thread Chuanqi Xu via cfe-commits
ChuanqiXu9 wrote: Oh, this is not wanted. It should be almost a NFC patch for users. I'll revert it. https://github.com/llvm/llvm-project/pull/92083 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listin

[clang] cb60667 - Revert "[serialization] no transitive decl change (#92083)"

2024-06-04 Thread Chuanqi Xu via cfe-commits
Author: Chuanqi Xu Date: 2024-06-04T16:10:38+08:00 New Revision: cb60667b6e762aa172b6ad06332465d69f0fd803 URL: https://github.com/llvm/llvm-project/commit/cb60667b6e762aa172b6ad06332465d69f0fd803 DIFF: https://github.com/llvm/llvm-project/commit/cb60667b6e762aa172b6ad06332465d69f0fd803.diff LO

[clang] 99873b3 - [NFC] [AST] Introduce Decl::isInAnotherModuleUnit and Decl::shouldEmitInExternalSource

2024-06-04 Thread Chuanqi Xu via cfe-commits
Author: Chuanqi Xu Date: 2024-06-04T17:08:21+08:00 New Revision: 99873b35da7ecb905143c8a6b8deca4d4416f1a9 URL: https://github.com/llvm/llvm-project/commit/99873b35da7ecb905143c8a6b8deca4d4416f1a9 DIFF: https://github.com/llvm/llvm-project/commit/99873b35da7ecb905143c8a6b8deca4d4416f1a9.diff LO

[clang] [C++20] [Modules] [Itanium ABI] Generate the vtable in the module unit of dynamic classes (PR #75912)

2024-06-04 Thread Chuanqi Xu via cfe-commits
https://github.com/ChuanqiXu9 updated https://github.com/llvm/llvm-project/pull/75912 >From cf8be3c418dde67b74d4a5a4ea98a33f0e2fbd72 Mon Sep 17 00:00:00 2001 From: Chuanqi Xu Date: Tue, 19 Dec 2023 17:00:59 +0800 Subject: [PATCH] [C++20] [Modules] [Itanium ABI] Generate the vtable in the modul

[clang] [C++20] [Modules] [Itanium ABI] Generate the vtable in the module unit of dynamic classes (PR #75912)

2024-06-04 Thread Chuanqi Xu via cfe-commits
@@ -1180,6 +1185,21 @@ bool CodeGenVTables::isVTableExternal(const CXXRecordDecl *RD) { TSK == TSK_ExplicitInstantiationDefinition) return false; + // Itanium C++ ABI [5.2.3]: + // Virtual tables for dynamic classes are emitted as follows: + // + // - If the cla

[clang] [serialization] no transitive decl change (PR #92083)

2024-06-04 Thread Chuanqi Xu via cfe-commits
ChuanqiXu9 wrote: > Unfortunately this is still failing one test on the LLDB macOS CI: > https://green.lab.llvm.org/job/llvm.org/view/LLDB/job/as-lldb-cmake/5083/execution/node/97/log > > ``` > == > FAIL: test_duplicate_decls_g

[clang] [C++20] [Modules] Introduce -fexperimental-modules-reduced-bmi (PR #85050)

2024-04-14 Thread Chuanqi Xu via cfe-commits
https://github.com/ChuanqiXu9 closed https://github.com/llvm/llvm-project/pull/85050 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang-tools-extra] [clangd] [C++20] [Modules] Introduce initial support for C++20 Modules (PR #66462)

2024-04-14 Thread Chuanqi Xu via cfe-commits
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

[clang-tools-extra] [clangd] [C++20] [Modules] Introduce initial support for C++20 Modules (PR #66462)

2024-04-14 Thread Chuanqi Xu via cfe-commits
ChuanqiXu9 wrote: > > @sam-mccall gentle ping~ > > @ChuanqiXu9 hi, can your patch add support msvc module with *.ixx suffix > source? I use xmake to generate compile database, clangd cant work properly. hi, did you meet problems when testing this? I took a quick look and I don't see I treated

[clang] [Modules] No transitive source location change (PR #86912)

2024-04-15 Thread Chuanqi Xu via cfe-commits
https://github.com/ChuanqiXu9 updated https://github.com/llvm/llvm-project/pull/86912 >From 8e07cbdd0f348484d532d7827e4b4a7888e70978 Mon Sep 17 00:00:00 2001 From: Chuanqi Xu Date: Mon, 18 Mar 2024 08:36:55 +0800 Subject: [PATCH 1/2] [Modules] No transitive source location change --- clang/in

[clang] [Modules] No transitive source location change (PR #86912)

2024-04-15 Thread Chuanqi Xu via cfe-commits
@@ -149,14 +157,44 @@ class SourceLocationSequence::State { operator SourceLocationSequence *() { return &Seq; } }; -inline uint64_t SourceLocationEncoding::encode(SourceLocation Loc, - SourceLocationSequence *Seq) { - return Se

[clang] [Modules] No transitive source location change (PR #86912)

2024-04-15 Thread Chuanqi Xu via cfe-commits
@@ -942,6 +942,12 @@ class ASTReader /// Sema tracks these to emit deferred diags. llvm::SmallSetVector DeclsToCheckForDeferredDiags; + /// The module files imported by different module files. Indirectly imported + /// module files are included too. The information comes

[clang] [Modules] No transitive source location change (PR #86912)

2024-04-15 Thread Chuanqi Xu via cfe-commits
@@ -5574,10 +5577,34 @@ void ASTWriter::AddFileID(FileID FID, RecordDataImpl &Record) { Record.push_back(getAdjustedFileID(FID).getOpaqueValue()); } +SourceLocationEncoding::RawLocEncoding +ASTWriter::getRawSourceLocationEncoding(SourceLocation Loc, LocSeq *Seq) { + unsign

[clang] [Modules] No transitive source location change (PR #86912)

2024-04-15 Thread Chuanqi Xu via cfe-commits
@@ -2220,40 +2227,47 @@ class ASTReader return Sema::AlignPackInfo::getFromRawEncoding(Raw); } + using RawLocEncoding = SourceLocationEncoding::RawLocEncoding; + /// Read a source location from raw form and return it in its /// originating module file's source loc

[clang] [Modules] No transitive source location change (PR #86912)

2024-04-15 Thread Chuanqi Xu via cfe-commits
@@ -696,7 +696,7 @@ class ASTReader /// Mapping from global submodule IDs to the module file in which the /// submodule resides along with the offset that should be added to the /// global submodule ID to produce a local ID. - GlobalSubmoduleMapType GlobalSubmoduleMap; +

[clang] [Modules] No transitive source location change (PR #86912)

2024-04-15 Thread Chuanqi Xu via cfe-commits
https://github.com/ChuanqiXu9 edited 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

[clang] [Modules] No transitive source location change (PR #86912)

2024-04-15 Thread Chuanqi Xu via cfe-commits
@@ -149,14 +157,44 @@ class SourceLocationSequence::State { operator SourceLocationSequence *() { return &Seq; } }; -inline uint64_t SourceLocationEncoding::encode(SourceLocation Loc, - SourceLocationSequence *Seq) { - return Se

[clang] [Modules] No transitive source location change (PR #86912)

2024-04-15 Thread Chuanqi Xu via cfe-commits
@@ -149,14 +157,44 @@ class SourceLocationSequence::State { operator SourceLocationSequence *() { return &Seq; } }; -inline uint64_t SourceLocationEncoding::encode(SourceLocation Loc, - SourceLocationSequence *Seq) { - return Se

[clang] [Modules] No transitive source location change (PR #86912)

2024-04-15 Thread Chuanqi Xu via cfe-commits
@@ -2220,40 +2227,47 @@ class ASTReader return Sema::AlignPackInfo::getFromRawEncoding(Raw); } + using RawLocEncoding = SourceLocationEncoding::RawLocEncoding; + /// Read a source location from raw form and return it in its /// originating module file's source loc

[clang] [Modules] No transitive source location change (PR #86912)

2024-04-15 Thread Chuanqi Xu via cfe-commits
@@ -4078,8 +4065,8 @@ void ASTReader::ReadModuleOffsetMap(ModuleFile &F) const { return; ChuanqiXu9 wrote: Done. https://github.com/llvm/llvm-project/pull/86912 ___ cfe-commits mailing list cfe-commits@lists.llv

[clang] [Modules] No transitive source location change (PR #86912)

2024-04-15 Thread Chuanqi Xu via cfe-commits
@@ -2220,40 +2227,47 @@ class ASTReader return Sema::AlignPackInfo::getFromRawEncoding(Raw); } + using RawLocEncoding = SourceLocationEncoding::RawLocEncoding; + /// Read a source location from raw form and return it in its /// originating module file's source loc

[clang] [Modules] No transitive source location change (PR #86912)

2024-04-15 Thread Chuanqi Xu via cfe-commits
@@ -2220,40 +2227,47 @@ class ASTReader return Sema::AlignPackInfo::getFromRawEncoding(Raw); } + using RawLocEncoding = SourceLocationEncoding::RawLocEncoding; + /// Read a source location from raw form and return it in its /// originating module file's source loc

[clang] [Modules] No transitive source location change (PR #86912)

2024-04-15 Thread Chuanqi Xu via cfe-commits
ChuanqiXu9 wrote: > I have a few minor comments on the patch. I want to do some additional perf > testing on module scanning perf because I'm a bit concerned about the cost of > `ASTWriter::getRawSourceLocationEncoding`. What's the perf results about scanning? https://github.com/llvm/llvm-pro

[clang] aa27414 - Revert "[C++20] [Modules] Don't import non-inline function bodies even if it is marked as always_inline"

2024-04-15 Thread Chuanqi Xu via cfe-commits
Author: Chuanqi Xu Date: 2024-04-15T17:06:03+08:00 New Revision: aa2741449c3609b2ae244d8d3f3e14ad16de72e4 URL: https://github.com/llvm/llvm-project/commit/aa2741449c3609b2ae244d8d3f3e14ad16de72e4 DIFF: https://github.com/llvm/llvm-project/commit/aa2741449c3609b2ae244d8d3f3e14ad16de72e4.diff LO

[clang] [Modules] No transitive source location change (PR #86912)

2024-04-15 Thread Chuanqi Xu via cfe-commits
https://github.com/ChuanqiXu9 updated https://github.com/llvm/llvm-project/pull/86912 >From 8e07cbdd0f348484d532d7827e4b4a7888e70978 Mon Sep 17 00:00:00 2001 From: Chuanqi Xu Date: Mon, 18 Mar 2024 08:36:55 +0800 Subject: [PATCH 1/3] [Modules] No transitive source location change --- clang/in

[clang] [Modules] No transitive source location change (PR #86912)

2024-04-15 Thread Chuanqi Xu via cfe-commits
@@ -2220,33 +2221,40 @@ class ASTReader return Sema::AlignPackInfo::getFromRawEncoding(Raw); } + using RawLocEncoding = SourceLocationEncoding::RawLocEncoding; + /// Read a source location from raw form and return it in its /// originating module file's source loc

[clang] [Modules] No transitive source location change (PR #86912)

2024-04-15 Thread Chuanqi Xu via cfe-commits
@@ -2220,33 +2221,40 @@ class ASTReader return Sema::AlignPackInfo::getFromRawEncoding(Raw); } + using RawLocEncoding = SourceLocationEncoding::RawLocEncoding; + /// Read a source location from raw form and return it in its /// originating module file's source loc

[clang] [Modules] No transitive source location change (PR #86912)

2024-04-15 Thread Chuanqi Xu via cfe-commits
@@ -149,14 +157,44 @@ class SourceLocationSequence::State { operator SourceLocationSequence *() { return &Seq; } }; -inline uint64_t SourceLocationEncoding::encode(SourceLocation Loc, - SourceLocationSequence *Seq) { - return Se

[clang] [unused-includes][Serialization] Remove unused includes. NFC. (PR #88790)

2024-04-15 Thread Chuanqi Xu via cfe-commits
https://github.com/ChuanqiXu9 approved this pull request. LGTM. Thanks. https://github.com/llvm/llvm-project/pull/88790 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [unused-includes] PCHContainerOperations uses MemoryBufferRef, not MemoryBuffer. NFC. (PR #88794)

2024-04-15 Thread Chuanqi Xu via cfe-commits
https://github.com/ChuanqiXu9 approved this pull request. LGTM. Thanks. https://github.com/llvm/llvm-project/pull/88794 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang] Drop unaligned from calls to readNext (NFC) (PR #88842)

2024-04-15 Thread Chuanqi Xu via cfe-commits
https://github.com/ChuanqiXu9 approved this pull request. https://github.com/llvm/llvm-project/pull/88842 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] 39016e3 - [C++20] [Modules] Don't import non-inline function bodies even if it is always-inline

2024-04-15 Thread Chuanqi Xu via cfe-commits
Author: Chuanqi Xu Date: 2024-04-16T13:06:44+08:00 New Revision: 39016e33b0fe78ddb1f11822f71a8a233af4dca9 URL: https://github.com/llvm/llvm-project/commit/39016e33b0fe78ddb1f11822f71a8a233af4dca9 DIFF: https://github.com/llvm/llvm-project/commit/39016e33b0fe78ddb1f11822f71a8a233af4dca9.diff LO

[clang] d26dd58 - [StmtProfile] Don't profile the body of lambda expressions

2024-04-16 Thread Chuanqi Xu via cfe-commits
Author: Chuanqi Xu Date: 2024-04-16T15:41:26+08:00 New Revision: d26dd58ca5b59032eb371b8f51d9134acdd8d3ad URL: https://github.com/llvm/llvm-project/commit/d26dd58ca5b59032eb371b8f51d9134acdd8d3ad DIFF: https://github.com/llvm/llvm-project/commit/d26dd58ca5b59032eb371b8f51d9134acdd8d3ad.diff LO

[clang] e6ecff8 - [C++20] [Modules] Add Release Notes and Documents for Reduced BMI

2024-04-16 Thread Chuanqi Xu via cfe-commits
Author: Chuanqi Xu Date: 2024-04-17T10:42:48+08:00 New Revision: e6ecff8d95b9175e70e0d43e14c2975c8f69d718 URL: https://github.com/llvm/llvm-project/commit/e6ecff8d95b9175e70e0d43e14c2975c8f69d718 DIFF: https://github.com/llvm/llvm-project/commit/e6ecff8d95b9175e70e0d43e14c2975c8f69d718.diff LO

[clang] f2695a1 - [C++20] [Modules] Avoid writing untouched DeclUpdates from GMF in

2024-04-17 Thread Chuanqi Xu via cfe-commits
Author: Chuanqi Xu Date: 2024-04-18T11:00:28+08:00 New Revision: f2695a1c2f561da42b973187a254b6eeb7da76a9 URL: https://github.com/llvm/llvm-project/commit/f2695a1c2f561da42b973187a254b6eeb7da76a9 DIFF: https://github.com/llvm/llvm-project/commit/f2695a1c2f561da42b973187a254b6eeb7da76a9.diff LO

[clang] [C++20] [Modules] [Itanium ABI] Generate the vtable in the module unit of dynamic classes (PR #75912)

2024-04-17 Thread Chuanqi Xu via cfe-commits
ChuanqiXu9 wrote: @rjmccall @dwblaikie ping https://github.com/llvm/llvm-project/pull/75912 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] 83cc605 - [NFC] [Serialization] Extract logics to write special decls from

2024-04-17 Thread Chuanqi Xu via cfe-commits
Author: Chuanqi Xu Date: 2024-04-18T14:34:24+08:00 New Revision: 83cc60565a8a78ce00ee0c29f167400902e60737 URL: https://github.com/llvm/llvm-project/commit/83cc60565a8a78ce00ee0c29f167400902e60737 DIFF: https://github.com/llvm/llvm-project/commit/83cc60565a8a78ce00ee0c29f167400902e60737.diff LO

[clang] 7ec342b - [C++20] [Modules] [Reduced BMI] Write Special Decl Lazily

2024-04-17 Thread Chuanqi Xu via cfe-commits
Author: Chuanqi Xu Date: 2024-04-18T14:35:38+08:00 New Revision: 7ec342ba16ca97206aa2ddd5b7ec0da063042e03 URL: https://github.com/llvm/llvm-project/commit/7ec342ba16ca97206aa2ddd5b7ec0da063042e03 DIFF: https://github.com/llvm/llvm-project/commit/7ec342ba16ca97206aa2ddd5b7ec0da063042e03.diff LO

[clang] 5d4e072 - [C++20] [Modules] [Reduced BMI] Don't eagerly write static entities in

2024-04-18 Thread Chuanqi Xu via cfe-commits
Author: Chuanqi Xu Date: 2024-04-18T15:38:02+08:00 New Revision: 5d4e072a253afac018e312d75290314bd2d03b30 URL: https://github.com/llvm/llvm-project/commit/5d4e072a253afac018e312d75290314bd2d03b30 DIFF: https://github.com/llvm/llvm-project/commit/5d4e072a253afac018e312d75290314bd2d03b30.diff LO

[clang] e7a8dd9 - [docs] [C++20] [Modules] Mentioning Module Initializer

2024-04-18 Thread Chuanqi Xu via cfe-commits
Author: Chuanqi Xu Date: 2024-04-18T16:12:14+08:00 New Revision: e7a8dd9b0d419403fe1d8adeb177a4ec78e036cc URL: https://github.com/llvm/llvm-project/commit/e7a8dd9b0d419403fe1d8adeb177a4ec78e036cc DIFF: https://github.com/llvm/llvm-project/commit/e7a8dd9b0d419403fe1d8adeb177a4ec78e036cc.diff LO

[clang] [Modules] No transitive source location change (PR #86912)

2024-04-18 Thread Chuanqi Xu via cfe-commits
ChuanqiXu9 wrote: Fix conflicts and rebase with main. @Bigcheese @jansvoboda11 ping~ 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

[clang] aac4d03 - [C++20] [Modules] Mark exported all declarations as used

2024-04-18 Thread Chuanqi Xu via cfe-commits
Author: Chuanqi Xu Date: 2024-04-19T09:46:18+08:00 New Revision: aac4d03423dd6b7bdef0f2eb03c570f3e2ca6630 URL: https://github.com/llvm/llvm-project/commit/aac4d03423dd6b7bdef0f2eb03c570f3e2ca6630 DIFF: https://github.com/llvm/llvm-project/commit/aac4d03423dd6b7bdef0f2eb03c570f3e2ca6630.diff LO

[clang] [Modules] No transitive source location change (PR #86912)

2024-04-18 Thread Chuanqi Xu via cfe-commits
@@ -2220,33 +2221,40 @@ class ASTReader return Sema::AlignPackInfo::getFromRawEncoding(Raw); } + using RawLocEncoding = SourceLocationEncoding::RawLocEncoding; + /// Read a source location from raw form and return it in its /// originating module file's source loc

[clang] [Modules] No transitive source location change (PR #86912)

2024-04-18 Thread Chuanqi Xu via cfe-commits
@@ -2221,33 +,45 @@ class ASTReader return Sema::AlignPackInfo::getFromRawEncoding(Raw); } + using RawLocEncoding = SourceLocationEncoding::RawLocEncoding; + /// Read a source location from raw form and return it in its /// originating module file's source loc

[clang] [Modules] No transitive source location change (PR #86912)

2024-04-18 Thread Chuanqi Xu via cfe-commits
@@ -4082,14 +4069,14 @@ void ASTReader::ReadModuleOffsetMap(ModuleFile &F) const { : ModuleMgr.lookupByFileName(Name)); if (!OM) { std::string Msg = - "SourceLocation remap refers to unknown module, cannot find "; + "cannot

[clang] [Modules] No transitive source location change (PR #86912)

2024-04-18 Thread Chuanqi Xu via cfe-commits
https://github.com/ChuanqiXu9 updated https://github.com/llvm/llvm-project/pull/86912 >From ddb4074b0460daf7b42531ec62e97347b3f2e14d Mon Sep 17 00:00:00 2001 From: Chuanqi Xu Date: Mon, 18 Mar 2024 08:36:55 +0800 Subject: [PATCH 1/4] [Modules] No transitive source location change --- clang/in

[clang] aac695d - [NFC] [Serialization] Use semantical type 'DeclID' for 'CreateDeserialized'

2024-04-19 Thread Chuanqi Xu via cfe-commits
Author: Chuanqi Xu Date: 2024-04-19T16:24:47+08:00 New Revision: aac695da42cf48ccb29c2fe495ead564cc913471 URL: https://github.com/llvm/llvm-project/commit/aac695da42cf48ccb29c2fe495ead564cc913471 DIFF: https://github.com/llvm/llvm-project/commit/aac695da42cf48ccb29c2fe495ead564cc913471.diff LO

[clang] [Modules] No transitive source location change (PR #86912)

2024-04-22 Thread Chuanqi Xu via cfe-commits
ChuanqiXu9 wrote: @jansvoboda11 @Bigcheese ping 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

[clang] b8e3b2a - [NFC] [Serialization] Turn type alias LocalDeclID into class

2024-04-23 Thread Chuanqi Xu via cfe-commits
Author: Chuanqi Xu Date: 2024-04-23T16:56:14+08:00 New Revision: b8e3b2ad66cf78ad2b7832577b1d58dc93c5da21 URL: https://github.com/llvm/llvm-project/commit/b8e3b2ad66cf78ad2b7832577b1d58dc93c5da21 DIFF: https://github.com/llvm/llvm-project/commit/b8e3b2ad66cf78ad2b7832577b1d58dc93c5da21.diff LO

[clang] b467c6b - [NFC] [Serialization] Turn type alias GlobalDeclID into a class

2024-04-23 Thread Chuanqi Xu via cfe-commits
Author: Chuanqi Xu Date: 2024-04-23T17:52:58+08:00 New Revision: b467c6b53660dcaa458c2b5d7fbf5f93ee2af910 URL: https://github.com/llvm/llvm-project/commit/b467c6b53660dcaa458c2b5d7fbf5f93ee2af910 DIFF: https://github.com/llvm/llvm-project/commit/b467c6b53660dcaa458c2b5d7fbf5f93ee2af910.diff LO

[clang] [clang] coroutine: generate valid mangled name in CodeGenFunction::generateAwaitSuspendWrapper (PR #89731)

2024-04-23 Thread Chuanqi Xu via cfe-commits
https://github.com/ChuanqiXu9 approved this pull request. LGTM. Thanks. https://github.com/llvm/llvm-project/pull/89731 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [lldb] [clang] Split ObjectFilePCHContainerReader from ObjectFilePCHContainerWriter (PR #99599)

2024-07-23 Thread Chuanqi Xu via cfe-commits
https://github.com/ChuanqiXu9 updated https://github.com/llvm/llvm-project/pull/99599 >From 2249d5021fb3f9de213772603893e6fa2a0ff7f8 Mon Sep 17 00:00:00 2001 From: Chuanqi Xu Date: Fri, 19 Jul 2024 11:02:36 +0800 Subject: [PATCH] [clang] Split ObjectFilePCHContainerReader from ObjectFilePCHCon

[clang] [lldb] [clang] Split ObjectFilePCHContainerReader from ObjectFilePCHContainerWriter (PR #99599)

2024-07-23 Thread Chuanqi Xu via cfe-commits
https://github.com/ChuanqiXu9 closed https://github.com/llvm/llvm-project/pull/99599 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][driver][clang-cl] Support `--precompile` and `-fmodule-*` options in Clang-CL (PR #98761)

2024-07-23 Thread Chuanqi Xu via cfe-commits
@@ -0,0 +1,65 @@ +// REQUIRES: system-windows + +// RUN: rm -rf %t +// RUN: mkdir -p %t +// RUN: split-file %s %t + +// RUN: %clang_cl /std:c++20 --precompile "%/t/Hello.cppm" "/Fo%/t/Hello.pcm" ChuanqiXu9 wrote: Oh, sorry. It turns to be my bad. We should check

[clang] [Modules] Fix using `va_list` with modules and a precompiled header. (PR #100837)

2024-07-28 Thread Chuanqi Xu via cfe-commits
https://github.com/ChuanqiXu9 approved this pull request. LGTM. https://github.com/llvm/llvm-project/pull/100837 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [C++20][Modules] Allow using stdarg.h with header units (PR #100739)

2024-07-29 Thread Chuanqi Xu via cfe-commits
https://github.com/ChuanqiXu9 approved this pull request. LGTM https://github.com/llvm/llvm-project/pull/100739 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [C++20][Modules] Allow using stdarg.h with header units (PR #100739)

2024-07-29 Thread Chuanqi Xu via cfe-commits
@@ -4543,7 +4544,7 @@ ASTReader::ASTReadResult ASTReader::ReadAST(StringRef FileName, ModuleKind Type, // Mark this identifier as being from an AST file so that we can track // whether we need to serialize it. - markIdentifierFromAST(*this, *II); + markI

[clang] [C++20][Modules] Allow using stdarg.h with header units (PR #100739)

2024-07-29 Thread Chuanqi Xu via cfe-commits
https://github.com/ChuanqiXu9 edited https://github.com/llvm/llvm-project/pull/100739 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] ca8a411 - [C++20] [Modules] Always emit the inline builtins

2024-07-30 Thread Chuanqi Xu via cfe-commits
Author: Chuanqi Xu Date: 2024-07-30T17:56:16+08:00 New Revision: ca8a4111f796fe8533e0af95557875b15becff06 URL: https://github.com/llvm/llvm-project/commit/ca8a4111f796fe8533e0af95557875b15becff06 DIFF: https://github.com/llvm/llvm-project/commit/ca8a4111f796fe8533e0af95557875b15becff06.diff LO

[clang] [C++20] [Modules] Always emit the inline builtins (PR #101278)

2024-07-30 Thread Chuanqi Xu via cfe-commits
https://github.com/ChuanqiXu9 created https://github.com/llvm/llvm-project/pull/101278 See the attached test for the motivation example. If we're too greedy to not emit the definition for inline builtins, we may meet a middle end crash. And it should be good to emit inline builtins always. >F

[clang-tools-extra] [clangd] [C++20] [Modules] Introduce initial support for C++20 Modules (PR #66462)

2024-07-15 Thread Chuanqi Xu via cfe-commits
ChuanqiXu9 wrote: @Arthapz @guijiyang thanks for reporting. But could you try to give feedbacks to that repo instead of this page. I feel this page it too long now. (My browser needs seconds to load it). And this page is indeed not a good place to track that. --- @guijiyang it looks like th

[clang] [C++20] [Modules] [Itanium ABI] Generate the vtable in the module unit of dynamic classes (PR #75912)

2024-07-15 Thread Chuanqi Xu via cfe-commits
ChuanqiXu9 wrote: > > > (FWIW, check some of the recent modules changes @ChuanqiXu9 has been > > working on to see that reviewer bandwidth here is pretty thin (& my > > experience in LLVM in general, including clang, is that reviewer bandwidth > > is pretty thin - though it is something we sh

[clang] [Clang] Implement P3034R1 Module Declarations Shouldn’t be Macros (PR #90574)

2024-07-15 Thread Chuanqi Xu via cfe-commits
@@ -905,6 +912,7 @@ void Preprocessor::Lex(Token &Result) { // This token is injected to represent the translation of '#include "a.h"' // into "import a.h;". Mimic the notional ';'. case tok::annot_module_include: +case tok::annot_repl_input_end: ---

[clang] [Doc] Update documentation for no-transitive-change (PR #96453)

2024-07-15 Thread Chuanqi Xu via cfe-commits
ChuanqiXu9 wrote: I am going to land this in later of the week if no objections come. As 19.x is going to be branched. https://github.com/llvm/llvm-project/pull/96453 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-b

[clang] [clang][driver] Support `--precompile` and `-fmodule-*` options in Clang-CL (PR #98761)

2024-07-15 Thread Chuanqi Xu via cfe-commits
https://github.com/ChuanqiXu9 commented: Thanks. Can you add a test for this under (clang/test/Driver) and add new subsection for it in StandardCPlusPlusModules.rst ? https://github.com/llvm/llvm-project/pull/98761 ___ cfe-commits mailing list cfe-com

[clang-tools-extra] [clangd] [C++20] [Modules] Introduce initial support for C++20 Modules (PR #66462)

2024-07-15 Thread Chuanqi Xu via cfe-commits
ChuanqiXu9 wrote: > > @Arthapz @guijiyang thanks for reporting. But could you try to give > > feedbacks to that repo instead of this page. I feel this page it too long > > now. (My browser needs seconds to load it). And this page is indeed not a > > good place to track that. > > @guijiyang it

[clang-tools-extra] [clangd] [C++20] [Modules] Introduce initial support for C++20 Modules (PR #66462)

2024-07-15 Thread Chuanqi Xu via cfe-commits
@@ -0,0 +1,110 @@ +//===- ModulesBuilder.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

[clang-tools-extra] [clangd] [C++20] [Modules] Introduce initial support for C++20 Modules (PR #66462)

2024-07-15 Thread Chuanqi Xu via cfe-commits
@@ -146,6 +146,8 @@ class Checker { ClangdLSPServer::Options Opts; // from buildCommand tooling::CompileCommand Cmd; + std::unique_ptr BaseCDB; + std::unique_ptr CDB; ChuanqiXu9 wrote: Done https://github.com/llvm/llvm-project/pull/66462 _

[clang-tools-extra] [clangd] [C++20] [Modules] Introduce initial support for C++20 Modules (PR #66462)

2024-07-15 Thread Chuanqi Xu via cfe-commits
@@ -0,0 +1,340 @@ +//===- ModulesBuilder.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: Ap

[clang-tools-extra] [clangd] [C++20] [Modules] Introduce initial support for C++20 Modules (PR #66462)

2024-07-15 Thread Chuanqi Xu via cfe-commits
@@ -0,0 +1,347 @@ +//===- ModulesBuilder.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: Ap

[clang-tools-extra] [clangd] [C++20] [Modules] Introduce initial support for C++20 Modules (PR #66462)

2024-07-15 Thread Chuanqi Xu via cfe-commits
@@ -0,0 +1,340 @@ +//===- ModulesBuilder.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: Ap

[clang-tools-extra] [clangd] [C++20] [Modules] Introduce initial support for C++20 Modules (PR #66462)

2024-07-15 Thread Chuanqi Xu via cfe-commits
@@ -0,0 +1,355 @@ +//===--- PrerequisiteModulesTests.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-Identifi

[clang-tools-extra] [clangd] [C++20] [Modules] Introduce initial support for C++20 Modules (PR #66462)

2024-07-15 Thread Chuanqi Xu via cfe-commits
@@ -0,0 +1,355 @@ +//===--- PrerequisiteModulesTests.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-Identifi

[clang-tools-extra] [clangd] [C++20] [Modules] Introduce initial support for C++20 Modules (PR #66462)

2024-07-15 Thread Chuanqi Xu via cfe-commits
@@ -0,0 +1,355 @@ +//===--- PrerequisiteModulesTests.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-Identifi

[clang-tools-extra] [clangd] [C++20] [Modules] Introduce initial support for C++20 Modules (PR #66462)

2024-07-15 Thread Chuanqi Xu via cfe-commits
@@ -0,0 +1,355 @@ +//===--- PrerequisiteModulesTests.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-Identifi

[clang-tools-extra] [clangd] [C++20] [Modules] Introduce initial support for C++20 Modules (PR #66462)

2024-07-15 Thread Chuanqi Xu via cfe-commits
@@ -51,6 +52,9 @@ namespace clang { namespace clangd { + +extern llvm::cl::opt ExperimentalModulesSupport; ChuanqiXu9 wrote: Done https://github.com/llvm/llvm-project/pull/66462 ___ cfe-commits mailing list cfe-com

[clang-tools-extra] [clangd] [C++20] [Modules] Introduce initial support for C++20 Modules (PR #66462)

2024-07-16 Thread Chuanqi Xu via cfe-commits
ChuanqiXu9 wrote: @kadircet Comments addressed. Maybe due to some github's issue, my replies are separated and didn't form a standalone list. Hope this won't make it harder. https://github.com/llvm/llvm-project/pull/66462 ___ cfe-commits mailing list

[clang] [Clang] C++20 Coroutines: Introduce Frontend Attribute [[clang::coro_inplace_task]] (PR #98971)

2024-07-16 Thread Chuanqi Xu via cfe-commits
ChuanqiXu9 wrote: Haven't look into the details but just a quick scanning. I feel the name `[[coro_inplace_task]]` is not so good. Since it doesn't happen unconditionally. It happens conditionally. I still want to try to make it clear in the name. I still like names like `[[coro_elide_after_a

[clang] [Clang] C++20 Coroutines: Introduce Frontend Attribute [[clang::coro_inplace_task]] (PR #98971)

2024-07-16 Thread Chuanqi Xu via cfe-commits
ChuanqiXu9 wrote: BTW, it will be better to use stacked PR for this one and https://github.com/llvm/llvm-project/pull/98974. https://github.com/llvm/llvm-project/pull/98971 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.or

[clang] [clang][driver] Support `--precompile` and `-fmodule-*` options in Clang-CL (PR #98761)

2024-07-16 Thread Chuanqi Xu via cfe-commits
@@ -242,7 +242,7 @@ bool types::isCXX(ID Id) { case TY_CXXHUHeader: case TY_PP_CXXHeaderUnit: case TY_ObjCXXHeader: case TY_PP_ObjCXXHeader: - case TY_CXXModule: case TY_PP_CXXModule: + case TY_CXXModule: case TY_PP_CXXModule: case TY_ModuleFile: Chuanq

[clang] [clang][driver] Support `--precompile` and `-fmodule-*` options in Clang-CL (PR #98761)

2024-07-16 Thread Chuanqi Xu via cfe-commits
@@ -1176,12 +1183,12 @@ have ``.cppm`` (or ``.ccm``, ``.cxxm``, ``.c++m``) as the file extension. However, the behavior is inconsistent with other compilers. This is tracked by `#57416 `_. -clang-cl is not compatible with sta

[clang] [clang][driver] Support `--precompile` and `-fmodule-*` options in Clang-CL (PR #98761)

2024-07-16 Thread Chuanqi Xu via cfe-commits
@@ -398,6 +398,13 @@ BMIs cannot be shipped in an archive to create a module library. Instead, the BMIs(``*.pcm``) are compiled into object files(``*.o``) and those object files are added to the archive instead. +clang-cl + + +``clang-cl`` supports the same options as

[clang] [clang][driver] Support `--precompile` and `-fmodule-*` options in Clang-CL (PR #98761)

2024-07-16 Thread Chuanqi Xu via cfe-commits
@@ -242,7 +242,7 @@ bool types::isCXX(ID Id) { case TY_CXXHUHeader: case TY_PP_CXXHeaderUnit: case TY_ObjCXXHeader: case TY_PP_ObjCXXHeader: - case TY_CXXModule: case TY_PP_CXXModule: + case TY_CXXModule: case TY_PP_CXXModule: case TY_ModuleFile: Chuanq

[clang] [clang][driver] Support `--precompile` and `-fmodule-*` options in Clang-CL (PR #98761)

2024-07-16 Thread Chuanqi Xu via cfe-commits
@@ -0,0 +1,65 @@ +// REQUIRES: system-windows + +// RUN: rm -rf %t +// RUN: mkdir -p %t +// RUN: split-file %s %t + +// RUN: %clang_cl /std:c++20 --precompile "%/t/Hello.cppm" "/Fo%/t/Hello.pcm" ChuanqiXu9 wrote: We don't need to do that in the test of Drivers. W

[clang] [llvm] [LLVM][Coroutines] Perform HALO on "coro_must_elide" coroutines (PR #98974)

2024-07-16 Thread Chuanqi Xu via cfe-commits
ChuanqiXu9 wrote: It looks like the diff has some problems (it contains clang's change). And how do you think about the suggestion to split the middle end patch? https://github.com/llvm/llvm-project/pull/98974 ___ cfe-commits mailing list cfe-commits@

[clang] [llvm] [LLVM][Coroutines] Perform HALO on "coro_must_elide" coroutines (PR #98974)

2024-07-16 Thread Chuanqi Xu via cfe-commits
ChuanqiXu9 wrote: > @ChuanqiXu9 > > I was trying to find a stack review solution. See > https://reviewstack.dev/llvm/llvm-project/pull/98974 > > You can compare between commits on this UI. What's the stacked PRs approach > you were talking about? For example, you have 2 patches A and B, and

[clang-tools-extra] [clangd] [C++20] [Modules] Introduce initial support for C++20 Modules (PR #66462)

2024-07-16 Thread Chuanqi Xu via cfe-commits
@@ -0,0 +1,199 @@ +//===-- ProjectModules.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

[clang-tools-extra] [clangd] [C++20] [Modules] Introduce initial support for C++20 Modules (PR #66462)

2024-07-16 Thread Chuanqi Xu via cfe-commits
@@ -318,6 +309,10 @@ bool StandalonePrerequisiteModules::canReuse( Clang.getHeaderSearchOpts().ForceCheckCXX20ModulesInputFiles = true; Clang.getHeaderSearchOpts().ValidateASTInputFilesContent = true; + // Following the practice of clang's driver to suppres the checking f

[clang-tools-extra] [clangd] [C++20] [Modules] Introduce initial support for C++20 Modules (PR #66462)

2024-07-16 Thread Chuanqi Xu via cfe-commits
@@ -0,0 +1,335 @@ +//===- ModulesBuilder.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: Ap

[clang-tools-extra] [clangd] [C++20] [Modules] Introduce initial support for C++20 Modules (PR #66462)

2024-07-16 Thread Chuanqi Xu via cfe-commits
@@ -0,0 +1,411 @@ +//===--- PrerequisiteModulesTests.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-Identifi

[clang-tools-extra] [clangd] [C++20] [Modules] Introduce initial support for C++20 Modules (PR #66462)

2024-07-16 Thread Chuanqi Xu via cfe-commits
@@ -0,0 +1,335 @@ +//===- ModulesBuilder.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: Ap

[clang-tools-extra] [clangd] [C++20] [Modules] Introduce initial support for C++20 Modules (PR #66462)

2024-07-16 Thread Chuanqi Xu via cfe-commits
@@ -0,0 +1,335 @@ +//===- ModulesBuilder.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: Ap

[clang-tools-extra] [clangd] [C++20] [Modules] Introduce initial support for C++20 Modules (PR #66462)

2024-07-16 Thread Chuanqi Xu via cfe-commits
@@ -0,0 +1,335 @@ +//===- ModulesBuilder.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: Ap

[clang-tools-extra] [clangd] [C++20] [Modules] Introduce initial support for C++20 Modules (PR #66462)

2024-07-16 Thread Chuanqi Xu via cfe-commits
@@ -0,0 +1,335 @@ +//===- ModulesBuilder.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: Ap

[clang-tools-extra] [clangd] [C++20] [Modules] Introduce initial support for C++20 Modules (PR #66462)

2024-07-16 Thread Chuanqi Xu via cfe-commits
@@ -0,0 +1,335 @@ +//===- ModulesBuilder.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: Ap

[clang-tools-extra] [clangd] [C++20] [Modules] Introduce initial support for C++20 Modules (PR #66462)

2024-07-16 Thread Chuanqi Xu via cfe-commits
ChuanqiXu9 wrote: > thanks a lot, LGTM! > > i think the only big item remaining is injecting resource-dir correctly when > running clang-scan-deps. > > the most important follow up (for functionality, rather than optimizations > and usability) is indexing the PCMs as we build them (similar to

<    9   10   11   12   13   14   15   16   17   18   >