[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