Hariharan Sandanagobalane <[EMAIL PROTECTED]> writes:

> I looked at an inefficient code sequence for a simple program using
> GCC's picochip port (not yet submitted to mainline).

Are you working with mainline sources?

> Note that the parameter is being written to the frame in the last 2
> instructions above. This, i am guessing is the reason for the
> get_frame_size() returning 4 later on, though the actual save of the
> struct parameter value on the stack is being eliminated at later
> optimization phases (CSE and DCE, i believe).
> 
> Why does the compiler do this? I vaguely remember x86 storing all
> parameter values on stack. Is that the reason for this behaviour? Is
> there anything i can do in the port to get around this problem?

At a guess, it's because the frontend decided that the struct was
addressable and needed to be pushed on the stack.  I thought this got
cleaned up recently, though.

Ian

Reply via email to