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 07:06:25PM -0400, John David Anglin wrote:
> 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.

They aren't generated in this case because that means that the
function doesn't return (normally) at all.  Perhaps that bit is
deserving of a comment...

There are two other kinds of edges that can come to EXIT_BLOCK:

  (1) If EDGE_ABNORMAL_CALL, then we exit the function by a sibling call.
  (2) If !EDGE_FALLTHRU, then we exit via a return insn.  Given that
      we're removing HAVE_return generation from early in the compiler,
      this should no longer happen at this point.


r~


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