[PATCH] Prevent user-supplied libc implementations from premature removal in LTO

Rafael Espíndola rafael.espindola at gmail.com
Tue Nov 12 07:45:33 PST 2013

>> What is the size of this std::vector? Would a StringSet be better?
> I see ~600 entries for RTLIB::Libcall and LibFunc::Func combined.  I don’t have a good sense of how StringSet and std::vector compare at this size, so I’ll defer to your judgement.  I’ve left it as std::vector for now.
> Typically I default to std::vector until I see a performance problem, and <http://llvm.org/docs/ProgrammersManual.html#dss-sortedvectorset> suggested my pattern was okay.  However, I missed the discussion of StringSet/StringMap — should I use StringSet by default for strings?

I time gold's plugin linking all of clang with and without your patch
and the difference is in the noise, so std::string is OK.

>> Nick, what do you think of the idea of using TargetLibraryInfo and
>> TargetLowering?
> Nick?

The patch LGTM. I am not sure we avoid internalizing all the functions
llvm can produce a call to, but if we don't we have a place to add
them in the future.


More information about the llvm-commits mailing list