[clang] [lld] [llvm] [LTO][LLD] Prevent invalid LTO libfunc transforms (PR #164916)

Daniel Thornburgh via cfe-commits cfe-commits at lists.llvm.org
Thu Jan 22 11:55:59 PST 2026


================
@@ -234,6 +234,10 @@ static cl::opt<bool>
     AllVtablesHaveTypeInfos("all-vtables-have-type-infos", cl::Hidden,
                             cl::desc("All vtables have type infos"));
 
+static cl::list<std::string>
+    BitcodeLibFuncs("bitcode-libfuncs", cl::Hidden,
+                    cl::desc("set of libfuncs implemented in bitcode"));
----------------
mysterymath wrote:

> I've been thinking this should be a module flag, and we should have some scheme to indicate groups of functions from particular libraries, plus individual functions. Having to list every single symbol sounds unwieldy

The important information in this list would be the functions that *aren't* present in the link because they were never extracted; we could restrict the list to just those elements, but it seemed cleaner to have LTO do the subtraction instead of the linker. But if you mean that the linker could stick this information onto a module flag before passing it to LTO... maybe? Oh, or you mean that the information would be which TU's didn't make it in, rather than which functions. I've been thinking along those lines too. Okay, I'll add a fixme with possible directions.

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


More information about the cfe-commits mailing list