[clang] [C++20] [Modules] Don't record implicitly declarations to BMI by default (PR #93459)

2024-05-27 Thread Chuanqi Xu via cfe-commits
https://github.com/ChuanqiXu9 created https://github.com/llvm/llvm-project/pull/93459 I found we may insert unused implciit declarations like AArch SVE declarations by default on AArch64 due to we will insert that by default. But it should be completely redundant and this patch tries to

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

2024-05-27 Thread Chuanqi Xu via cfe-commits
ChuanqiXu9 wrote: Thanks for reviewing : ) 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

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

2024-05-27 Thread Chuanqi Xu via cfe-commits
@@ -111,6 +109,28 @@ void *Decl::operator new(std::size_t Size, const ASTContext , return ::operator new(Size + Extra, Ctx); } +GlobalDeclID Decl::getGlobalID() const { + if (!isFromASTFile()) +return GlobalDeclID(); + uint64_t ID = *((const uint64_t *)this - 1);

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

2024-05-27 Thread Chuanqi Xu via cfe-commits
@@ -7802,20 +7800,31 @@ Decl *ASTReader::GetDecl(GlobalDeclID ID) { LocalDeclID ASTReader::mapGlobalIDToModuleFileGlobalID(ModuleFile , GlobalDeclID GlobalID) { - DeclID ID = GlobalID.get(); - if (ID <

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

2024-05-27 Thread Chuanqi Xu via cfe-commits
@@ -255,6 +255,12 @@ class DeclOffset { } }; +// The unaligned decl ID used in the Blobs of bistreams. +using unalighed_decl_id_t = ChuanqiXu9 wrote: Nice catch! Done in https://github.com/llvm/llvm-project/commit/e73e4951b20c70f24354e2a2820876c818dcaee3

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

2024-05-27 Thread Chuanqi Xu via cfe-commits
@@ -124,6 +130,15 @@ class DeclIDBase { bool isInvalid() const { return ID == PREDEF_DECL_NULL_ID; } + unsigned getModuleFileIndex() const { return ID >> 32; } + + unsigned getLocalDeclIndex() const { +// Implement it directly instead of calling

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

2024-05-27 Thread Chuanqi Xu via cfe-commits
https://github.com/ChuanqiXu9 updated https://github.com/llvm/llvm-project/pull/92083 >From 8b7a650e128d6f2bfec9b0768169cf4aaa4af337 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] b590ba7 - [NFC] Rename 'DependentModules' in ModuleFile to `TransitiveImports`

2024-05-26 Thread Chuanqi Xu via cfe-commits
Author: Chuanqi Xu Date: 2024-05-27T13:53:38+08:00 New Revision: b590ba73a76609bace9949ea8195d2ee8213cb3f URL: https://github.com/llvm/llvm-project/commit/b590ba73a76609bace9949ea8195d2ee8213cb3f DIFF: https://github.com/llvm/llvm-project/commit/b590ba73a76609bace9949ea8195d2ee8213cb3f.diff

[clang] e73e495 - [NFC] Fix typo unalighed_decl_id_t

2024-05-26 Thread Chuanqi Xu via cfe-commits
Author: Chuanqi Xu Date: 2024-05-27T13:48:00+08:00 New Revision: e73e4951b20c70f24354e2a2820876c818dcaee3 URL: https://github.com/llvm/llvm-project/commit/e73e4951b20c70f24354e2a2820876c818dcaee3 DIFF: https://github.com/llvm/llvm-project/commit/e73e4951b20c70f24354e2a2820876c818dcaee3.diff

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

2024-05-26 Thread Chuanqi Xu via cfe-commits
ChuanqiXu9 wrote: Oh, I don't know why I didn't get this in files page so I missed this. But since we can't get rid of writing/reading the modules actually in `ModulesBuilder` (Or it is pretty hard). Then it looks not so worthy to introduce the layer.

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

2024-05-26 Thread Chuanqi Xu via cfe-commits
@@ -0,0 +1,339 @@ +//===- 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:

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

2024-05-26 Thread Chuanqi Xu via cfe-commits
@@ -0,0 +1,62 @@ +//===-- 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:

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

2024-05-26 Thread Chuanqi Xu via cfe-commits
@@ -0,0 +1,339 @@ +//===- 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:

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

2024-05-26 Thread Chuanqi Xu via cfe-commits
@@ -0,0 +1,71 @@ +//===- 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:

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

2024-05-26 Thread Chuanqi Xu via cfe-commits
@@ -0,0 +1,71 @@ +//===- 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:

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

2024-05-26 Thread Chuanqi Xu via 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:

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

2024-05-26 Thread Chuanqi Xu via cfe-commits
@@ -0,0 +1,339 @@ +//===- 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:

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

2024-05-26 Thread Chuanqi Xu via cfe-commits
https://github.com/ChuanqiXu9 commented: Thanks for reviewing. It makes the code looks better indeed. https://github.com/llvm/llvm-project/pull/66462 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

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

2024-05-26 Thread Chuanqi Xu via cfe-commits
@@ -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:

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

2024-05-26 Thread Chuanqi Xu via 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:

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

2024-05-26 Thread Chuanqi Xu via 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:

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

2024-05-26 Thread Chuanqi Xu via 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:

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

2024-05-26 Thread Chuanqi Xu via 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:

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

2024-05-26 Thread Chuanqi Xu via cfe-commits
@@ -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:

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

2024-05-26 Thread Chuanqi Xu via cfe-commits
@@ -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; +

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

2024-05-26 Thread Chuanqi Xu via 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:

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

2024-05-26 Thread Chuanqi Xu via 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:

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

2024-05-26 Thread Chuanqi Xu via cfe-commits
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

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

2024-05-26 Thread Chuanqi Xu via 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:

[clang] [clang-tools-extra] [libcxx] [lldb] [llvm] Add clang basic module directory (PR #93388)

2024-05-26 Thread Chuanqi Xu via cfe-commits
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

[clang] [clang-tools-extra] [libcxx] [clang][Modules] Remove unnecessary includes of `Module.h` (PR #93417)

2024-05-26 Thread Chuanqi Xu via cfe-commits
@@ -159,7 +159,8 @@ class APINotesManager { ArrayRef getCurrentModuleReaders() const { bool HasPublic = CurrentModuleReaders[ReaderKind::Public]; bool HasPrivate = CurrentModuleReaders[ReaderKind::Private]; -assert((!HasPrivate || HasPublic) && "private module

[clang] [clang-tools-extra] [libcxx] [lldb] [llvm] Add clang basic module directory (PR #93388)

2024-05-25 Thread Chuanqi Xu via cfe-commits
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

[clang] [clang-tools-extra] [libcxx] [lldb] [llvm] Add clang basic module directory (PR #93388)

2024-05-25 Thread Chuanqi Xu via 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 ___

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

2024-05-24 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

[clang] [Coroutines] Allow [[clang::coro_wrapper]] for class (PR #93268)

2024-05-23 Thread Chuanqi Xu via cfe-commits
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

[clang] [clang][driver] Support `-x` for all languages in CL mode (PR #89772)

2024-05-23 Thread Chuanqi Xu via cfe-commits
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

[clang] [llvm] [coro] Lower `llvm.coro.await.suspend.handle` to resume with tail call (PR #89751)

2024-05-23 Thread Chuanqi Xu via 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

[clang] [llvm] [coro] Lower `llvm.coro.await.suspend.handle` to resume with tail call (PR #89751)

2024-05-23 Thread Chuanqi Xu via cfe-commits
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

[clang] [llvm] [coro] Lower `llvm.coro.await.suspend.handle` to resume with tail call (PR #89751)

2024-05-23 Thread Chuanqi Xu via cfe-commits
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 +++

[clang] [llvm] [coro] Lower `llvm.coro.await.suspend.handle` to resume with tail call (PR #89751)

2024-05-23 Thread Chuanqi Xu via cfe-commits
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

[clang] [clang] Fix self-capturing `__block` variables (PR #89475)

2024-05-22 Thread Chuanqi Xu via cfe-commits
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

[clang] [clang-tools-extra] [clang] NFCI: use TemplateArgumentLoc for NTTP DefaultArgument (PR #92852)

2024-05-20 Thread Chuanqi Xu via 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 ()

[clang] [clang-tools-extra] [clang] NFCI: use TemplateArgumentLoc for NTTP DefaultArgument (PR #92852)

2024-05-20 Thread Chuanqi Xu via cfe-commits
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

[clang] [clang-tools-extra] [clang] NFCI: use TemplateArgumentLoc for NTTP DefaultArgument (PR #92852)

2024-05-20 Thread Chuanqi Xu via 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

[clang] d316a0b - [NFC] Remove unused ASTWriter::getTypeID

2024-05-19 Thread Chuanqi Xu via cfe-commits
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

[clang] [Serialization] Read the initializer for interesting static variables before consuming it (PR #92353)

2024-05-19 Thread Chuanqi Xu via cfe-commits
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

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

2024-05-19 Thread Chuanqi Xu via 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

[clang] [clang] Introduce `SemaCoroutine` (PR #92645)

2024-05-19 Thread Chuanqi Xu via 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

[clang] [Serialization] Read the initializer for interesting static variables before consuming it (PR #92353)

2024-05-16 Thread Chuanqi Xu via cfe-commits
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

[clang] [Serialization] Read the initializer for interesting static variables before consuming it (PR #92353)

2024-05-16 Thread Chuanqi Xu via cfe-commits
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

[clang] [Serialization] Read the initializer for interesting static variables before consuming it (PR #92353)

2024-05-16 Thread Chuanqi Xu via cfe-commits
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

[clang] [Serialization] Read the initializer for interesting static variables before consuming it (PR #92353)

2024-05-16 Thread Chuanqi Xu via cfe-commits
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

[clang] 3c2638d - Revert "[Serialization] Read the initializer for interesting static variables before consuming it (#92218)"

2024-05-15 Thread Chuanqi Xu via cfe-commits
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

[clang] [Serialization] Read the initializer for interesting static variables before consuming it (PR #92218)

2024-05-15 Thread Chuanqi Xu via cfe-commits
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

[clang] [clang-tools-extra] [compiler-rt] [lldb] [llvm] [mlir] [openmp] [polly] fix(python): fix comparison to None (PR #91857)

2024-05-15 Thread Chuanqi Xu via 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

[clang] [Serialization] Read the initializer for interesting static variables before consuming it (PR #92218)

2024-05-15 Thread Chuanqi Xu via 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

[clang] [Serialization] Read the initializer for interesting static variables before consuming it (PR #92218)

2024-05-14 Thread Chuanqi Xu via 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

[clang] 11b0591 - [Serialization] Read the initializer for interesting static variables before consuming it

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

[clang] [llvm] [coro] Lower `llvm.coro.await.suspend.handle` to resume with tail call (PR #89751)

2024-05-14 Thread Chuanqi Xu via cfe-commits
@@ -206,14 +210,37 @@ static void lowerAwaitSuspend(IRBuilder<> , CoroAwaitSuspendInst *CB) { llvm_unreachable("Unexpected coro_await_suspend invocation method"); } + if (CB->getCalledFunction()->getIntrinsicID() == + Intrinsic::coro_await_suspend_handle) { +

[clang] [llvm] [coro] Lower `llvm.coro.await.suspend.handle` to resume with tail call (PR #89751)

2024-05-14 Thread Chuanqi Xu via cfe-commits
@@ -206,14 +210,37 @@ static void lowerAwaitSuspend(IRBuilder<> , CoroAwaitSuspendInst *CB) { llvm_unreachable("Unexpected coro_await_suspend invocation method"); } + if (CB->getCalledFunction()->getIntrinsicID() == + Intrinsic::coro_await_suspend_handle) { +

[clang] [llvm] [coro] Lower `llvm.coro.await.suspend.handle` to resume with tail call (PR #89751)

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

[clang] [llvm] [coro] Lower `llvm.coro.await.suspend.handle` to resume with tail call (PR #89751)

2024-05-14 Thread Chuanqi Xu via 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

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

2024-05-13 Thread Chuanqi Xu via 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

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

2024-05-13 Thread Chuanqi Xu via cfe-commits
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] e74a34b - [NFC] [Serialization] Merge IdentID with IdentifierID

2024-05-13 Thread Chuanqi Xu via cfe-commits
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

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

2024-05-12 Thread Chuanqi Xu via 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

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

2024-05-12 Thread Chuanqi Xu via 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

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

2024-05-12 Thread Chuanqi Xu via 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

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

2024-05-12 Thread Chuanqi Xu via 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,

[clang] [Coro] Relax a debug-info test (PR #91401)

2024-05-07 Thread Chuanqi Xu via cfe-commits
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

[clang] Revise the modules document for clarity (PR #90237)

2024-05-07 Thread Chuanqi Xu via 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

[clang] Revise the modules document for clarity (PR #90237)

2024-05-07 Thread Chuanqi Xu via 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

[clang] Revise the modules document for clarity (PR #90237)

2024-05-07 Thread Chuanqi Xu via cfe-commits
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

[clang] Revise the modules document for clarity (PR #90237)

2024-05-07 Thread Chuanqi Xu via 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

[clang] ad9f38d - [NFC] Fix Modules/no-transitive-source-location-change.cppm after dfa7ff97b2

2024-05-06 Thread Chuanqi Xu via cfe-commits
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

[clang] dfa7ff9 - [C++20] [Modules] [Reduced BMI] Combine the signature of used modules

2024-05-06 Thread Chuanqi Xu via cfe-commits
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

[clang] f9d7619 - [ASTContext] Profile Dependently-sized array types that do not have a specified number

2024-05-06 Thread Chuanqi Xu via cfe-commits
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

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

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

[clang] 947b062 - Reland "[Modules] No transitive source location change (#86912)"

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

[clang] cc1: Report an error for multiple actions unless separated by -main-file-name (PR #91140)

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

[clang] [clang][driver] Support `-x` for all languages in CL mode (PR #89772)

2024-05-05 Thread Chuanqi Xu via 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

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

2024-05-01 Thread Chuanqi Xu via cfe-commits
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

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

2024-04-30 Thread Chuanqi Xu via 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 >

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

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

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

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

[clang] d333a0d - Revert "[Modules] No transitive source location change (#86912)"

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

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

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

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

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

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

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

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

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

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

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

[clang] 10aab63 - [NFC] [tests] Don't try to remove and create the same directory

2024-04-30 Thread Chuanqi Xu via 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

[clang] [NFC] [C++20] [Modules] Use new class CXX20ModulesGenerator to genera… (PR #90570)

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

[clang] [NFC] [C++20] [Modules] Use new class CXX20ModulesGenerator to genera… (PR #90570)

2024-04-30 Thread Chuanqi Xu via 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

[clang] b2b463b - [C++20] [Modules] Add signature to the BMI recording export imported

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

[clang] [NFC] [C++20] [Modules] Use new class CXX20ModulesGenerator to genera… (PR #90570)

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

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

2024-04-30 Thread Chuanqi Xu via 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

[clang] [NFC] [C++20] [Modules] Use new class CXX20ModulesGenerator to genera… (PR #90570)

2024-04-30 Thread Chuanqi Xu via 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

[clang] [NFC] [C++20] [Modules] Use new class CXX20ModulesGenerator to genera… (PR #90570)

2024-04-30 Thread Chuanqi Xu via 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

[clang] ec527b2 - [C++20] [Modules] Don't skip pragma diagnostic mappings

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

  1   2   3   4   5   6   7   8   9   10   >