This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Simple returns are broken in gcc 3.X
- To: rth at redhat dot com (Richard Henderson)
- Subject: Re: Simple returns are broken in gcc 3.X
- From: "John David Anglin" <dave at hiauly1 dot hia dot nrc dot ca>
- Date: Tue, 31 Jul 2001 19:06:25 -0400 (EDT)
- Cc: gcc at gcc dot gnu dot org
> 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)