Displaying 6 results from an estimated 6 matches for "calleefi".
2010 Nov 24
7
[LLVMdev] LLVM Inliner
...does
indirect branch instr correspond to ? variable jump?
5) fudge factor prefers functions with vector instructions -- why is that?
6) There is one heuristc used in inline-cost computation seems wrong:
// Calls usually take a long time, so they make the inlining gain smaller.
InlineCost += CalleeFI->Metrics.NumCalls * InlineConstants::CallPenalty;
Does it try to block inlining of callees with lots of calls? Note inlining
such a function only increase static call counts.
Thanks,
David
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.o...
2010 Nov 24
0
[LLVMdev] LLVM Inliner
...sing that vectorized instructions are an indicator that the
function is a hotspot, and should therefore be inlined.
> 6) There is one heuristc used in inline-cost computation seems wrong:
>
> // Calls usually take a long time, so they make the inlining gain smaller.
> InlineCost += CalleeFI->Metrics.NumCalls * InlineConstants::CallPenalty;
> Does it try to block inlining of callees with lots of calls? Note inlining
> such a function only increase static call counts.
I'm guessing the heuristic is that functions with lots of calls are
heavy and spend a lot of time in their...
2010 Nov 24
0
[LLVMdev] LLVM Inliner
...*ptr;".
Nick
> 5) fudge factor prefers functions with vector instructions -- why is that?
>
> 6) There is one heuristc used in inline-cost computation seems wrong:
>
>
> // Calls usually take a long time, so they make the inlining gain
> smaller.
> InlineCost += CalleeFI->Metrics.NumCalls * InlineConstants::CallPenalty;
>
> Does it try to block inlining of callees with lots of calls? Note
> inlining such a function only increase static call counts.
>
>
> Thanks,
>
> David
>
>
>
> _______________________________________________...
2010 Nov 28
0
[LLVMdev] LLVM Inliner
...? variable jump?
See:
http://blog.llvm.org/2010/01/address-of-label-and-indirect-branches.html
for more details.
> 6) There is one heuristc used in inline-cost computation seems wrong:
>
> // Calls usually take a long time, so they make the inlining gain smaller.
> InlineCost += CalleeFI->Metrics.NumCalls * InlineConstants::CallPenalty;
>
> Does it try to block inlining of callees with lots of calls? Note inlining such a function only increase static call counts.
I think that this is a heuristic that Jakob came up with, but I think it's a good one, also discussed els...
2010 Nov 24
3
[LLVMdev] LLVM Inliner
...) fudge factor prefers functions with vector instructions -- why is that?
>>
>> 6) There is one heuristc used in inline-cost computation seems wrong:
>>
>>
>> // Calls usually take a long time, so they make the inlining gain
>> smaller.
>> InlineCost += CalleeFI->Metrics.NumCalls * InlineConstants::CallPenalty;
>>
>> Does it try to block inlining of callees with lots of calls? Note
>> inlining such a function only increase static call counts.
>>
>>
>> Thanks,
>>
>> David
>>
>>
>>
>>...
2010 Nov 29
3
[LLVMdev] LLVM Inliner
...vm.org/2010/01/address-of-label-and-indirect-branches.html
>
> for more details.
>
> > 6) There is one heuristc used in inline-cost computation seems wrong:
> >
> > // Calls usually take a long time, so they make the inlining gain
> smaller.
> > InlineCost += CalleeFI->Metrics.NumCalls *
> InlineConstants::CallPenalty;
> >
> > Does it try to block inlining of callees with lots of calls? Note
> inlining such a function only increase static call counts.
>
> I think that this is a heuristic that Jakob came up with, but I think it's
&g...