This is the mail archive of the gcc-bugs@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]

Re: Problem with stack-adjustment code


> On Thu, Apr 27, 2000 at 09:58:39AM -0700, Mark Mitchell wrote:
> > By the time I got your message, I already had this patch put together.
> > Since it fixes my test case, survived a i686-pc-linux-gnu
> > bootstrap/test and makes sense to me, I checked it in.  However, you
> > or Richard may well conclude I blew it.
> 
> I think you're largely right.  Moreover, combining your new code
> with one of Jan's recent patches yields something that seems right
> to me for the structure return cases too (compile/20000420-2.c).
Richard, plase can you take a look at my email I've just sent in same thread to
Mark (it will be in egcs-bugs).  I am trying to explan there, why I believe
combine_pending_stack_adjustment_and_call is redundant is
compute_argument_block_size.  I would welcome your comments about the issue.

BTW the calls.c seems to be big trouble currently. I would like to know your
opinion about my patches.  On the one hand I am trying to cleanup the design on
the other hand I am causing breakage here and there.  Do you think my attempts
are worts that?

BTW2 my plans about the whole stack alignment issue whas to redesign
it basically to do the alignment and neccesary calculation right before
the first push instruction is emitted (called from store_one_arg and
before expand_call).  I've implemented this some time ago, but it needed
quite large changes to expand_call and emit_library_call so I've delayed
this issue before the merger complettes.  This approach would fix
the problems we are seeing here as well as avoid NO_DEFFER pops in
most cases.  Perhaps this confusion is good purpose to re-implement these
canges for current calls.c.

Honza

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