This is the mail archive of the gcc@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: Simple returns are broken in gcc 3.X


> On Tue, Jul 31, 2001 at 04:43:15PM -0400, John David Anglin wrote:
> > It may not be necessary.  I am trying to rework
> > thread_prologue_and_epilogue_insns to always output a return
> > in the HAVE_return case.
> 
> Hum.  We'll see.  I still think you'd be better served adding the
> epilogue pattern.  It's clearer to categorize HAVE_return as the
> optimization and HAVE_epilogue as the requirement.

I can't disagree with your logic.

In looking at thread_prologue_and_epilogue_insns, I am having
difficulty understanding how "returns" are generated when an exit
block has no non-fake predecessors or no fall-thru predecessor.
In these two situations, the code jumps to epilogue_done and the
epilogue isn't expanded. 

Dave
-- 
J. David Anglin                                  dave.anglin@nrc.ca
National Research Council of Canada              (613) 990-0752 (FAX: 952-6605)


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