Re: [google] remove redundant push {lr} for -mthumb (issue4441050)

2011-04-20 Thread Richard Earnshaw
On Wed, 2011-04-20 at 16:26 +0800, Carrot Wei wrote: On Tue, Apr 19, 2011 at 8:55 PM, Richard Earnshaw rearn...@arm.com wrote: On Tue, 2011-04-19 at 17:41 +0800, Guozhi Wei wrote: Reload pass tries to determine the stack frame, so it needs to check the push/pop lr optimization

Re: [google] remove redundant push {lr} for -mthumb (issue4441050)

2011-04-20 Thread Carrot Wei
I will try this method for trunk later. thanks Carrot On Wed, Apr 20, 2011 at 4:48 PM, Richard Earnshaw rearn...@arm.com wrote: On Wed, 2011-04-20 at 16:26 +0800, Carrot Wei wrote: On Tue, Apr 19, 2011 at 8:55 PM, Richard Earnshaw rearn...@arm.com wrote: On Tue, 2011-04-19 at 17:41 +0800,

[google] remove redundant push {lr} for -mthumb (issue4441050)

2011-04-19 Thread Guozhi Wei
Reload pass tries to determine the stack frame, so it needs to check the push/pop lr optimization opportunity. One of the criteria is if there is any far jump inside the function. Unfortunately at this time gcc can't decide each instruction's length and basic block layout, so it can't know the

Re: [google] remove redundant push {lr} for -mthumb (issue4441050)

2011-04-19 Thread Richard Guenther
On Tue, Apr 19, 2011 at 11:41 AM, Guozhi Wei car...@google.com wrote: Reload pass tries to determine the stack frame, so it needs to check the push/pop lr optimization opportunity. One of the criteria is if there is any far jump inside the function. Unfortunately at this time gcc can't decide

Re: [google] remove redundant push {lr} for -mthumb (issue4441050)

2011-04-19 Thread Carrot Wei
On Tue, Apr 19, 2011 at 5:57 PM, Richard Guenther richard.guent...@gmail.com wrote: On Tue, Apr 19, 2011 at 11:41 AM, Guozhi Wei car...@google.com wrote: Reload pass tries to determine the stack frame, so it needs to check the push/pop lr optimization opportunity. One of the criteria is if

Re: [google] remove redundant push {lr} for -mthumb (issue4441050)

2011-04-19 Thread Richard Earnshaw
On Tue, 2011-04-19 at 17:41 +0800, Guozhi Wei wrote: Reload pass tries to determine the stack frame, so it needs to check the push/pop lr optimization opportunity. One of the criteria is if there is any far jump inside the function. Unfortunately at this time gcc can't decide each