[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] [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/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] 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] 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] 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 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] 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] [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] 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] [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] [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] 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] 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-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] 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] [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
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 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-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] 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] 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] [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-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-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-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-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
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-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-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] 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-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] [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] 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] 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] 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 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 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] [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] [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] [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] [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
@@ -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] 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] 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] 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] [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] [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
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-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-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
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/3] [Serialization] Code cleanups and polish 83233 --- clang/in

[llvm-branch-commits] [clang] [clang][driver][clang-cl] Fix unused argument warning for `/std:c++20` for precompiled module inputs to `clang-cl` (PR #102438)

2024-08-15 Thread Chuanqi Xu via llvm-branch-commits
ChuanqiXu9 wrote: > @ChuanqiXu9, is there anything else that needs to be done here? There's a > merge conflict; I could resolve that. If there is merge conflict, we need to resolve it. For the merge request, we need to wait for the release manager to have a time to look at this. Maybe due to

[llvm-branch-commits] [clang] [clang][driver][clang-cl] Fix unused argument warning for `/std:c++20` for precompiled module inputs to `clang-cl` (PR #102438)

2024-08-15 Thread Chuanqi Xu via llvm-branch-commits
https://github.com/ChuanqiXu9 milestoned https://github.com/llvm/llvm-project/pull/102438 ___ 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: Reland [C++20] [Modules] [Itanium ABI] Generate the vtable in the mod… (#102287) (PR #102561)

2024-08-13 Thread Chuanqi Xu via llvm-branch-commits
ChuanqiXu9 wrote: > > How about waiting 2 weeks to see if there is any regression reports? If no, > > I'll try to ping you again to merge this. > > That seems counter-intuitive. Yes there are projects using LLVM main, but it > would appear much more likely to me to get regression reports from

[llvm-branch-commits] [clang] release/19.x: Reland [C++20] [Modules] [Itanium ABI] Generate the vtable in the mod… (#102287) (PR #102561)

2024-08-13 Thread Chuanqi Xu via llvm-branch-commits
ChuanqiXu9 wrote: > @ChuanqiXu9 are we good to merge this? It seems like a pretty big patch but > reading the description it seems like some good fixes in there. Any risk > taking this on? Yes, this is not small. And I am 100% sure it is fine. But given this is important, I still like to back

[llvm-branch-commits] [clang] release/19.x: [C++20] [Modules] Don't diagnose duplicated implicit decl in multiple named modules (#102423) (PR #102425)

2024-08-11 Thread Chuanqi Xu via llvm-branch-commits
ChuanqiXu9 wrote: I landed this directly as the owner of serialization. I feel this change is not riskful as it adds more conditions to generate a diagnose message we didn't do in 18.x and before. So nothing will be worse. https://github.com/llvm/llvm-project/pull/102425 __

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

2024-08-07 Thread Chuanqi Xu via llvm-branch-commits
@@ -5,7 +5,7 @@ define nonnull ptr @f(i32 %n) presplitcoroutine { ; CHECK-LABEL: @f( ; CHECK-NEXT: entry: -; CHECK-NEXT:[[ID:%.*]] = call token @llvm.coro.id(i32 0, ptr null, ptr null, ptr @f.resumers) +; CHECK-NEXT:[[ID:%.*]] = call token @llvm.coro.id(i32 0, ptr nul

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

2024-08-07 Thread Chuanqi Xu via llvm-branch-commits
@@ -1455,6 +1462,62 @@ struct SwitchCoroutineSplitter { setCoroInfo(F, Shape, Clones); } + static Function *createNoAllocVariant(Function &F, coro::Shape &Shape, +SmallVectorImpl &Clones) { +auto *OrigFnTy = F.getFunctionType(

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

2024-08-07 Thread Chuanqi Xu via llvm-branch-commits
ChuanqiXu9 wrote: After I took a quick look at https://github.com/llvm/llvm-project/pull/99285, I feel this is not what I thought when I heard the idea. Correct me if I misunderstand it. The problems are: 1. It looks like all the `.noalloc` variant are emitted all the time. This is absolutely

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

2024-08-07 Thread Chuanqi Xu via llvm-branch-commits
@@ -0,0 +1,136 @@ +//===- CoroSplit.cpp - Converts a coroutine into a state machine --===// +// +// 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_must_elide" calls to switch ABI coroutines to the `noalloc` variant (PR #99285)

2024-08-07 Thread Chuanqi Xu via llvm-branch-commits
https://github.com/ChuanqiXu9 commented: I did a quick scanning and I'll put the comment in https://github.com/llvm/llvm-project/pull/99283#pullrequestreview-822800 https://github.com/llvm/llvm-project/pull/99285 ___ llvm-branch-commits mailing li

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

2024-08-07 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] Create `.noalloc` variant of switch ABI coroutine ramp functions during CoroSplit (PR #99283)

2024-08-07 Thread Chuanqi Xu via llvm-branch-commits
@@ -5,7 +5,7 @@ define nonnull ptr @f(i32 %n) presplitcoroutine { ; CHECK-LABEL: @f( ; CHECK-NEXT: entry: -; CHECK-NEXT:[[ID:%.*]] = call token @llvm.coro.id(i32 0, ptr null, ptr null, ptr @f.resumers) +; CHECK-NEXT:[[ID:%.*]] = call token @llvm.coro.id(i32 0, ptr nul

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

2024-08-07 Thread Chuanqi Xu via llvm-branch-commits
@@ -1455,6 +1462,64 @@ struct SwitchCoroutineSplitter { setCoroInfo(F, Shape, Clones); } + static Function *createNoAllocVariant(Function &F, coro::Shape &Shape, +SmallVectorImpl &Clones) { +auto *OrigFnTy = F.getFunctionType(

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

2024-08-07 Thread Chuanqi Xu via llvm-branch-commits
@@ -63,6 +63,13 @@ suspend: ; CHECK-NOT: call void @free( ; CHECK: ret void +; CHECK-LABEL: @f.noalloc({{.*}}) ChuanqiXu9 wrote: I think it worth to list the arguments explicitly. https://github.com/llvm/llvm-project/pull/99283 __

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

2024-08-07 Thread Chuanqi Xu via llvm-branch-commits
@@ -1967,22 +2047,13 @@ splitCoroutine(Function &F, SmallVectorImpl &Clones, for (DbgVariableRecord *DVR : DbgVariableRecords) coro::salvageDebugInfo(ArgToAllocaMap, *DVR, Shape.OptimizeFrame, false /*UseEntryValue*/); - return Shape; -} -//

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

2024-08-07 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-07 Thread Chuanqi Xu via llvm-branch-commits
@@ -1455,6 +1462,62 @@ struct SwitchCoroutineSplitter { setCoroInfo(F, Shape, Clones); } + static Function *createNoAllocVariant(Function &F, coro::Shape &Shape, +SmallVectorImpl &Clones) { +auto *OrigFnTy = F.getFunctionType(

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

2024-08-07 Thread Chuanqi Xu via llvm-branch-commits
https://github.com/ChuanqiXu9 commented: We need to update coroutines.rst for such changes. 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/l

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

2024-08-07 Thread Chuanqi Xu via llvm-branch-commits
@@ -1455,6 +1462,62 @@ struct SwitchCoroutineSplitter { setCoroInfo(F, Shape, Clones); } + static Function *createNoAllocVariant(Function &F, coro::Shape &Shape, ChuanqiXu9 wrote: We need comment and an example for this function https://github.com/llv

[llvm-branch-commits] [clang] release/19.x: [clang][driver][clang-cl] Support `--precompile` and `-fmodule-*` options in Clang-CL (#98761) (PR #102159)

2024-08-06 Thread Chuanqi Xu via llvm-branch-commits
ChuanqiXu9 wrote: I feel this is good and no risks to bring in 19.x https://github.com/llvm/llvm-project/pull/102159 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-com

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

2024-08-01 Thread Chuanqi Xu via llvm-branch-commits
ChuanqiXu9 wrote: > We've hit an error during testing: > > ```c++ > In module '...stl_cc_library': > .../src/libcxx/include/__memory/allocator.h:128:60: error: > 'std::allocator>::deallocate' from > module '...stl_cc_library./cxx17/vector' is not present in definition of > 'std::allocator>' p

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

2024-07-31 Thread Chuanqi Xu via llvm-branch-commits
ChuanqiXu9 wrote: > > > @ilya-biryukov, could we have another try of this PR on your end? > > > > > > Sorry for missing this, we will rerun the testing and get back to you. > > In the meantime, could you rebase the patch on top of current ToT? Are you saying to rebase on your local branch? Si

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

2024-07-10 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/2] [Serialization] Code cleanups and polish 83233 --- clang/in

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

2024-07-10 Thread Chuanqi Xu via llvm-branch-commits
ChuanqiXu9 wrote: @vgvassilev In the newest version, I introduced a new hasher TemplateArgumentHasher and use this new hasher to calculate the hash value for template arguments. We thought this may be harder. But I just realized, we don't have to provide a very precise results at first. Since

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

2024-07-10 Thread Chuanqi Xu via llvm-branch-commits
ChuanqiXu9 wrote: @ilya-biryukov I've fixed the crash occured in the reproducer. The root reason is that, previously, I wouldn't load all the specializations for paritial specializations. But this is not safe. I think you can test it again. https://github.com/llvm/llvm-project/pull/83237 _

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

2024-07-10 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] [Serialization] Code cleanups and polish 83233 --- clang/includ

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

2024-07-10 Thread Chuanqi Xu via llvm-branch-commits
https://github.com/ChuanqiXu9 updated https://github.com/llvm/llvm-project/pull/83233 >From 2bf5a6ca8bde003b7acf0a9ab7c6e69cc3109e02 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-07-05 Thread Chuanqi Xu via llvm-branch-commits
ChuanqiXu9 wrote: Sorry for bothering, I tried a new manner to update the patch but it shows I should better : ( https://github.com/llvm/llvm-project/pull/83237 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm

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

2024-07-05 Thread Chuanqi Xu via llvm-branch-commits
https://github.com/ChuanqiXu9 updated https://github.com/llvm/llvm-project/pull/83233 error: too big or took too long to generate ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/ll

[llvm-branch-commits] [clang] [serialization] No transitive type change (PR #92511)

2024-06-19 Thread Chuanqi Xu via llvm-branch-commits
@@ -70,38 +71,53 @@ using DeclID = DeclIDBase::DeclID; /// An ID number that refers to a type in an AST file. /// -/// The ID of a type is partitioned into two parts: the lower +/// The ID of a type is partitioned into three parts: +/// - the lower /// three bits are used to

[llvm-branch-commits] [clang] [serialization] No transitive type change (PR #92511)

2024-06-19 Thread Chuanqi Xu via llvm-branch-commits
@@ -70,38 +71,53 @@ using DeclID = DeclIDBase::DeclID; /// An ID number that refers to a type in an AST file. /// -/// The ID of a type is partitioned into two parts: the lower +/// The ID of a type is partitioned into three parts: +/// - the lower /// three bits are used to

[llvm-branch-commits] [clang] [serialization] No transitive type change (PR #92511)

2024-06-19 Thread Chuanqi Xu via llvm-branch-commits
@@ -7650,6 +7647,16 @@ ModuleFile *ASTReader::getOwningModuleFile(GlobalDeclID ID) const { return &getModuleManager()[ModuleFileIndex - 1]; } +ModuleFile *ASTReader::getOwningModuleFile(TypeID ID) const { + if (ID < NUM_PREDEF_TYPE_IDS) +return nullptr; + + uint64_t M

[llvm-branch-commits] [clang] [serialization] No transitive type change (PR #92511)

2024-06-19 Thread Chuanqi Xu via llvm-branch-commits
@@ -3262,17 +3262,18 @@ void ASTWriter::WritePragmaDiagnosticMappings(const DiagnosticsEngine &Diag, /// Write the representation of a type to the AST stream. void ASTWriter::WriteType(QualType T) { TypeIdx &IdxRef = TypeIdxs[T]; - if (IdxRef.getIndex() == 0) // we haven't

[llvm-branch-commits] [clang] [serialization] No transitive type change (PR #92511)

2024-06-19 Thread Chuanqi Xu via llvm-branch-commits
@@ -6659,13 +6655,22 @@ void ASTWriter::MacroRead(serialization::MacroID ID, MacroInfo *MI) { } void ASTWriter::TypeRead(TypeIdx Idx, QualType T) { - // Always take the highest-numbered type index. This copes with an interesting + // Always take the type index that comes i

  1   2   >