[clang] [clang][modules-driver] Extract logic to feed jobs back into Compilation (NFC) (PR #191441)
via cfe-commits
cfe-commits at lists.llvm.org
Fri Apr 10 08:14:08 PDT 2026
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-clang-driver
@llvm/pr-subscribers-clang
Author: Naveen Seth Hanig (naveen-seth)
<details>
<summary>Changes</summary>
---
Full diff: https://github.com/llvm/llvm-project/pull/191441.diff
1 Files Affected:
- (modified) clang/lib/Driver/ModulesDriver.cpp (+14-8)
``````````diff
diff --git a/clang/lib/Driver/ModulesDriver.cpp b/clang/lib/Driver/ModulesDriver.cpp
index afccdb104796a..1a5fcb491c686 100644
--- a/clang/lib/Driver/ModulesDriver.cpp
+++ b/clang/lib/Driver/ModulesDriver.cpp
@@ -1505,6 +1505,19 @@ static void createAndConnectRoot(CompilationGraph &Graph) {
}
}
+/// Moves jobs from \p Graph into \p C in the graph's topological order.
+static void feedJobsBackIntoCompilation(Compilation &C,
+ CompilationGraph &&Graph) {
+ llvm::ReversePostOrderTraversal<CompilationGraph *> TopologicallySortedNodes(
+ &Graph);
+ assert(isa<RootNode>(*TopologicallySortedNodes.begin()) &&
+ "First node in topological order must be the root!");
+ auto TopologicallySortedJobNodes = llvm::map_range(
+ llvm::drop_begin(TopologicallySortedNodes), llvm::CastTo<JobNode>);
+ for (auto *JN : TopologicallySortedJobNodes)
+ C.addCommand(std::move(JN->Job));
+}
+
void driver::modules::runModulesDriver(
Compilation &C, ArrayRef<StdModuleManifest::Module> ManifestEntries) {
llvm::PrettyStackTraceString CrashInfo("Running modules driver.");
@@ -1563,12 +1576,5 @@ void driver::modules::runModulesDriver(
// TODO: Fix-up command-lines for named module imports.
- llvm::ReversePostOrderTraversal<CompilationGraph *> TopologicallySortedNodes(
- &Graph);
- assert(isa<RootNode>(*TopologicallySortedNodes.begin()) &&
- "First node in topological order must be the root!");
- auto TopologicallySortedJobNodes = llvm::map_range(
- llvm::drop_begin(TopologicallySortedNodes), llvm::CastTo<JobNode>);
- for (auto *JN : TopologicallySortedJobNodes)
- C.addCommand(std::move(JN->Job));
+ feedJobsBackIntoCompilation(C, std::move(Graph));
}
``````````
</details>
https://github.com/llvm/llvm-project/pull/191441
More information about the cfe-commits
mailing list