================
@@ -1422,6 +1427,21 @@ SmallVector<const char *> 
LTO::getRuntimeLibcallSymbols(const Triple &TT) {
   return LibcallSymbols;
 }
 
+SmallVector<StringRef> LTO::getLibFuncSymbols(const Triple &TT,
+                                              StringSaver &Saver) {
+  auto TLII = std::make_unique<TargetLibraryInfoImpl>(TT);
+  TargetLibraryInfo TLI(*TLII);
+  SmallVector<StringRef> LibFuncSymbols;
+  LibFuncSymbols.reserve(LibFunc::NumLibFuncs);
+  for (unsigned I = 0, E = static_cast<unsigned>(LibFunc::NumLibFuncs); I != E;
+       ++I) {
----------------
mysterymath wrote:

The LibFunc enum doesn't currently define 
`enum_iteration_traits<T>::is_iterable`, so `enum_seq` rejects it. Seems like 
it should, but I'd have to find out where that should go, and it seems like 
cleaning that up globally would be better as a separate NFC change.

Regardless, I was able to switch to a more idiomatic pattern for LibFunc 
iteration.

https://github.com/llvm/llvm-project/pull/164916
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to