[llvm-branch-commits] [clang] [Serialization] Code cleanups and polish 83233 (PR #83237)

2024-08-26 Thread Chuanqi Xu via llvm-branch-commits
https://github.com/ChuanqiXu9 updated https://github.com/llvm/llvm-project/pull/83237 >From f2e53e44eebab4720a1dbade24fcb14d698fb03f Mon Sep 17 00:00:00 2001 From: Chuanqi Xu Date: Wed, 28 Feb 2024 11:41:53 +0800 Subject: [PATCH 1/4] [Serialization] Code cleanups and polish 83233 --- clang/in

[llvm-branch-commits] [clang] [Serialization] Code cleanups and polish 83233 (PR #83237)

2024-08-26 Thread Chuanqi Xu via llvm-branch-commits
ChuanqiXu9 wrote: > Here is the reproducer. Like before, builds at head and fails with the patch > applied. After unpacking the archive just run > > ``` > $ CLANGPP= ./build.sh > ``` > > Note the comment in `build.sh` about the system libc++ required for it > (libc++ 17 worked, 15 and 16 did

[llvm-branch-commits] [clang] [Serialization] Code cleanups and polish 83233 (PR #83237)

2024-08-28 Thread Chuanqi Xu via llvm-branch-commits
https://github.com/ChuanqiXu9 updated https://github.com/llvm/llvm-project/pull/83237 >From f2e53e44eebab4720a1dbade24fcb14d698fb03f Mon Sep 17 00:00:00 2001 From: Chuanqi Xu Date: Wed, 28 Feb 2024 11:41:53 +0800 Subject: [PATCH 1/6] [Serialization] Code cleanups and polish 83233 --- clang/in

[llvm-branch-commits] [clang] [Serialization] Code cleanups and polish 83233 (PR #83237)

2024-08-28 Thread Chuanqi Xu via llvm-branch-commits
ChuanqiXu9 wrote: I think now I understand the problem. The root cause happens in https://github.com/llvm/llvm-project/blob/175aa864f33786f3a6a4ee7381cbcafd0758501a/clang/lib/Serialization/MultiOnDiskHashTable.h#L329 The description in () is optional. You can skip it if you're not interested it

[llvm-branch-commits] [clang] [Serialization] Code cleanups and polish 83233 (PR #83237)

2024-08-28 Thread Chuanqi Xu via llvm-branch-commits
@@ -1827,6 +1833,12 @@ void ASTDeclWriter::VisitVarTemplateDecl(VarTemplateDecl *D) { void ASTDeclWriter::VisitVarTemplateSpecializationDecl( VarTemplateSpecializationDecl *D) { + // FIXME: We need to load the "logical" first declaration before writing + // the Redeclar

[llvm-branch-commits] [llvm] [LLVM][Coroutines] Create `.noalloc` variant of switch ABI coroutine ramp functions during CoroSplit (PR #99283)

2024-08-28 Thread Chuanqi Xu via llvm-branch-commits
https://github.com/ChuanqiXu9 commented: The patch looks good to me except the thing I mentioned in https://github.com/llvm/llvm-project/pull/99282#pullrequestreview-2265588601 https://github.com/llvm/llvm-project/pull/99283 ___ llvm-branch-commits ma

[llvm-branch-commits] [llvm] [LLVM][Coroutines] Create `.noalloc` variant of switch ABI coroutine ramp functions during CoroSplit (PR #99283)

2024-08-28 Thread Chuanqi Xu via llvm-branch-commits
https://github.com/ChuanqiXu9 edited https://github.com/llvm/llvm-project/pull/99283 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

[llvm-branch-commits] [llvm] [LLVM][Coroutines] Create `.noalloc` variant of switch ABI coroutine ramp functions during CoroSplit (PR #99283)

2024-08-28 Thread Chuanqi Xu via llvm-branch-commits
@@ -1455,6 +1462,74 @@ struct SwitchCoroutineSplitter { setCoroInfo(F, Shape, Clones); } + // Create a variant of ramp function that does not perform heap allocation + // for a switch ABI coroutine. + // + // The newly split `.noalloc` ramp function has the following

[llvm-branch-commits] [llvm] [LLVM][Coroutines] Create `.noalloc` variant of switch ABI coroutine ramp functions during CoroSplit (PR #99283)

2024-08-28 Thread Chuanqi Xu via llvm-branch-commits
@@ -1455,6 +1462,74 @@ struct SwitchCoroutineSplitter { setCoroInfo(F, Shape, Clones); } + // Create a variant of ramp function that does not perform heap allocation + // for a switch ABI coroutine. + // + // The newly split `.noalloc` ramp function has the following

[llvm-branch-commits] [llvm] [LLVM][Coroutines] Create `.noalloc` variant of switch ABI coroutine ramp functions during CoroSplit (PR #99283)

2024-08-28 Thread Chuanqi Xu via llvm-branch-commits
@@ -26,6 +26,10 @@ bool declaresIntrinsics(const Module &M, const std::initializer_list); void replaceCoroFree(CoroIdInst *CoroId, bool Elide); +void suppressCoroAllocs(CoroIdInst *CoroId); ChuanqiXu9 wrote: Let's add some comments for

[llvm-branch-commits] [llvm] [LLVM][Coroutines] Create `.noalloc` variant of switch ABI coroutine ramp functions during CoroSplit (PR #99283)

2024-08-28 Thread Chuanqi Xu via llvm-branch-commits
@@ -2049,6 +2055,21 @@ the coroutine must reach the final suspend point when it get destroyed. This attribute only works for switched-resume coroutines now. +coro_elide_safe +--- + +When a Call or Invoke instruction is marked with `coro_elide_safe`, +CoroAnnotati

[llvm-branch-commits] [llvm] [LLVM][Coroutines] Transform "coro_elide_safe" calls to switch ABI coroutines to the `noalloc` variant (PR #99285)

2024-08-28 Thread Chuanqi Xu via llvm-branch-commits
@@ -0,0 +1,147 @@ +//===- CoroAnnotationElide.cpp - Elide attributed safe coroutine calls ===// +// +// 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

[llvm-branch-commits] [llvm] [LLVM][Coroutines] Transform "coro_elide_safe" calls to switch ABI coroutines to the `noalloc` variant (PR #99285)

2024-08-28 Thread Chuanqi Xu via llvm-branch-commits
@@ -0,0 +1,147 @@ +//===- CoroAnnotationElide.cpp - Elide attributed safe coroutine calls ===// +// +// 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

[llvm-branch-commits] [llvm] [LLVM][Coroutines] Transform "coro_elide_safe" calls to switch ABI coroutines to the `noalloc` variant (PR #99285)

2024-08-28 Thread Chuanqi Xu via llvm-branch-commits
@@ -0,0 +1,147 @@ +//===- CoroAnnotationElide.cpp - Elide attributed safe coroutine calls ===// +// +// 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

[llvm-branch-commits] [llvm] [LLVM][Coroutines] Transform "coro_elide_safe" calls to switch ABI coroutines to the `noalloc` variant (PR #99285)

2024-08-28 Thread Chuanqi Xu via llvm-branch-commits
@@ -0,0 +1,147 @@ +//===- CoroAnnotationElide.cpp - Elide attributed safe coroutine calls ===// +// +// 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

[llvm-branch-commits] [llvm] [LLVM][Coroutines] Transform "coro_elide_safe" calls to switch ABI coroutines to the `noalloc` variant (PR #99285)

2024-08-28 Thread Chuanqi Xu via llvm-branch-commits
https://github.com/ChuanqiXu9 edited https://github.com/llvm/llvm-project/pull/99285 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

[llvm-branch-commits] [llvm] [LLVM][Coroutines] Transform "coro_elide_safe" calls to switch ABI coroutines to the `noalloc` variant (PR #99285)

2024-08-28 Thread Chuanqi Xu via llvm-branch-commits
@@ -0,0 +1,147 @@ +//===- CoroAnnotationElide.cpp - Elide attributed safe coroutine calls ===// +// +// 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

[llvm-branch-commits] [llvm] [LLVM][Coroutines] Create `.noalloc` variant of switch ABI coroutine ramp functions during CoroSplit (PR #99283)

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

[llvm-branch-commits] [llvm] [LLVM][Coroutines] Transform "coro_elide_safe" calls to switch ABI coroutines to the `noalloc` variant (PR #99285)

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

[llvm-branch-commits] [clang] release/19.x: [C++20] [Modules] Don't insert class not in named modules to PendingEmittingVTables (#106501) (PR #106504)

2024-08-29 Thread Chuanqi Xu via llvm-branch-commits
ChuanqiXu9 wrote: Very sorry that I failed to count https://github.com/llvm/llvm-project/issues/102933 as a regression support initially. I thought it was other problems. My bad. And back to the issue itself, it shows that the fix is pretty simple and it is majorly an oversight in the develop

[llvm-branch-commits] [clang] [Serialization] Code cleanups and polish 83233 (PR #83237)

2024-09-08 Thread Chuanqi Xu via llvm-branch-commits
ChuanqiXu9 wrote: > > what the code does is: when we write a on-disk hash table, try to write the > > imported merged hash table in the same process so that we don't need to > > read these tables again. However, in line 329 the function will try to omit > > the data from imported table with th

[llvm-branch-commits] [clang] [Serialization] Code cleanups and polish 83233 (PR #83237)

2024-09-08 Thread Chuanqi Xu via llvm-branch-commits
ChuanqiXu9 wrote: > > what the code does is: when we write a on-disk hash table, try to write the > > imported merged hash table in the same process so that we don't need to > > read these tables again. However, in line 329 the function will try to omit > > the data from imported table with th

[llvm-branch-commits] [llvm] c1bc798 - [Coroutine] Remain alignment information when merging frame variables

2021-01-20 Thread Chuanqi Xu via llvm-branch-commits
Author: Chuanqi Xu Date: 2021-01-20T18:59:00+08:00 New Revision: c1bc7981babcae20247650a4b8adab9c0c97890a URL: https://github.com/llvm/llvm-project/commit/c1bc7981babcae20247650a4b8adab9c0c97890a DIFF: https://github.com/llvm/llvm-project/commit/c1bc7981babcae20247650a4b8adab9c0c97890a.diff LO

[llvm-branch-commits] [clang] 8b48d24 - [clang-format] Recognize c++ coroutine keywords as unary operator to avoid misleading pointer alignment

2020-12-15 Thread Chuanqi Xu via llvm-branch-commits
Author: Chuanqi Xu Date: 2020-12-15T20:50:46+08:00 New Revision: 8b48d24373204fc2fe6aac1f1f850fa3b6c18445 URL: https://github.com/llvm/llvm-project/commit/8b48d24373204fc2fe6aac1f1f850fa3b6c18445 DIFF: https://github.com/llvm/llvm-project/commit/8b48d24373204fc2fe6aac1f1f850fa3b6c18445.diff LO

[llvm-branch-commits] [clang] [Serialization] Code cleanups and polish 83233 (PR #83237)

2024-10-07 Thread Chuanqi Xu via llvm-branch-commits
ChuanqiXu9 wrote: @ilya-biryukov gentle ping~ https://github.com/llvm/llvm-project/pull/83237 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

[llvm-branch-commits] [clang] [Serialization] Code cleanups and polish 83233 (PR #83237)

2024-10-20 Thread Chuanqi Xu via llvm-branch-commits
ChuanqiXu9 wrote: > We've hit only one correctness issue that we don't yet have a reproducer for, > but it gives this error: > > ```shell > Eigen/.../plugins/CommonCwiseBinaryOps.inc:47:29: error: inline function > 'Eigen::operator*' is not defined [-Werror,-Wundefined-inline] > ``` > > I'll

[llvm-branch-commits] [clang] [Serialization] Code cleanups and polish 83233 (PR #83237)

2024-10-16 Thread Chuanqi Xu via llvm-branch-commits
https://github.com/ChuanqiXu9 updated https://github.com/llvm/llvm-project/pull/83237 >From 5df9f526236cff3b2212088bf6bf52c6802044e2 Mon Sep 17 00:00:00 2001 From: Chuanqi Xu Date: Wed, 28 Feb 2024 11:41:53 +0800 Subject: [PATCH] [Serialization] Code cleanups and polish 83233 fmt load special

[llvm-branch-commits] [clang] [Serialization] Introduce OnDiskHashTable for specializations (PR #83233)

2024-10-16 Thread Chuanqi Xu via llvm-branch-commits
https://github.com/ChuanqiXu9 updated https://github.com/llvm/llvm-project/pull/83233 >From b61bcaafa3700b0797772df58710158eb44eaa69 Mon Sep 17 00:00:00 2001 From: Chuanqi Xu Date: Wed, 28 Feb 2024 11:41:53 +0800 Subject: [PATCH] [Serialization] Introduce OnDiskHashTable for specializations Fo

[llvm-branch-commits] [clang] [Serialization] Code cleanups and polish 83233 (PR #83237)

2024-10-16 Thread Chuanqi Xu via llvm-branch-commits
ChuanqiXu9 wrote: > There were some merge conflicts with main, I've managed to resolve them to > this: https://github.com/ilya-biryukov/llvm-project/tree/pr83237_merged > > I am now trying to bootstrap the compiler with that version, but it would be > useful if someone rebased this PR against

[llvm-branch-commits] [clang] [Serialization] Code cleanups and polish 83233 (PR #83237)

2024-10-22 Thread Chuanqi Xu via llvm-branch-commits
ChuanqiXu9 wrote: > @usx95 may be able to help with the reproducer. > > In the meantime, I'm trying to collect some information on the compile times. > So far it looks like we have a ~10-15x compile time regression on some > translation units. Without this patch `-ftime-report` shows: > > ```

[llvm-branch-commits] [clang] [Serialization] Code cleanups and polish 83233 (PR #83237)

2024-10-22 Thread Chuanqi Xu via llvm-branch-commits
ChuanqiXu9 wrote: I tried to take a look at eigen and it looks like the declaration looks well and I had no clue how that happens. A reproducer may be necessary here to proceed. Thanks in advance. https://github.com/llvm/llvm-project/pull/83237 ___ l

[llvm-branch-commits] [clang] [Serialization] Code cleanups and polish 83233 (PR #83237)

2024-10-30 Thread Chuanqi Xu via llvm-branch-commits
ChuanqiXu9 wrote: > > I tried to take a look at eigen and it looks like the declaration looks > > well and I had no clue how that happens. A reproducer may be necessary here > > to proceed. Thanks in advance. > > I can reproduce using the following sources and invocations outlined in > `run.s

[llvm-branch-commits] [clang] [Serialization] Code cleanups and polish 83233 (PR #83237)

2024-10-28 Thread Chuanqi Xu via llvm-branch-commits
ChuanqiXu9 wrote: > > I tried to take a look at eigen and it looks like the declaration looks > > well and I had no clue how that happens. A reproducer may be necessary here > > to proceed. Thanks in advance. > > I can reproduce using the following sources and invocations outlined in > `run.s

[llvm-branch-commits] [clang] release/19.x: [C++20] [Modules] Fix the duplicated static initializer problem (#114193) (PR #114197)

2024-11-12 Thread Chuanqi Xu via llvm-branch-commits
ChuanqiXu9 wrote: > @ChuanqiXu9 is this one ready to be merged? Yes, I believe this is ready to be merged. https://github.com/llvm/llvm-project/pull/114197 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/

[llvm-branch-commits] [clang] release/19.x: [C++20] [Modules] Treat in class defined member functions in language linkage as implicitly inline (PR #109077)

2024-09-23 Thread Chuanqi Xu via llvm-branch-commits
https://github.com/ChuanqiXu9 approved this pull request. https://github.com/llvm/llvm-project/pull/109077 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

[llvm-branch-commits] [clang] release/19.x: [C++20] [Modules] Treat constexpr/consteval member function as implicitly inline (PR #109076)

2024-09-23 Thread Chuanqi Xu via llvm-branch-commits
ChuanqiXu9 wrote: > @ChuanqiXu9 this looks safe enough to be picked. Does the PR look fine to you? Yes, I'll try to approve it formally. https://github.com/llvm/llvm-project/pull/109076 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.ll

[llvm-branch-commits] [clang] release/19.x: [C++20] [Modules] Treat constexpr/consteval member function as implicitly inline (PR #109076)

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

[llvm-branch-commits] [clang] release/19.x: [C++20] [Modules] Treat in class defined member functions in language linkage as implicitly inline (PR #109077)

2024-09-24 Thread Chuanqi Xu via llvm-branch-commits
ChuanqiXu9 wrote: > If you can put up another patch I'll just wait with reverting. trying : ) https://github.com/llvm/llvm-project/pull/109077 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailm

[llvm-branch-commits] [clang] [Serialization] Code cleanups and polish 83233 (PR #83237)

2024-09-24 Thread Chuanqi Xu via llvm-branch-commits
https://github.com/ChuanqiXu9 updated https://github.com/llvm/llvm-project/pull/83237 >From f2e53e44eebab4720a1dbade24fcb14d698fb03f Mon Sep 17 00:00:00 2001 From: Chuanqi Xu Date: Wed, 28 Feb 2024 11:41:53 +0800 Subject: [PATCH 1/7] [Serialization] Code cleanups and polish 83233 --- clang/in

[llvm-branch-commits] [clang] [C++20] [Modules] Add Decl::isFromGlobalModule (PR #109762)

2024-09-24 Thread Chuanqi Xu via llvm-branch-commits
https://github.com/ChuanqiXu9 updated https://github.com/llvm/llvm-project/pull/109762 >From 4c51d827e58aaa8c5b3d75b3b61a43627ab53491 Mon Sep 17 00:00:00 2001 From: Chuanqi Xu Date: Tue, 24 Sep 2024 15:37:02 +0800 Subject: [PATCH] [C++20] [Modules] Add Decl::isFromGlobalModule --- clang/inclu

[llvm-branch-commits] [clang] [Serialization] Code cleanups and polish 83233 (PR #83237)

2024-09-24 Thread Chuanqi Xu via llvm-branch-commits
ChuanqiXu9 wrote: @ilya-biryukov thanks for the high quality reproducer! I've reproduced it and fixed it in the newest commit. The root cause of the failure is the same with the last time: merging specializations with the same key. The previous fix is not clear since, I just found, the underl

[llvm-branch-commits] [clang] release/19.x: [C++20] [Modules] Treat in class defined member functions in language linkage as implicitly inline (PR #109077)

2024-09-24 Thread Chuanqi Xu via llvm-branch-commits
ChuanqiXu9 wrote: Oh, maybe some implicit conflicts. I'll add one manually https://github.com/llvm/llvm-project/pull/109077 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bra

[llvm-branch-commits] [clang] 4c51d82 - [C++20] [Modules] Add Decl::isFromGlobalModule

2024-09-24 Thread Chuanqi Xu via llvm-branch-commits
Author: Chuanqi Xu Date: 2024-09-24T15:41:11+08:00 New Revision: 4c51d827e58aaa8c5b3d75b3b61a43627ab53491 URL: https://github.com/llvm/llvm-project/commit/4c51d827e58aaa8c5b3d75b3b61a43627ab53491 DIFF: https://github.com/llvm/llvm-project/commit/4c51d827e58aaa8c5b3d75b3b61a43627ab53491.diff LO

[llvm-branch-commits] [clang] [Serialization] Code cleanups and polish 83233 (PR #83237)

2024-10-23 Thread Chuanqi Xu via llvm-branch-commits
ChuanqiXu9 wrote: @alexfh thank you very much! @vgvassilev but we have to provide similar mechanism, so it is allowed to get all the specializations for a templated decl. https://github.com/llvm/llvm-project/pull/83237 ___ llvm-branch-commits mailing

[llvm-branch-commits] [clang] [Serialization] Code cleanups and polish 83233 (PR #83237)

2024-10-24 Thread Chuanqi Xu via llvm-branch-commits
ChuanqiXu9 wrote: > do we store all template variable specializations in the same place in the > map including the partial ones? Yes, we identify if they are partial by an additional bit. For the solution, given there might be other places need to load the specializations, how about removing

[llvm-branch-commits] [clang] [Serialization] Code cleanups and polish 83233 (PR #83237)

2024-10-24 Thread Chuanqi Xu via llvm-branch-commits
ChuanqiXu9 wrote: > > > do we store all template variable specializations in the same place in > > > the map including the partial ones? > > > > > > Yes, we identify if they are partial by an additional bit. > > For the solution, given there might be other places need to load the > > speciali

[llvm-branch-commits] [clang] [Serialization] Code cleanups and polish 83233 (PR #83237)

2024-11-08 Thread Chuanqi Xu via llvm-branch-commits
ChuanqiXu9 wrote: @vgvassilev @ilya-biryukov @alexfh If I read correctly, the only blocker issue is the above reported performance issue. And I tried to split partial specialization from the full specialization table to avoid merging tables again and again. Could you please take another round

[llvm-branch-commits] [clang] [Serialization] Code cleanups and polish 83233 (PR #83237)

2024-11-08 Thread Chuanqi Xu via llvm-branch-commits
ChuanqiXu9 wrote: Sorry for the not good stacked PR operation. https://github.com/llvm/llvm-project/pull/83237 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

[llvm-branch-commits] [clang] [Serialization] Code cleanups and polish 83233 (PR #83237)

2024-11-08 Thread Chuanqi Xu via llvm-branch-commits
https://github.com/ChuanqiXu9 updated https://github.com/llvm/llvm-project/pull/83237 >From 493cb7cdafeb22efa9e9f3c1954b6de1e2665365 Mon Sep 17 00:00:00 2001 From: Chuanqi Xu Date: Wed, 28 Feb 2024 11:41:53 +0800 Subject: [PATCH 1/2] [Serialization] Code cleanups and polish 83233 --- clang/in

[llvm-branch-commits] [clang] [Serialization] Introduce OnDiskHashTable for specializations (PR #83233)

2024-11-08 Thread Chuanqi Xu via llvm-branch-commits
https://github.com/ChuanqiXu9 updated https://github.com/llvm/llvm-project/pull/83233 >From f565dd3f156bbdf608be6643208c40f02b4f0e83 Mon Sep 17 00:00:00 2001 From: Chuanqi Xu Date: Wed, 28 Feb 2024 11:41:53 +0800 Subject: [PATCH] [Serialization] Introduce OnDiskHashTable for specializations Fo

[llvm-branch-commits] [clang] [Serialization] Introduce OnDiskHashTable for specializations (PR #83233)

2024-11-08 Thread Chuanqi Xu via llvm-branch-commits
https://github.com/ChuanqiXu9 updated https://github.com/llvm/llvm-project/pull/83233 >From 11726437efb760c9f2aba9b2258337b2b8eb4bb6 Mon Sep 17 00:00:00 2001 From: Chuanqi Xu Date: Fri, 8 Nov 2024 17:19:33 +0800 Subject: [PATCH] [Serialization] Introduce OnDiskHashTable for specializations ---

[llvm-branch-commits] [clang] [Serialization] Code cleanups and polish 83233 (PR #83237)

2024-11-27 Thread Chuanqi Xu via llvm-branch-commits
ChuanqiXu9 wrote: @alexfh gentle ping https://github.com/llvm/llvm-project/pull/83237 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

[llvm-branch-commits] [clang] [Serialization] Code cleanups and polish 83233 (PR #83237)

2024-12-05 Thread Chuanqi Xu via llvm-branch-commits
ChuanqiXu9 wrote: > Once again, thanks for bearing with us and addressing all the issues. The > latest version seems both correct and does not cause performance regressions. > Let's land this! > > PS please note that the resolution of our compile-time profiling instruments > is not that great

[llvm-branch-commits] [clang] [Serialization] Code cleanups and polish 83233 (PR #83237)

2024-12-05 Thread Chuanqi Xu via llvm-branch-commits
ChuanqiXu9 wrote: Note that I'll merge this and https://github.com/llvm/llvm-project/pull/83233 and https://github.com/llvm/llvm-project/pull/83108 into a commit and commit it directly to trunk. Since these prs are split initially to make it clear to be reviewed. But during the review, we alwa

[llvm-branch-commits] [clang] [Serialization] Introduce OnDiskHashTable for specializations (PR #83233)

2024-12-05 Thread Chuanqi Xu via llvm-branch-commits
https://github.com/ChuanqiXu9 closed https://github.com/llvm/llvm-project/pull/83233 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

[llvm-branch-commits] [clang] Fix std::initializer_list recognition if it's exported out of a module (PR #121739)

2025-01-06 Thread Chuanqi Xu via llvm-branch-commits
https://github.com/ChuanqiXu9 milestoned https://github.com/llvm/llvm-project/pull/121739 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

[llvm-branch-commits] [clang] Fix std::initializer_list recognition if it's exported out of a module (PR #121739)

2025-01-06 Thread Chuanqi Xu via llvm-branch-commits
ChuanqiXu9 wrote: @jijjijj Please note the commits in the summary https://github.com/llvm/llvm-project/pull/121739 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commi

[llvm-branch-commits] [clang] Fix std::initializer_list recognition if it's exported out of a module (PR #121739)

2025-01-06 Thread Chuanqi Xu via llvm-branch-commits
https://github.com/ChuanqiXu9 approved this pull request. The change itself looks good to me. https://github.com/llvm/llvm-project/pull/121739 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailma

[llvm-branch-commits] [clang] [Serialization] Code cleanups and polish 83233 (PR #83237)

2024-12-09 Thread Chuanqi Xu via llvm-branch-commits
ChuanqiXu9 wrote: Sent https://github.com/llvm/llvm-project/pull/119333 It looks like the lldb's failure is from we forgot to update the ExternalASTConsumer (I met this the second time. I am wondering if we can make it more automatically). The other windows failure is a pattern match failure.

[llvm-branch-commits] [clang] [Serialization] Code cleanups and polish 83233 (PR #83237)

2024-12-05 Thread Chuanqi Xu via llvm-branch-commits
https://github.com/ChuanqiXu9 closed https://github.com/llvm/llvm-project/pull/83237 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

[llvm-branch-commits] [clang] [Serialization] Introduce OnDiskHashTable for specializations (PR #83233)

2024-12-05 Thread Chuanqi Xu via llvm-branch-commits
ChuanqiXu9 wrote: Sent https://github.com/llvm/llvm-project/commit/b5bd1928c6d43bc525a4e3fb65d2c750d61e and see https://github.com/llvm/llvm-project/pull/83237#issuecomment-2521945547 https://github.com/llvm/llvm-project/pull/83233 ___ llvm-branc

[llvm-branch-commits] [clang] [Serialization] Code cleanups and polish 83233 (PR #83237)

2024-12-05 Thread Chuanqi Xu via llvm-branch-commits
ChuanqiXu9 wrote: Sent https://github.com/llvm/llvm-project/commit/b5bd1928c6d43bc525a4e3fb65d2c750d61e https://github.com/llvm/llvm-project/pull/83237 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/

[llvm-branch-commits] [clang] Fix std::initializer_list recognition if it's exported out of a module (PR #121739)

2025-01-13 Thread Chuanqi Xu via llvm-branch-commits
ChuanqiXu9 wrote: CC @jijjijj https://github.com/llvm/llvm-project/pull/121739 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

[llvm-branch-commits] [clang] release/19.x: Fix print module manifest file for macos (#122370) (PR #122844)

2025-01-13 Thread Chuanqi Xu via llvm-branch-commits
ChuanqiXu9 wrote: > @ChuanqiXu9 What do you think about merging this PR to the release branch? It is necessary for using std module on MacOS with CMake. I think it is important. https://github.com/llvm/llvm-project/pull/122844 ___ llvm-branch-commits

[llvm-branch-commits] [clang] Accept `cl`-style output arguments (`/Fo`, `-Fo`) for `--fmodule-output` (PR #121046)

2024-12-24 Thread Chuanqi Xu via llvm-branch-commits
ChuanqiXu9 wrote: The tests are failing and it looks relevent. https://github.com/llvm/llvm-project/pull/121046 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

[llvm-branch-commits] [clang-tools-extra] [clangd] Add clangd 20 release notes (PR #127358)

2025-02-16 Thread Chuanqi Xu via llvm-branch-commits
@@ -67,35 +68,84 @@ Semantic Highlighting Compile flags ^ +- Fixed a bug where clangd would unnecessarily reparse open files whose + compile command did not change when receiving a new compile command + via an LSP `workspace/configuration` request (#GH115438) +

[llvm-branch-commits] [clang] release/20.x: [PATCH] [clang][modules] Fix serialization and de-serialization of PCH module file refs (#105994) (#132802) (PR #133198)

2025-03-26 Thread Chuanqi Xu via llvm-branch-commits
ChuanqiXu9 wrote: This is a simple fix to a problem with a (relatively) long history. I think it is good to backport this. https://github.com/llvm/llvm-project/pull/133198 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https:/

[llvm-branch-commits] [clang-tools-extra] Release/20.x clangd modules (PR #143647)

2025-06-12 Thread Chuanqi Xu via llvm-branch-commits
ChuanqiXu9 wrote: Fixed a crash for clangd with modules. https://github.com/llvm/llvm-project/pull/143647 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

[llvm-branch-commits] [clang-tools-extra] Release/20.x clangd modules (PR #143647)

2025-06-10 Thread Chuanqi Xu via llvm-branch-commits
https://github.com/ChuanqiXu9 updated https://github.com/llvm/llvm-project/pull/143647 >From eabe027feb43511d2d2709df5b88367a2cb622d5 Mon Sep 17 00:00:00 2001 From: fleeting-xx Date: Thu, 5 Jun 2025 20:33:11 -0500 Subject: [PATCH 1/2] [clangd] [Modules] Fix to correctly handle module dependenc

[llvm-branch-commits] [clang-tools-extra] Release/20.x clangd modules (PR #143647)

2025-06-10 Thread Chuanqi Xu via llvm-branch-commits
https://github.com/ChuanqiXu9 created https://github.com/llvm/llvm-project/pull/143647 Backport https://github.com/llvm/llvm-project/pull/142828 manually This is helpful to avoid crashes in clangd. >From 31fab1b1c7564955f94fb64aa0603125c8366a11 Mon Sep 17 00:00:00 2001 From: fleeting-xx Date:

[llvm-branch-commits] [llvm] release/20.x: [CoroSplit] Always erase lifetime intrinsics for spilled allocas (#142551) (PR #147448)

2025-07-08 Thread Chuanqi Xu via llvm-branch-commits
@@ -1213,11 +1213,17 @@ static void insertSpills(const FrameDataInfo &FrameData, coro::Shape &Shape) { for (const auto &A : FrameData.Allocas) { AllocaInst *Alloca = A.Alloca; UsersToUpdate.clear(); -for (User *U : Alloca->users()) { +for (User *U : make_earl

<    1   2