[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