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]

pr 17186 fallout


I hate this pr.

So, I could fix the bulk of the 3.4 regressions with the following
patch, plus some additional tweakage to expand_function_end wrt
cfun->x_clobber_return_insn setup.  But -finstrument-functions was
not fixable with this approach.

I've reverted the original change from the 3.4 branch.

I've also committed this one, since it *could* be a problem, and
did survive a bootstrap and test cycle.

The only way to fix the original bug on the branch, I think, is to
change reg-stack such that if it sees (clobber reg), and reg is 
live after, it should load up a NaN there just as it would for st0
at the end of a function.

I don't know if I have the energy to do that right now.  Maybe later.


r~


        * sibcall.c (call_ends_block_p): Fix thinko finding the
        last real insn in a block.

Index: sibcall.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/Attic/sibcall.c,v
retrieving revision 1.45
diff -c -p -d -r1.45 sibcall.c
*** sibcall.c	11 Dec 2003 00:20:48 -0000	1.45
--- sibcall.c	15 Sep 2004 05:34:51 -0000
*************** static int
*** 330,337 ****
  call_ends_block_p (rtx insn, rtx end)
  {
    rtx new_insn;
    /* END might be a note, so get the last nonnote insn of the block.  */
!   end = next_nonnote_insn (PREV_INSN (end));
  
    /* If the call was the end of the block, then we're OK.  */
    if (insn == end)
--- 330,339 ----
  call_ends_block_p (rtx insn, rtx end)
  {
    rtx new_insn;
+ 
    /* END might be a note, so get the last nonnote insn of the block.  */
!   if (NOTE_P (end))
!     end = prev_nonnote_insn (end);
  
    /* If the call was the end of the block, then we're OK.  */
    if (insn == end)


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