[llvm-commits] [llvm] r89877 - /llvm/trunk/lib/Target/PowerPC/PPCInstrInfo.h
Bob Wilson
bob.wilson at apple.com
Wed Nov 25 16:45:26 PST 2009
On Nov 25, 2009, at 4:18 PM, Chris Lattner wrote:
>
> On Nov 25, 2009, at 11:57 AM, Bob Wilson wrote:
>
>> Author: bwilson
>> Date: Wed Nov 25 13:57:14 2009
>> New Revision: 89877
>>
>> URL: http://llvm.org/viewvc/llvm-project?rev=89877&view=rev
>> Log:
>> Tail duplicate indirect branches for PowerPC, too.
>> With the testcase for pr3120, the "threaded interpreter" runtime decreases
>> from 1788 to 1413 with this change.
>
> Very nice Bob! Silly question: should isProfitableToDuplicateIndirectBranch default to true? That would let targets opt out if it is not beneficial and would save a small bit of code size.
Not silly at all.... I had the same thought.
Having spent more time looking at the effects of this transformation, I have a different proposal that I think you might like. Let's just get rid of that target hook altogether. ;-)
This special treatment of indirect branches for tail duplication just doesn't kick in very often. I was being cautious about blowing up code size, but it doesn't happen often enough to matter. I also wasn't sure if this would matter on anything besides ARM Cortex processors but now we know that it does.
On a related note, Evan suggested that we be more aggressive about this with -Os, and I think that's also a good idea.
Unless someone objects, I'll go ahead with those changes sometime soon.
More information about the llvm-commits
mailing list