https://github.com/naveen-seth created https://github.com/llvm/llvm-project/pull/191441
None >From cf5a918988a88cfadc78664a0b382c6deaba9cd3 Mon Sep 17 00:00:00 2001 From: Naveen Seth Hanig <[email protected]> Date: Fri, 10 Apr 2026 17:09:58 +0200 Subject: [PATCH] [clang][modules-driver] Extract logic to feed jobs back into Compilation (NFC) --- clang/lib/Driver/ModulesDriver.cpp | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/clang/lib/Driver/ModulesDriver.cpp b/clang/lib/Driver/ModulesDriver.cpp index 783f2270c4e0f..7ccad81f02571 100644 --- a/clang/lib/Driver/ModulesDriver.cpp +++ b/clang/lib/Driver/ModulesDriver.cpp @@ -1496,6 +1496,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."); @@ -1554,12 +1567,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)); } _______________________________________________ cfe-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
