This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Thumb optimization question


On Mon, 2005-12-26 at 21:41, Ivan Petrov wrote:
> I have one question. So... have small sample programm.
> 
> [code]
> int bar( int );
> 
> int foo( int a, int b )
> {
>    return bar( a + b );
> }
> [/code]
>  
> If I compille it with out -thumb parameter, i have very clean code.
>  
>  add r0, r1, r0
> bx lr
>  
> But with -thumb parameter have unopimized code.
> 
> add r1, r1, r0
> mov r0, r1
> bx lr
>  
> All diff of it outrage on '*.27.combine' (key -da) optimization step. But I long time can't understad how it work.
> Can anybody help me with it?

It's because the register allocator is stupid.

R.



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]