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]

[patch] for PR 24762


Hello,

there is a pasto in the fix for PR 24762 as merged from dataflow branch
-- incorrect registers are recorded for eh edges.  Bootstrapped &
regtested on ia64, commited as obvious.

Zdenek

	PR rtl-optimization/24762
	* df-scan.c (df_bb_refs_record): Record correct
	registers defined on eh edges.

Index: df-scan.c
===================================================================
*** df-scan.c	(revision 110773)
--- df-scan.c	(working copy)
*************** df_bb_refs_record (struct dataflow *dflo
*** 1571,1577 ****
  	  unsigned regno = EH_RETURN_DATA_REGNO (i);
  	  if (regno == INVALID_REGNUM)
  	    break;
! 	  df_ref_record (dflow, regno_reg_rtx[i], &regno_reg_rtx[i], bb, NULL,
  			 DF_REF_REG_DEF, DF_REF_ARTIFICIAL | DF_REF_AT_TOP,
  			 false);
  	}
--- 1571,1578 ----
  	  unsigned regno = EH_RETURN_DATA_REGNO (i);
  	  if (regno == INVALID_REGNUM)
  	    break;
! 	  df_ref_record (dflow, regno_reg_rtx[regno], &regno_reg_rtx[regno],
! 			 bb, NULL,
  			 DF_REF_REG_DEF, DF_REF_ARTIFICIAL | DF_REF_AT_TOP,
  			 false);
  	}


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