getScalarizationOverhead(), revisited

Hal Finkel via llvm-commits llvm-commits at lists.llvm.org
Fri Jan 27 06:58:48 PST 2017


On 01/27/2017 07:47 AM, Jonas Paulsson wrote:
> Hi Hal,
>
> Thanks for review the other day of my patch on 
> getScalarizationOverhead().
>
> After getting that approved, I took another look over places where 
> this method is called. I found at least one more case that I could 
> fix. It was in LoopVectorizer.cpp - see patch. Changing this also gave 
> as a bonus effect the elimination of one more wrapper function for this.
>
> I think it may be possible also to improve this in 
> getIntrinsicInstrCost(), if we extend the parameter list to pass the 
> arguments or the instruction itself. I am not sure though how needed 
> this is - it seems quite rare.

We should definitely fix this; it comes up whenever we consider 
scalarizing an intrinsic with multiple arguments (e.g. fma, min/max), 
and we don't want to systematically underestimate that cost.

>
> Does this patch look ok?

Yes. LGTM.

>
> /Jonas
>

-- 
Hal Finkel
Lead, Compiler Technology and Programming Languages
Leadership Computing Facility
Argonne National Laboratory



More information about the llvm-commits mailing list