Displaying 5 results from an estimated 5 matches for "indirectcallbonus".
2010 Oct 11
0
[LLVMdev] Missed devirtualization opportunities
...w analysis to spot devirtualization opportunities
> across functions. (Although ArgPromotion could arrange to have the
> vtbl pointer passed in separately, and then inlining and/or partial
> specialization could be made to see that it's a pointer to a constant
> and thus add in the IndirectCallBonus)
There are always going to be cases that can only be deduced with
language knowledge. We already do some frontend de-virtualization;
this may just be a missing case. Can you post your test?
John.
2010 Oct 11
4
[LLVMdev] Missed devirtualization opportunities
...ould
do less to allow analysis to spot devirtualization opportunities
across functions. (Although ArgPromotion could arrange to have the
vtbl pointer passed in separately, and then inlining and/or partial
specialization could be made to see that it's a pointer to a constant
and thus add in the IndirectCallBonus)
At this point I'm looking for suggestions and feedback. I think
implementing (1) and (2) would go a long way toward making several
other transformations safely more aggressive, but would involve
noticeable (unacceptable?) overhead. Does what I'm looking for
already exist? Have they alr...
2010 Oct 11
2
[LLVMdev] Missed devirtualization opportunities
...ot devirtualization opportunities
>> across functions. (Although ArgPromotion could arrange to have the
>> vtbl pointer passed in separately, and then inlining and/or partial
>> specialization could be made to see that it's a pointer to a constant
>> and thus add in the IndirectCallBonus)
>
> There are always going to be cases that can only be deduced with
> language knowledge. We already do some frontend de-virtualization;
> this may just be a missing case. Can you post your test?
>
> John.
>
I compiled the attached c++ code to bitcode using clang++ -O3, th...
2010 Oct 11
0
[LLVMdev] Missed devirtualization opportunities
...ion opportunities
>>> across functions. (Although ArgPromotion could arrange to have the
>>> vtbl pointer passed in separately, and then inlining and/or partial
>>> specialization could be made to see that it's a pointer to a constant
>>> and thus add in the IndirectCallBonus)
>>
>> There are always going to be cases that can only be deduced with
>> language knowledge. We already do some frontend de-virtualization;
>> this may just be a missing case. Can you post your test?
>
> I compiled the attached c++ code to bitcode using clang++ -...
2010 Oct 11
3
[LLVMdev] Missed devirtualization opportunities
...evirtualization opportunities
>
> across functions. (Although ArgPromotion could arrange to have the
>
> vtbl pointer passed in separately, and then inlining and/or partial
>
> specialization could be made to see that it's a pointer to a constant
>
> and thus add in the IndirectCallBonus)
>
> There are always going to be cases that can only be deduced with
>
> language knowledge. We already do some frontend de-virtualization;
>
> this may just be a missing case. Can you post your test?
>
> I compiled the attached c++ code to bitcode using clang++ -O3, then...