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
@@ -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
@@ -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
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
@@ -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
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
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
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
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
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
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
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:
@@ -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);
-
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
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
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
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
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
@@ -108,6 +108,32 @@ DependencyScanningFilesystemSharedCache::getShardForUID(
return CacheShards[Hash % NumShards];
}
+void DependencyScanningFilesystemSharedCache::diagnoseNegativeStatCachedPaths(
+llvm::raw_ostream &OS, llvm::vfs::FileSystem &UnderlyingFS) const {
+ /
@@ -108,6 +108,32 @@ DependencyScanningFilesystemSharedCache::getShardForUID(
return CacheShards[Hash % NumShards];
}
+void DependencyScanningFilesystemSharedCache::diagnoseNegativeStatCachedPaths(
qiongsiwu wrote:
Yes good catch! This should have a lock.
@@ -108,6 +108,32 @@ DependencyScanningFilesystemSharedCache::getShardForUID(
return CacheShards[Hash % NumShards];
}
+void DependencyScanningFilesystemSharedCache::diagnoseNegativeStatCachedPaths(
+llvm::raw_ostream &OS, llvm::vfs::FileSystem &UnderlyingFS) const {
+ /
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
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
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
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
@@ -108,6 +108,31 @@ DependencyScanningFilesystemSharedCache::getShardForUID(
return CacheShards[Hash % NumShards];
}
+void DependencyScanningFilesystemSharedCache::diagnoseNegativeStatCachedPaths(
+llvm::raw_ostream &OS, llvm::vfs::FileSystem &UnderlyingFS) const {
+ /
@@ -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 %
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
@@ -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
@@ -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
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
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
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
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
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
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
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
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
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
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
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
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
@@ -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
_
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
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
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
@@ -1213,11 +1213,17 @@ void GetDependenciesByModuleNameAction::ExecuteAction()
{
Preprocessor &PP = CI.getPreprocessor();
SourceManager &SM = PP.getSourceManager();
FileID MainFileID = SM.getMainFileID();
- SourceLocation FileStart = SM.getLocForStartOfFile(MainFileID)
@@ -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
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
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
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
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
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
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-
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
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
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
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
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
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
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
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
`
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
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
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
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
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
@@ -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
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
@@ -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
@@ -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
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
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
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
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
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
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
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
201 - 278 of 278 matches
Mail list logo