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