This is the mail archive of the gcc-patches@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: Const/libcall function calling tweeks


On Tue, Mar 07, 2000 at 03:07:08PM +0100, Jan Hubicka wrote:
> The expand_call calls NO_DEFER_POP for the const functions. 
> I don't see any purpose for doing that, since this only affects
> the nested function calls in the arguments.

Err.. It shouldn't.  What's is intended is that the bits in between
the REG_LIBCALL and the REG_RETVAL be self-contained.  If we don't
turn on NO_DEFER_POP, the stack adjustment will be dependant on the
context of the surrounding calls.

Of course, I'm quite certain we also get this wrong for stack 
alignment to nested calls.  Yep, just tested it.

All this is quite ugly.  I'm wondering if it wouldn't be simpler to
just give up and un-nest calls before expansion.


r~

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