[llvm] [offload][SYCL] Add Module splitting by categories. (PR #131347)

Arvind Sudarsanam via llvm-commits llvm-commits at lists.llvm.org
Wed Jun 4 07:22:28 PDT 2025


================
@@ -119,33 +125,82 @@ void writeModuleToFile(const Module &M, StringRef Path, bool OutputAssembly) {
     WriteBitcodeToFile(M, OS);
 }
 
-void writeSplitModulesAsTable(ArrayRef<sycl::ModuleAndSYCLMetadata> Modules,
-                              StringRef Path) {
-  SmallVector<SmallString<64>> Columns;
-  Columns.emplace_back("Code");
-  Columns.emplace_back("Symbols");
-
-  sycl::StringTable Table;
-  Table.emplace_back(std::move(Columns));
-  for (const auto &[I, SM] : enumerate(Modules)) {
-    SmallString<128> SymbolsFile;
-    (Twine(Path) + "_" + Twine(I) + ".sym").toVector(SymbolsFile);
-    writeStringToFile(SM.Symbols, SymbolsFile);
-    SmallVector<SmallString<64>> Row;
-    Row.emplace_back(SM.ModuleFilePath);
-    Row.emplace_back(SymbolsFile);
-    Table.emplace_back(std::move(Row));
+/// FunctionCategorizer is used for splitting by category either by module-id or
----------------
asudarsa wrote:

Hmm. This is a bit tricky. Can we expect other frontends to generate 'module-id'?

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


More information about the llvm-commits mailing list