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] |
Other format: | [Raw text] |
On 09/30/11 18:51, Richard Henderson wrote: > Please do leave out RETURN_ADDR_REGNUM for now. If you remember why, > then you could bring it back alongside the patch for the ARM backend. Changed. > As for the i386 backend changes, not an objection per se, but I'm > trying to understand why we need so many copies of patterns. Also changed. > I don't see anything glaringly wrong in the middle end. Although > the thread_prologue_and_epilogue_insns function is now gigantic. > If there were an easy way to break that up and reduce the amount > of conditional compilation at the same time... that'd be great, > but not a requirement. I don't think there's an easy way; and it's almost certain to break stuff again, so I'd rather avoid doing it at the same time as this patch if possible. I can see one possible way of tackling it; have an analysis phase that fills up a few basic_block VECs (those which need sibcall returns, those which need plain returns, those which need simple returns) and computes other information, such as the edges on which prologue and epilogue are to be inserted, and then a worker phase (probably split across several functions) which does all the fiddling. Richard S. suggested: > ...how about adding a bit to crtl to say whether shrink-wrap occured, > and check that instead of flag_shrink_wrap? Good idea, also changed. New version below. Bootstrapped and tested i686-linux. Bernd
Attachment:
sw1004.diff
Description: Text document
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |