[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