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]

prop_reg_info tweek


We do not want call-clobbered registers marked in regs_ever_live by a call.
The fine distinction can only be seen on register window machines, and even
then probably only in certain situations.

Noticed by Jakub in a failure of the sparc sibcall patterns to choose the
more efficient sequence in a function containing only sibcalls.


r~

        * flow.c (propagate_one_insn): Also don't PROP_REG_INFO for 
        call-clobbered registers of a call.

Index: flow.c
===================================================================
RCS file: /cvs/gcc/egcs/gcc/flow.c,v
retrieving revision 1.273
diff -c -p -d -r1.273 flow.c
*** flow.c	2000/05/03 16:39:55	1.273
--- flow.c	2000/05/03 17:49:08
*************** propagate_one_insn (pbi, insn)
*** 3474,3480 ****
  	      {
  		/* We do not want REG_UNUSED notes for these registers.  */
  		mark_set_1 (pbi, CLOBBER, gen_rtx_REG (reg_raw_mode[i], i),
! 			    cond, insn, pbi->flags & ~PROP_DEATH_NOTES);
  	      }
  	}
  
--- 3474,3481 ----
  	      {
  		/* We do not want REG_UNUSED notes for these registers.  */
  		mark_set_1 (pbi, CLOBBER, gen_rtx_REG (reg_raw_mode[i], i),
! 			    cond, insn,
! 			    pbi->flags & ~(PROP_DEATH_NOTES | PROP_REG_INFO));
  	      }
  	}
  

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