[clang] [clang-sycl-linker] Generate SymbolTable for each image (PR #161287)
Yury Plyakhin via cfe-commits
cfe-commits at lists.llvm.org
Mon Sep 29 18:09:48 PDT 2025
================
@@ -486,6 +492,22 @@ Error runSYCLLink(ArrayRef<std::string> Files, const ArgList &Args) {
SmallVector<std::string> SplitModules;
SplitModules.emplace_back(*LinkedFile);
+ // Generate symbol table.
+ SmallVector<std::string> SymbolTable;
+ for (size_t I = 0, E = SplitModules.size(); I != E; ++I) {
+ Expected<std::unique_ptr<Module>> ModOrErr =
+ getBitcodeModule(SplitModules[I], C);
+ if (!ModOrErr)
+ return ModOrErr.takeError();
+
+ SmallVector<StringRef> Symbols;
+ for (Function &F : **ModOrErr) {
+ if (isKernel(F))
+ Symbols.push_back(F.getName());
+ }
+ SymbolTable.emplace_back(llvm::join(Symbols.begin(), Symbols.end(), "\n"));
----------------
YuriPlyakhin wrote:
looks like duplicated question, so I'll mark it as resolved.
https://github.com/llvm/llvm-project/pull/161287
More information about the cfe-commits
mailing list