[llvm-commits] [llvm] r168893 - in /llvm/trunk: lib/Transforms/Scalar/SimplifyLibCalls.cpp lib/Transforms/Utils/SimplifyLibCalls.cpp test/Transforms/InstCombine/fprintf-1.ll test/Transforms/InstCombine/fputs-1.ll test/Transforms/SimplifyLibCalls/FPuts.ll
Meador Inge
meadori at codesourcery.com
Thu Mar 7 12:59:42 PST 2013
On 03/07/2013 12:19 PM, Michael Ilseman wrote:
> The patch was exiting early in:
> getAllocationData()
> isFreeCall()
> tryOptimizeCall()
>
> Are getAllocationData() and isFreeCall() early exit valid?
> They show up as 10% and 7% of InstCombine respectively in "intrinsic heavy" code,
> where heavy means 25% comprised of intrinsics. Are you ok with me applying those two?
Apologies, I missed those pieces. I will review them shortly.
> As far as tryOptimizeCall(), which is 20% in my profile, can you make a fast check
> for whether the call is even a libcall/pow/exp2? That should also benefit Nadav, who
> is seeing wrapper functions of non-libcalls.
I just posted a patch to fix the main issue Nadav raised here:
http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20130304/167757.html.
Now that we aren't building the hash table each time the lookup
should be pretty quick. I expect that 20% to go down in your profile.
--
Meador Inge
CodeSourcery / Mentor Embedded
More information about the llvm-commits
mailing list