[clang] [clang][Dependency Scanning] Report What a Module Exports during Scanning (PR #137421)

2025-04-30 Thread Qiongsi Wu via cfe-commits
https://github.com/qiongsiwu edited https://github.com/llvm/llvm-project/pull/137421 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][Dependency Scanning] Report What a Module Exports during Scanning (PR #137421)

2025-04-30 Thread Qiongsi Wu via cfe-commits
@@ -115,6 +115,15 @@ struct ModuleID { } }; +struct ExtendedModuleID { qiongsiwu wrote: Oh I see what you meant. Thanks for the clarification. I agree using the STL as much as possible is a good idea. In our case here, I prefer the structure for the follo

[clang] [clang][Dependency Scanning] Report What a Module Exports during Scanning (PR #137421)

2025-04-30 Thread Qiongsi Wu via cfe-commits
@@ -115,6 +115,15 @@ struct ModuleID { } }; +struct ExtendedModuleID { qiongsiwu wrote: Hmmm I think I am misunderstanding something. Is this what we are proposing? Instead of ``` std::vector ClangModuleDeps; ``` we have ``` std::vector> ClangModule

[clang] [clang][Dependency Scanning] Report What a Module Exports during Scanning (PR #137421)

2025-04-30 Thread Qiongsi Wu via cfe-commits
https://github.com/qiongsiwu updated https://github.com/llvm/llvm-project/pull/137421 Rate limit ยท GitHub body { background-color: #f6f8fa; color: #24292e; font-family: -apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans

[clang] [clang][Dependency Scanning] Report Exported Modules during Scanning (PR #137421)

2025-04-29 Thread Qiongsi Wu via cfe-commits
@@ -183,7 +192,7 @@ struct ModuleDeps { /// /// This may include modules with a different context hash when it can be /// determined that the differences are benign for this compilation. - std::vector ClangModuleDeps; + std::vector ClangModuleDeps; qion

[clang] [clang][Dependency Scanning] Report What a Module Exports during Scanning (PR #137421)

2025-04-30 Thread Qiongsi Wu via cfe-commits
https://github.com/qiongsiwu edited https://github.com/llvm/llvm-project/pull/137421 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][modules] Dependency Scanning: Temporarily Turn Off Negative Directory Caching (PR #134698)

2025-04-10 Thread Qiongsi Wu via cfe-commits
https://github.com/qiongsiwu edited https://github.com/llvm/llvm-project/pull/134698 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][Dependency Scanning] Adding an API to Diagnose Invalid Negative Stat Cache Entries (PR #135703)

2025-04-16 Thread Qiongsi Wu via cfe-commits
qiongsiwu wrote: > On a second thought, what's the current intent for build system integration? > I'm curious why we're emitting a diagnostic here rather than just passing the > list of paths back to the build system and letting it decide how to report > these. This is a good point. Additiona

[clang] [clang][Dependency Scanning] Report What a Module Exports during Scanning (PR #137421)

2025-04-30 Thread Qiongsi Wu via cfe-commits
https://github.com/qiongsiwu closed https://github.com/llvm/llvm-project/pull/137421 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang] Adding an API to create a `CXStringSet` from a Vector of `StringRef`s (PR #136773)

2025-04-23 Thread Qiongsi Wu via cfe-commits
qiongsiwu wrote: > > > Where is this new API expected to be used? > > > > > > An intended use can be found here > > [swiftlang#10524](https://github.com/swiftlang/llvm-project/pull/10524), > > where we try to pass up a collection of strings to the user, and we try not > > to create copies of

[clang] [clang] Adding an API to create a `CXStringSet` from a Vector of `StringRef`s (PR #136773)

2025-04-24 Thread Qiongsi Wu via cfe-commits
qiongsiwu wrote: > If the only use is in a downstream of Clang, do we need to upstream the > changes at all? We could always upstream once there's an in-tree need for the > functionality. No, we don't _need_ to upstream. I don't have a strong feeling - I am upstreaming it because functionally

[clang] [clang] Adding an API to create a `CXStringSet` from a Vector of `StringRef`s (PR #136773)

2025-04-22 Thread Qiongsi Wu via cfe-commits
https://github.com/qiongsiwu created https://github.com/llvm/llvm-project/pull/136773 The newly added API avoids converting `StringRef`s to `std::strings` when the input is a vector of `StringRef`. >From 7f39ebcc34fe3f40c2554ff7fa93baca5b4634a0 Mon Sep 17 00:00:00 2001 From: Qiongsi Wu Date:

[clang] [clang] Adding an API to create a `CXStringSet` from a Vector of `StringRef`s (PR #136773)

2025-04-22 Thread Qiongsi Wu via cfe-commits
@@ -116,6 +117,13 @@ CXStringSet *createSet(const std::vector &Strings) { return Set; } +CXStringSet *createSet(const std::vector &Strings) { + return createSetImpl(Strings); +} + +CXStringSet *createSet(const std::vector &Strings) { + return createSetImpl(Strings); -

[clang] [clang] Adding an API to create a `CXStringSet` from a Vector of `StringRef`s (PR #136773)

2025-04-22 Thread Qiongsi Wu via cfe-commits
https://github.com/qiongsiwu updated https://github.com/llvm/llvm-project/pull/136773 >From 7f39ebcc34fe3f40c2554ff7fa93baca5b4634a0 Mon Sep 17 00:00:00 2001 From: Qiongsi Wu Date: Tue, 22 Apr 2025 14:17:15 -0700 Subject: [PATCH 1/2] Adding CXStringSet *createSet that takes a vector of StringR

[clang] [clang] Adding an API to create a `CXStringSet` from a Vector of `StringRef`s (PR #136773)

2025-04-22 Thread Qiongsi Wu via cfe-commits
https://github.com/qiongsiwu updated https://github.com/llvm/llvm-project/pull/136773 >From 7f39ebcc34fe3f40c2554ff7fa93baca5b4634a0 Mon Sep 17 00:00:00 2001 From: Qiongsi Wu Date: Tue, 22 Apr 2025 14:17:15 -0700 Subject: [PATCH 1/3] Adding CXStringSet *createSet that takes a vector of StringR

[clang] [clang][Dependency Scanning] Report Exported Modules during Scanning (PR #137421)

2025-04-25 Thread Qiongsi Wu via cfe-commits
https://github.com/qiongsiwu created https://github.com/llvm/llvm-project/pull/137421 We would like to report, for a module, what modules it exports during dependency scanning. This PR implements this reporting by augmenting `ModuleDep`'s `ClangModuleDeps` variable. `ClangModuleDeps` now conta

[clang] [clang][Dependency Scanning] Report Exported Modules during Scanning (PR #137421)

2025-04-25 Thread Qiongsi Wu via cfe-commits
https://github.com/qiongsiwu edited https://github.com/llvm/llvm-project/pull/137421 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][Dependency Scanning] Adding an API to Diagnose Invalid Negative Stat Cache Entries (PR #135703)

2025-04-15 Thread Qiongsi Wu via cfe-commits
https://github.com/qiongsiwu updated https://github.com/llvm/llvm-project/pull/135703 >From d4b1210c16b4fccc6faa9445bee457a1e330a025 Mon Sep 17 00:00:00 2001 From: Qiongsi Wu Date: Mon, 14 Apr 2025 16:49:07 -0700 Subject: [PATCH 1/2] Initial commit. --- .../DependencyScanningFilesystem.h

[clang] [clang][Dependency Scanning] Adding an API to Diagnose Invalid Negative Stat Cache Entries (PR #135703)

2025-04-15 Thread Qiongsi Wu via cfe-commits
@@ -108,6 +108,32 @@ DependencyScanningFilesystemSharedCache::getShardForUID( return CacheShards[Hash % NumShards]; } +void DependencyScanningFilesystemSharedCache::diagnoseNegativeStatCachedPaths( +llvm::raw_ostream &OS, llvm::vfs::FileSystem &UnderlyingFS) const { + /

[clang] [clang][Dependency Scanning] Adding an API to Diagnose Invalid Negative Stat Cache Entries (PR #135703)

2025-04-15 Thread Qiongsi Wu via cfe-commits
@@ -108,6 +108,32 @@ DependencyScanningFilesystemSharedCache::getShardForUID( return CacheShards[Hash % NumShards]; } +void DependencyScanningFilesystemSharedCache::diagnoseNegativeStatCachedPaths( qiongsiwu wrote: Yes good catch! This should have a lock.

[clang] [clang][Dependency Scanning] Adding an API to Diagnose Invalid Negative Stat Cache Entries (PR #135703)

2025-04-15 Thread Qiongsi Wu via cfe-commits
@@ -108,6 +108,32 @@ DependencyScanningFilesystemSharedCache::getShardForUID( return CacheShards[Hash % NumShards]; } +void DependencyScanningFilesystemSharedCache::diagnoseNegativeStatCachedPaths( +llvm::raw_ostream &OS, llvm::vfs::FileSystem &UnderlyingFS) const { + /

[clang] [clang][Dependency Scanning] Adding an API to Diagnose Invalid Negative Stat Cache Entries (PR #135703)

2025-04-15 Thread Qiongsi Wu via cfe-commits
https://github.com/qiongsiwu edited https://github.com/llvm/llvm-project/pull/135703 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][Dependency Scanning] Adding an API to Diagnose Invalid Negative Stat Cache Entries (PR #135703)

2025-04-15 Thread Qiongsi Wu via cfe-commits
qiongsiwu wrote: Note to reviewers: I am not quite sure if passing in the underlying VFS is a good design. If I understand correctly, the underlying VFS is a dependency scanning worker property, so on the surface it seems that we will need this diagnostic per worker, instead of per scanning se

[clang] [clang][Dependency Scanning] Adding an API to Diagnose Invalid Negative Stat Cache Entries (PR #135703)

2025-04-15 Thread Qiongsi Wu via cfe-commits
https://github.com/qiongsiwu edited https://github.com/llvm/llvm-project/pull/135703 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][Dependency Scanning] Adding an API to Diagnose Invalid Negative Stat Cache Entries (PR #135703)

2025-04-15 Thread Qiongsi Wu via cfe-commits
https://github.com/qiongsiwu updated https://github.com/llvm/llvm-project/pull/135703 >From d4b1210c16b4fccc6faa9445bee457a1e330a025 Mon Sep 17 00:00:00 2001 From: Qiongsi Wu Date: Mon, 14 Apr 2025 16:49:07 -0700 Subject: [PATCH 1/3] Initial commit. --- .../DependencyScanningFilesystem.h

[clang] [clang][Dependency Scanning] Adding an API to Diagnose Invalid Negative Stat Cache Entries (PR #135703)

2025-04-15 Thread Qiongsi Wu via cfe-commits
@@ -108,6 +108,31 @@ DependencyScanningFilesystemSharedCache::getShardForUID( return CacheShards[Hash % NumShards]; } +void DependencyScanningFilesystemSharedCache::diagnoseNegativeStatCachedPaths( +llvm::raw_ostream &OS, llvm::vfs::FileSystem &UnderlyingFS) const { + /

[clang] [clang][Dependency Scanning] Report Exported Modules during Scanning (PR #137421)

2025-04-29 Thread Qiongsi Wu via cfe-commits
@@ -0,0 +1,164 @@ +// Test correctly reporting what a module exports during dependency scanning. +// Module A depends on modules B, C and D, but only exports B and C. +// Module E depends on modules B, C and D, and exports all of them. + +// RUN: rm -rf %t +// RUN: split-file %s %

[clang] [clang][Dependency Scanning] Report Exported Modules during Scanning (PR #137421)

2025-04-29 Thread Qiongsi Wu via cfe-commits
https://github.com/qiongsiwu updated https://github.com/llvm/llvm-project/pull/137421 >From 0093c2f13aad26b49ff6584ac56184549dcaca84 Mon Sep 17 00:00:00 2001 From: Qiongsi Wu Date: Fri, 25 Apr 2025 15:51:07 -0700 Subject: [PATCH 1/4] Adding an API to report exported modules and update existing

[clang] [clang][Dependency Scanning] Report Exported Modules during Scanning (PR #137421)

2025-04-29 Thread Qiongsi Wu via cfe-commits
@@ -115,6 +115,15 @@ struct ModuleID { } }; +struct ExtendedModuleID { qiongsiwu wrote: The structure is renamed and its definition is moved into `struct ModuleDeps` for better context. > why not use a std::pair? It comes with operator overloads. What i

[clang] [clang][Dependency Scanning] Report Exported Modules during Scanning (PR #137421)

2025-04-29 Thread Qiongsi Wu via cfe-commits
@@ -183,7 +192,7 @@ struct ModuleDeps { /// /// This may include modules with a different context hash when it can be /// determined that the differences are benign for this compilation. - std::vector ClangModuleDeps; + std::vector ClangModuleDeps; qion

[clang] [clang][Dependency Scanning] Report Exported Modules during Scanning (PR #137421)

2025-04-29 Thread Qiongsi Wu via cfe-commits
https://github.com/qiongsiwu updated https://github.com/llvm/llvm-project/pull/137421 >From 0093c2f13aad26b49ff6584ac56184549dcaca84 Mon Sep 17 00:00:00 2001 From: Qiongsi Wu Date: Fri, 25 Apr 2025 15:51:07 -0700 Subject: [PATCH 1/5] Adding an API to report exported modules and update existing

[clang] [clang][Dependency Scanning] Report Exported Modules during Scanning (PR #137421)

2025-04-29 Thread Qiongsi Wu via cfe-commits
https://github.com/qiongsiwu updated https://github.com/llvm/llvm-project/pull/137421 >From 0093c2f13aad26b49ff6584ac56184549dcaca84 Mon Sep 17 00:00:00 2001 From: Qiongsi Wu Date: Fri, 25 Apr 2025 15:51:07 -0700 Subject: [PATCH 1/3] Adding an API to report exported modules and update existing

[clang] [clang][Dependency Scanning] Adding an API to Diagnose Invalid Negative Stat Cache Entries (PR #135703)

2025-04-18 Thread Qiongsi Wu via cfe-commits
https://github.com/qiongsiwu updated https://github.com/llvm/llvm-project/pull/135703 >From d4b1210c16b4fccc6faa9445bee457a1e330a025 Mon Sep 17 00:00:00 2001 From: Qiongsi Wu Date: Mon, 14 Apr 2025 16:49:07 -0700 Subject: [PATCH 1/4] Initial commit. --- .../DependencyScanningFilesystem.h

[clang] [clang][Dependency Scanning] Adding an API to Diagnose Invalid Negative Stat Cache Entries (PR #135703)

2025-04-18 Thread Qiongsi Wu via cfe-commits
qiongsiwu wrote: Thanks @jansvoboda11 ! The API is updated so that the end result is a vector of paths (strings), so the caller can create the diagnostics. I will add the C-API to https://github.com/swiftlang/llvm-project after this PR lands. https://github.com/llvm/llvm-project/pull/135703

[clang] [clang][Dependency Scanning] Adding an API to Diagnose Invalid Negative Stat Cache Entries (PR #135703)

2025-04-18 Thread Qiongsi Wu via cfe-commits
https://github.com/qiongsiwu closed https://github.com/llvm/llvm-project/pull/135703 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [compiler-rt] [Clang][PGO] Fix profile function visibility bug (PR #127257)

2025-02-17 Thread Qiongsi Wu via cfe-commits
https://github.com/qiongsiwu approved this pull request. Thanks Ethan! LGTM! https://github.com/llvm/llvm-project/pull/127257 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Dependency Scanning] Teach `DependencyScanningTool::getModuleDependencies` to Process a List of Module Names (PR #129915)

2025-03-10 Thread Qiongsi Wu via cfe-commits
https://github.com/qiongsiwu updated https://github.com/llvm/llvm-project/pull/129915 >From 7f29cb0c9e422f00ce5b6b26af8ebfb228b59830 Mon Sep 17 00:00:00 2001 From: Qiongsi Wu Date: Wed, 5 Mar 2025 11:16:38 -0800 Subject: [PATCH 1/2] Changing DependencyScanningTool::getModuleDependencies to tak

[clang] [clang dependency scanning] Make Current Working Directory Optimization Off by Default (PR #129809)

2025-03-05 Thread Qiongsi Wu via cfe-commits
https://github.com/qiongsiwu closed https://github.com/llvm/llvm-project/pull/129809 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Dependency Scanning] Teach `DependencyScanningTool::getModuleDependencies` to Process a List of Module Names (PR #129915)

2025-03-05 Thread Qiongsi Wu via cfe-commits
https://github.com/qiongsiwu created https://github.com/llvm/llvm-project/pull/129915 Currently `DependencyScanningTool::getModuleDependencies` takes a single `ModuleName` and if we have a list of module names to process for the same compilation, we invoke `getModuleDependencies` multiple time

[clang] [Dependency Scanning] Teach `DependencyScanningTool::getModuleDependencies` to Process a List of Module Names (PR #129915)

2025-03-05 Thread Qiongsi Wu via cfe-commits
https://github.com/qiongsiwu converted_to_draft https://github.com/llvm/llvm-project/pull/129915 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Dependency Scanning] Teach `DependencyScanningTool::getModuleDependencies` to Process a List of Module Names (PR #129915)

2025-03-05 Thread Qiongsi Wu via cfe-commits
https://github.com/qiongsiwu edited https://github.com/llvm/llvm-project/pull/129915 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang dependency scanning] Make Current Working Directory Optimization Off by Default (PR #129809)

2025-03-04 Thread Qiongsi Wu via cfe-commits
https://github.com/qiongsiwu updated https://github.com/llvm/llvm-project/pull/129809 >From 2037abd8cb44be6a70850225626d9fde4b8058f2 Mon Sep 17 00:00:00 2001 From: Qiongsi Wu Date: Tue, 4 Mar 2025 16:48:20 -0800 Subject: [PATCH 1/2] Update ScanningOptimizations's default so CWD optimization is

[clang] [clang dependency scanning] Make Current Working Directory Optimization Off by Default (PR #129809)

2025-03-04 Thread Qiongsi Wu via cfe-commits
@@ -67,7 +67,7 @@ enum class ScanningOptimizations { IgnoreCWD = (1 << 4), DSS_LAST_BITMASK_ENUM(IgnoreCWD), - Default = All + Default = All & (~IgnoreCWD) qiongsiwu wrote: Comments added. https://github.com/llvm/llvm-project/pull/129809 _

[clang] [Dependency Scanning] Teach `DependencyScanningTool::getModuleDependencies` to Process a List of Module Names (PR #129915)

2025-03-05 Thread Qiongsi Wu via cfe-commits
qiongsiwu wrote: I think this change should be here (in contrast to `swift:next`). But there is no clear use case for the multiple module name case in `clang` at the moment. I am all ears for suggestions. Maybe I can/should teach `clang-scan-deps` to use a list of module names? https://githu

[clang] [Dependency Scanning] Teach `DependencyScanningTool::getModuleDependencies` to Process a List of Module Names (PR #129915)

2025-03-05 Thread Qiongsi Wu via cfe-commits
https://github.com/qiongsiwu edited https://github.com/llvm/llvm-project/pull/129915 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Dependency Scanning] Teach `DependencyScanningTool::getModuleDependencies` to Process a List of Module Names (PR #129915)

2025-03-05 Thread Qiongsi Wu via cfe-commits
https://github.com/qiongsiwu commented: There are two things I am not sure about. https://github.com/llvm/llvm-project/pull/129915 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Dependency Scanning] Teach `DependencyScanningTool::getModuleDependencies` to Process a List of Module Names (PR #129915)

2025-03-05 Thread Qiongsi Wu via cfe-commits
@@ -1213,11 +1213,17 @@ void GetDependenciesByModuleNameAction::ExecuteAction() { Preprocessor &PP = CI.getPreprocessor(); SourceManager &SM = PP.getSourceManager(); FileID MainFileID = SM.getMainFileID(); - SourceLocation FileStart = SM.getLocForStartOfFile(MainFileID)

[clang] [Dependency Scanning] Teach `DependencyScanningTool::getModuleDependencies` to Process a List of Module Names (PR #129915)

2025-03-05 Thread Qiongsi Wu via cfe-commits
@@ -748,17 +751,21 @@ bool DependencyScanningWorker::computeDependencies( InMemoryFS->setCurrentWorkingDirectory(WorkingDirectory); SmallString<128> FakeInputPath; // TODO: We should retry the creation if the path already exists. - llvm::sys::fs::createUniquePath(ModuleN

[clang] [compiler-rt] [llvm] [openmp] [PGO][Offload] Profile profraw generation for GPU instrumentation #76587 (PR #93365)

2025-02-14 Thread Qiongsi Wu via cfe-commits
qiongsiwu wrote: Hi @EthanLuisMcDonough ! As @dtellenbach noted earlier, this PR is breaking two tests on our bots. Could you fix it as soon as possible? I will come back and revisit by 2pm PST today. If I don't hear back from you, I will revert this PR. Really appreciate your attention to th

[clang] [llvm] [CaptureTracking][FunctionAttrs] Add support for CaptureInfo (PR #125880)

2025-02-19 Thread Qiongsi Wu via cfe-commits
qiongsiwu wrote: Thanks @nikic !! In this case, I will revisit this Friday morning PST and see where we are at. https://github.com/llvm/llvm-project/pull/125880 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/ma

[clang] [llvm] [CaptureTracking][FunctionAttrs] Add support for CaptureInfo (PR #125880)

2025-02-19 Thread Qiongsi Wu via cfe-commits
qiongsiwu wrote: What is the current plan for this PR? Are we still inclined to reland it this week? I would like to reduce the downstream churns it is causing. If we intend to reland it soon, I will not revert everything downstream that is related. https://github.com/llvm/llvm-project/pull/1

[clang] [Modules] Add `clang/Lex/HLSLRootSignatureTokenKinds.def` to clang's `modulemap` (PR #127839)

2025-02-19 Thread Qiongsi Wu via cfe-commits
https://github.com/qiongsiwu closed https://github.com/llvm/llvm-project/pull/127839 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang modules] Setting `DebugCompilationDir` when it is safe to ignore current working directory (PR #128446)

2025-02-24 Thread Qiongsi Wu via cfe-commits
https://github.com/qiongsiwu updated https://github.com/llvm/llvm-project/pull/128446 >From c8eda8b9192cf4bdad4121063336beeb14cbe689 Mon Sep 17 00:00:00 2001 From: Qiongsi Wu Date: Sun, 23 Feb 2025 16:47:18 -0800 Subject: [PATCH 1/3] Initial commit --- .../DependencyScanning/ModuleDepCollecto

[clang] [clang modules] Setting `DebugCompilationDir` when it is safe to ignore current working directory (PR #128446)

2025-02-24 Thread Qiongsi Wu via cfe-commits
qiongsiwu wrote: Or maybe it makes more sense to set the working directory to SYSROOT, or to the input header's path? https://github.com/llvm/llvm-project/pull/128446 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-

[clang] [clang modules] Setting `DebugCompilationDir` when it is safe to ignore current working directory (PR #128446)

2025-02-23 Thread Qiongsi Wu via cfe-commits
https://github.com/qiongsiwu created https://github.com/llvm/llvm-project/pull/128446 This PR explicitly sets `DebugCompilationDir` to the system's root directory if it is safe to ignore the current working directory. This fixes a problem where a PCM file's embedded debug information can lead

[clang] [clang modules] Setting `DebugCompilationDir` when it is safe to ignore current working directory (PR #128446)

2025-02-23 Thread Qiongsi Wu via cfe-commits
qiongsiwu wrote: Note to reviewers: This fixes rdar://145249881, but I'd like to get some input on two things. 1. I am not sure if it is a good idea to always set `DebugCompilationDir` to root. I chose it because I think it is safe and all systems should have the root directory. I am all ear

[clang] [clang modules] Setting `DebugCompilationDir` when it is safe to ignore current working directory (PR #128446)

2025-02-23 Thread Qiongsi Wu via cfe-commits
https://github.com/qiongsiwu converted_to_draft https://github.com/llvm/llvm-project/pull/128446 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang modules] Setting `DebugCompilationDir` when it is safe to ignore current working directory (PR #128446)

2025-02-24 Thread Qiongsi Wu via cfe-commits
https://github.com/qiongsiwu updated https://github.com/llvm/llvm-project/pull/128446 >From c8eda8b9192cf4bdad4121063336beeb14cbe689 Mon Sep 17 00:00:00 2001 From: Qiongsi Wu Date: Sun, 23 Feb 2025 16:47:18 -0800 Subject: [PATCH 1/2] Initial commit --- .../DependencyScanning/ModuleDepCollecto

[clang] [clang modules] Setting `DebugCompilationDir` when it is safe to ignore current working directory (PR #128446)

2025-02-24 Thread Qiongsi Wu via cfe-commits
https://github.com/qiongsiwu ready_for_review https://github.com/llvm/llvm-project/pull/128446 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang modules] Setting `DebugCompilationDir` when it is safe to ignore current working directory (PR #128446)

2025-02-24 Thread Qiongsi Wu via cfe-commits
https://github.com/qiongsiwu edited https://github.com/llvm/llvm-project/pull/128446 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang modules] Setting `DebugCompilationDir` when it is safe to ignore current working directory (PR #128446)

2025-02-24 Thread Qiongsi Wu via cfe-commits
https://github.com/qiongsiwu edited https://github.com/llvm/llvm-project/pull/128446 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Modules] Add `clang/Lex/HLSLRootSignatureTokenKinds.def` to clang's `modulemap` (PR #127839)

2025-02-19 Thread Qiongsi Wu via cfe-commits
https://github.com/qiongsiwu created https://github.com/llvm/llvm-project/pull/127839 b41b86a907f653f79bab10d4c80b3a41d146c71b added a new textual header `clang/Lex/HLSLRootSignatureTokenKinds.def` but did not add it to `clang`'s module map. This causes build failure when building llvm with `

[clang] [clang modules] Setting `DebugCompilationDir` when it is safe to ignore current working directory (PR #128446)

2025-02-26 Thread Qiongsi Wu via cfe-commits
qiongsiwu wrote: Ping for review. Thanks so much! https://github.com/llvm/llvm-project/pull/128446 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang modules] Setting `DebugCompilationDir` when it is safe to ignore current working directory (PR #128446)

2025-02-26 Thread Qiongsi Wu via cfe-commits
https://github.com/qiongsiwu closed https://github.com/llvm/llvm-project/pull/128446 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang modules] Setting `DebugCompilationDir` when it is safe to ignore current working directory (PR #128446)

2025-02-25 Thread Qiongsi Wu via cfe-commits
https://github.com/qiongsiwu updated https://github.com/llvm/llvm-project/pull/128446 >From c8eda8b9192cf4bdad4121063336beeb14cbe689 Mon Sep 17 00:00:00 2001 From: Qiongsi Wu Date: Sun, 23 Feb 2025 16:47:18 -0800 Subject: [PATCH 1/6] Initial commit --- .../DependencyScanning/ModuleDepCollecto

[clang] [clang modules] Setting `DebugCompilationDir` when it is safe to ignore current working directory (PR #128446)

2025-02-25 Thread Qiongsi Wu via cfe-commits
https://github.com/qiongsiwu updated https://github.com/llvm/llvm-project/pull/128446 >From c8eda8b9192cf4bdad4121063336beeb14cbe689 Mon Sep 17 00:00:00 2001 From: Qiongsi Wu Date: Sun, 23 Feb 2025 16:47:18 -0800 Subject: [PATCH 1/5] Initial commit --- .../DependencyScanning/ModuleDepCollecto

[clang] [clang modules] Setting `DebugCompilationDir` when it is safe to ignore current working directory (PR #128446)

2025-02-25 Thread Qiongsi Wu via cfe-commits
https://github.com/qiongsiwu updated https://github.com/llvm/llvm-project/pull/128446 >From c8eda8b9192cf4bdad4121063336beeb14cbe689 Mon Sep 17 00:00:00 2001 From: Qiongsi Wu Date: Sun, 23 Feb 2025 16:47:18 -0800 Subject: [PATCH 1/7] Initial commit --- .../DependencyScanning/ModuleDepCollecto

[clang] [clang modules] Setting `DebugCompilationDir` when it is safe to ignore current working directory (PR #128446)

2025-02-25 Thread Qiongsi Wu via cfe-commits
@@ -492,8 +492,23 @@ static std::string getModuleContextHash(const ModuleDeps &MD, auto &FSOpts = const_cast(CI.getFileSystemOpts()); if (CWD && !IgnoreCWD) HashBuilder.add(*CWD); - else + else { FSOpts.WorkingDir.clear(); +auto &CGOpts = const_cast(CI.getCo

[clang] [clang modules] Setting `DebugCompilationDir` when it is safe to ignore current working directory (PR #128446)

2025-02-25 Thread Qiongsi Wu via cfe-commits
https://github.com/qiongsiwu updated https://github.com/llvm/llvm-project/pull/128446 >From c8eda8b9192cf4bdad4121063336beeb14cbe689 Mon Sep 17 00:00:00 2001 From: Qiongsi Wu Date: Sun, 23 Feb 2025 16:47:18 -0800 Subject: [PATCH 1/4] Initial commit --- .../DependencyScanning/ModuleDepCollecto

[clang] [clang modules] Setting `DebugCompilationDir` when it is safe to ignore current working directory (PR #128446)

2025-02-25 Thread Qiongsi Wu via cfe-commits
@@ -492,8 +492,23 @@ static std::string getModuleContextHash(const ModuleDeps &MD, auto &FSOpts = const_cast(CI.getFileSystemOpts()); qiongsiwu wrote: I refactored the code a bit in this PR and we don't use `const_cast` any more. https://github.com/llvm/llv

[clang] [clang modules] Setting `DebugCompilationDir` when it is safe to ignore current working directory (PR #128446)

2025-02-25 Thread Qiongsi Wu via cfe-commits
@@ -492,8 +492,23 @@ static std::string getModuleContextHash(const ModuleDeps &MD, auto &FSOpts = const_cast(CI.getFileSystemOpts()); if (CWD && !IgnoreCWD) HashBuilder.add(*CWD); - else + else { FSOpts.WorkingDir.clear(); +auto &CGOpts = const_cast(CI.getCo

[clang] [clang][Modules] Fix the Size of `RecordDecl`'s `BitCodeAbbrevOp` (PR #133500)

2025-03-28 Thread Qiongsi Wu via cfe-commits
https://github.com/qiongsiwu edited https://github.com/llvm/llvm-project/pull/133500 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][Modules] Fix the Size of `RecordDecl`'s `BitCodeAbbrevOp` (PR #133500)

2025-03-28 Thread Qiongsi Wu via cfe-commits
qiongsiwu wrote: Note to reviewers: A test case is added by https://github.com/swiftlang/llvm-project/pull/10371. This is difficult to test in the community llvm code base because the failure was discovered when building structs with `__ptrauth`, which is not available here. I tried a few thi

[clang] [clang][Unit Test] Updating Negative Stat Caching Diagnostic Unit Test (PR #138955)

2025-05-08 Thread Qiongsi Wu via cfe-commits
https://github.com/qiongsiwu edited https://github.com/llvm/llvm-project/pull/138955 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][Unit Test] Updating Negative Stat Caching Diagnostic Unit Test (PR #138955)

2025-05-08 Thread Qiongsi Wu via cfe-commits
https://github.com/qiongsiwu closed https://github.com/llvm/llvm-project/pull/138955 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][Unit Test] Updating Negative Stat Caching Diagnostic Unit Test (PR #138955)

2025-05-07 Thread Qiongsi Wu via cfe-commits
https://github.com/qiongsiwu created https://github.com/llvm/llvm-project/pull/138955 This PR makes a minor modification to make it more stable. The only change is adding a suffix to the path under test. >From 1078b4a257ed1ed8d955b2041df73977fa45e3ed Mon Sep 17 00:00:00 2001 From: Qiongsi Wu

[clang] Revert "[clang][Dependency Scanning] Report What a Module Exports during Scanning (#137421)" (PR #140820)

2025-05-20 Thread Qiongsi Wu via cfe-commits
https://github.com/qiongsiwu created https://github.com/llvm/llvm-project/pull/140820 This reverts commit ea1bfbf3f6399b7d2d840722f0e87542d00f6a35. The commit did not solve the fundamental issue we need to handle and is no longer necessary. rdar://144794793 >From 22c4747a1232756c672691a14ae

[clang] Revert "[clang][Dependency Scanning] Report What a Module Exports during Scanning (#137421)" (PR #140820)

2025-05-29 Thread Qiongsi Wu via cfe-commits
https://github.com/qiongsiwu closed https://github.com/llvm/llvm-project/pull/140820 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang Dependency Scanning] Enhance File Caching Diagnostics (PR #144105)

2025-06-22 Thread Qiongsi Wu via cfe-commits
https://github.com/qiongsiwu edited https://github.com/llvm/llvm-project/pull/144105 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang Dependency Scanning] Enhance File Caching Diagnostics (PR #144105)

2025-06-24 Thread Qiongsi Wu via cfe-commits
@@ -220,13 +221,34 @@ class DependencyScanningFilesystemSharedCache { CacheShard &getShardForFilename(StringRef Filename) const; CacheShard &getShardForUID(llvm::sys::fs::UniqueID UID) const; - /// Visits all cached entries and re-stat an entry using FS if - /// it is ne

[clang] [clang Dependency Scanning] Enhance File Caching Diagnostics (PR #144105)

2025-06-24 Thread Qiongsi Wu via cfe-commits
https://github.com/qiongsiwu updated https://github.com/llvm/llvm-project/pull/144105 >From 2187de3d30045a02c03ca009f2497608ab6bc6a4 Mon Sep 17 00:00:00 2001 From: Qiongsi Wu Date: Thu, 12 Jun 2025 16:05:32 -0700 Subject: [PATCH 1/3] Enhancing DependencyScanningFilesystemSharedCache's API that

[clang] [clang Dependency Scanning] Enhance File Caching Diagnostics (PR #144105)

2025-06-24 Thread Qiongsi Wu via cfe-commits
https://github.com/qiongsiwu updated https://github.com/llvm/llvm-project/pull/144105 >From 2187de3d30045a02c03ca009f2497608ab6bc6a4 Mon Sep 17 00:00:00 2001 From: Qiongsi Wu Date: Thu, 12 Jun 2025 16:05:32 -0700 Subject: [PATCH 1/4] Enhancing DependencyScanningFilesystemSharedCache's API that

[clang] [clang Dependency Scanning] Enhance File Caching Diagnostics (PR #144105)

2025-06-24 Thread Qiongsi Wu via cfe-commits
https://github.com/qiongsiwu closed https://github.com/llvm/llvm-project/pull/144105 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang Dependency Scanning] Enhance File Caching Diagnostics (PR #144105)

2025-06-13 Thread Qiongsi Wu via cfe-commits
https://github.com/qiongsiwu created https://github.com/llvm/llvm-project/pull/144105 `DependencyScanningFileSystemSharedCache` can currently report invalid negative stat cached paths. This PR enhances the reporting with two modifications. 1. The reported path are now null terminated char arr

[clang] [clang Dependency Scanning] Enhance File Caching Diagnostics (PR #144105)

2025-06-13 Thread Qiongsi Wu via cfe-commits
@@ -220,13 +220,41 @@ class DependencyScanningFilesystemSharedCache { CacheShard &getShardForFilename(StringRef Filename) const; CacheShard &getShardForUID(llvm::sys::fs::UniqueID UID) const; - /// Visits all cached entries and re-stat an entry using FS if - /// it is ne

[clang] [clang Dependency Scanning] Enhance File Caching Diagnostics (PR #144105)

2025-06-13 Thread Qiongsi Wu via cfe-commits
https://github.com/qiongsiwu ready_for_review https://github.com/llvm/llvm-project/pull/144105 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang Dependency Scanning] Enhance File Caching Diagnostics (PR #144105)

2025-06-23 Thread Qiongsi Wu via cfe-commits
https://github.com/qiongsiwu updated https://github.com/llvm/llvm-project/pull/144105 >From 2187de3d30045a02c03ca009f2497608ab6bc6a4 Mon Sep 17 00:00:00 2001 From: Qiongsi Wu Date: Thu, 12 Jun 2025 16:05:32 -0700 Subject: [PATCH 1/3] Enhancing DependencyScanningFilesystemSharedCache's API that

[clang] [clang Dependency Scanning] Enhance File Caching Diagnostics (PR #144105)

2025-06-23 Thread Qiongsi Wu via cfe-commits
@@ -107,31 +107,39 @@ DependencyScanningFilesystemSharedCache::getShardForUID( return CacheShards[Hash % NumShards]; } -std::vector -DependencyScanningFilesystemSharedCache::getInvalidNegativeStatCachedPaths( +std::vector +DependencyScanningFilesystemSharedCache::getInvalidE

[clang] [clang Dependency Scanning] Enhance File Caching Diagnostics (PR #144105)

2025-06-23 Thread Qiongsi Wu via cfe-commits
https://github.com/qiongsiwu edited https://github.com/llvm/llvm-project/pull/144105 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang Dependency Scanning] Enhance File Caching Diagnostics (PR #144105)

2025-06-23 Thread Qiongsi Wu via cfe-commits
@@ -220,13 +220,41 @@ class DependencyScanningFilesystemSharedCache { CacheShard &getShardForFilename(StringRef Filename) const; CacheShard &getShardForUID(llvm::sys::fs::UniqueID UID) const; - /// Visits all cached entries and re-stat an entry using FS if - /// it is ne

[clang] [clang Dependency Scanning] Enhance File Caching Diagnostics (PR #144105)

2025-06-23 Thread Qiongsi Wu via cfe-commits
@@ -220,13 +220,41 @@ class DependencyScanningFilesystemSharedCache { CacheShard &getShardForFilename(StringRef Filename) const; CacheShard &getShardForUID(llvm::sys::fs::UniqueID UID) const; - /// Visits all cached entries and re-stat an entry using FS if - /// it is ne

[clang] [clang Dependency Scanning] Enhance File Caching Diagnostics (PR #144105)

2025-06-23 Thread Qiongsi Wu via cfe-commits
https://github.com/qiongsiwu updated https://github.com/llvm/llvm-project/pull/144105 >From 2187de3d30045a02c03ca009f2497608ab6bc6a4 Mon Sep 17 00:00:00 2001 From: Qiongsi Wu Date: Thu, 12 Jun 2025 16:05:32 -0700 Subject: [PATCH 1/2] Enhancing DependencyScanningFilesystemSharedCache's API that

[clang] [clang Dependency Scanning] Enhance File Caching Diagnostics (PR #144105)

2025-06-23 Thread Qiongsi Wu via cfe-commits
https://github.com/qiongsiwu edited https://github.com/llvm/llvm-project/pull/144105 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang Dependency Scanning] Enhance File Caching Diagnostics (PR #144105)

2025-06-23 Thread Qiongsi Wu via cfe-commits
https://github.com/qiongsiwu updated https://github.com/llvm/llvm-project/pull/144105 >From 2187de3d30045a02c03ca009f2497608ab6bc6a4 Mon Sep 17 00:00:00 2001 From: Qiongsi Wu Date: Thu, 12 Jun 2025 16:05:32 -0700 Subject: [PATCH 1/2] Enhancing DependencyScanningFilesystemSharedCache's API that

[clang] [clang Dependency Scanning] Enhance File Caching Diagnostics (PR #144105)

2025-06-13 Thread Qiongsi Wu via cfe-commits
@@ -107,31 +107,39 @@ DependencyScanningFilesystemSharedCache::getShardForUID( return CacheShards[Hash % NumShards]; } -std::vector -DependencyScanningFilesystemSharedCache::getInvalidNegativeStatCachedPaths( +std::vector +DependencyScanningFilesystemSharedCache::getInvalidE

[clang] [clang Dependency Scanning] Enhance File Caching Diagnostics (PR #144105)

2025-06-25 Thread Qiongsi Wu via cfe-commits
https://github.com/qiongsiwu updated https://github.com/llvm/llvm-project/pull/144105 >From 2187de3d30045a02c03ca009f2497608ab6bc6a4 Mon Sep 17 00:00:00 2001 From: Qiongsi Wu Date: Thu, 12 Jun 2025 16:05:32 -0700 Subject: [PATCH 1/5] Enhancing DependencyScanningFilesystemSharedCache's API that

[clang] [clang][Dependency Scanning] Report only Regular File Size Changes When Computing Out-of-Date File System Cache Entries (PR #148082)

2025-07-11 Thread Qiongsi Wu via cfe-commits
https://github.com/qiongsiwu closed https://github.com/llvm/llvm-project/pull/148082 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][Modules] Reporting Errors for Duplicating Link Declarations in `modulemap`s (PR #148959)

2025-07-15 Thread Qiongsi Wu via cfe-commits
https://github.com/qiongsiwu created https://github.com/llvm/llvm-project/pull/148959 This PR teaches the modulemap parsing logic to report errors if the parsing logic sees duplicating link declarations in the same module. Specifically, duplicating link declarations means multiple link declara

[clang] [clang][Modules] Reporting Errors for Duplicating Link Declarations in `modulemap`s (PR #148959)

2025-07-15 Thread Qiongsi Wu via cfe-commits
https://github.com/qiongsiwu edited https://github.com/llvm/llvm-project/pull/148959 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][Modules] Reporting Errors for Duplicating Link Declarations in `modulemap`s (PR #148959)

2025-07-16 Thread Qiongsi Wu via cfe-commits
https://github.com/qiongsiwu updated https://github.com/llvm/llvm-project/pull/148959 >From 0e8a0db8ace8fd1f450cf2364b4c975d418eddc1 Mon Sep 17 00:00:00 2001 From: Qiongsi Wu Date: Mon, 14 Jul 2025 18:22:27 -0700 Subject: [PATCH 1/3] Initial implementation of modulemap link decl duplication ch

<    1   2   3   4   >