[clang] [clang-sycl-linker] AOT-compile split modules concurrently (PR #224548)

Wenju He via cfe-commits cfe-commits at lists.llvm.org
Sun Sep 20 19:37:27 PDT 2026


================
@@ -924,6 +925,54 @@ static bool canSkipModuleSplit(IRSplitMode Mode, const Module &M,
   });
 }
 
+/// AOT-compiles every already-produced image in \p SplitModules concurrently
+/// and swaps each module's path to point at the compiled object.
+static Error aotCompileSplitModules(SmallVectorImpl<SplitModule> &SplitModules,
+                                    const ArgList &Args, StringRef OutputFile) {
+  // Each worker thread writes only its own index, so this is race-free.
+  SmallVector<std::string, 0> AOTFiles(SplitModules.size());
----------------
wenju-he wrote:

done, created a new issue https://github.com/llvm/llvm-project/issues/224986 for the SmallVector size issue.

https://github.com/llvm/llvm-project/pull/224548


More information about the cfe-commits mailing list