[PATCH frv] Fix PR target/32369 (build failure after dataflow merge)

Rask Ingemann Lambertsen rask@sygehus.dk
Mon Jun 18 10:50:00 GMT 2007


   This patch makes the frv build again after the dataflow merge. Ok?
(I don't have access to check in patches myself.)

:ADDPATCH frv:

2007-06-18  Rask Ingemann Lambertsen  <rask@sygehus.dk>

	PR target/32369
	* config/frv/frv.c (frv_ifcvt_modify_tests): Dataflow merge fix.
	(frv_ifcvt_modify_insn): Likewise.

Index: config/frv/frv.c
===================================================================
--- config/frv/frv.c	(revision 125761)
+++ config/frv/frv.c	(working copy)
@@ -5295,15 +5295,15 @@ frv_ifcvt_modify_tests (ce_if_block_t *c
       for (j = CC_FIRST; j <= CC_LAST; j++)
 	if (TEST_HARD_REG_BIT (tmp_reg->regs, j))
 	  {
-	    if (REGNO_REG_SET_P (DF_LIVE_IN (rtl_df, then_bb), j))
+	    if (REGNO_REG_SET_P (df_get_live_in (then_bb), j))
 	      continue;
 
 	    if (else_bb
-		&& REGNO_REG_SET_P (DF_LIVE_IN (rtl_df, else_bb), j))
+		&& REGNO_REG_SET_P (df_get_live_in (else_bb), j))
 	      continue;
 
 	    if (join_bb
-		&& REGNO_REG_SET_P (DF_LIVE_IN (rtl_df, join_bb), j))
+		&& REGNO_REG_SET_P (df_get_live_in (join_bb), j))
 	      continue;
 
 	    SET_HARD_REG_BIT (frv_ifcvt.nested_cc_ok_rewrite, j);
@@ -5325,7 +5325,7 @@ frv_ifcvt_modify_tests (ce_if_block_t *c
 
       /* Remove anything live at the beginning of the join block from being
          available for allocation.  */
-      EXECUTE_IF_SET_IN_REG_SET (DF_LIVE_IN (rtl_df, join_bb), 0, regno, rsi)
+      EXECUTE_IF_SET_IN_REG_SET (df_get_live_in (join_bb), 0, regno, rsi)
 	{
 	  if (regno < FIRST_PSEUDO_REGISTER)
 	    CLEAR_HARD_REG_BIT (tmp_reg->regs, regno);
@@ -5369,7 +5369,7 @@ frv_ifcvt_modify_tests (ce_if_block_t *c
 
       /* Anything live at the beginning of the block is obviously unavailable
          for allocation.  */
-      EXECUTE_IF_SET_IN_REG_SET (DF_LIVE_IN (rtl_df, bb[j]), 0, regno, rsi)
+      EXECUTE_IF_SET_IN_REG_SET (df_get_live_in (bb[j]), 0, regno, rsi)
 	{
 	  if (regno < FIRST_PSEUDO_REGISTER)
 	    CLEAR_HARD_REG_BIT (tmp_reg->regs, regno);
@@ -6022,17 +6022,15 @@ frv_ifcvt_modify_insn (ce_if_block_t *ce
 		  limit scheduling of the combined block quite
 		  severely.  */
 	       && ce_info->join_bb
-	       && ! (REGNO_REG_SET_P
-		     (DF_LIVE_IN (rtl_df, ce_info->join_bb),
-		      REGNO (SET_DEST (set))))
+	       && ! (REGNO_REG_SET_P (df_get_live_in (ce_info->join_bb),
+				      REGNO (SET_DEST (set))))
 	       /* Similarly, we must not unconditionally set a reg
 		  used as scratch in the THEN branch if the same reg
 		  is live in the ELSE branch.  */
 	       && (! ce_info->else_bb
 		   || BLOCK_FOR_INSN (insn) == ce_info->else_bb
-		   || ! (REGNO_REG_SET_P
-			 (DF_LIVE_IN (rtl_df, ce_info->else_bb),
-			  REGNO (SET_DEST (set))))))
+		   || ! (REGNO_REG_SET_P (df_get_live_in (ce_info->else_bb),
+					  REGNO (SET_DEST (set))))))
 	pattern = set;
 
       else if (mode == QImode || mode == HImode || mode == SImode

-- 
Rask Ingemann Lambertsen



More information about the Gcc-patches mailing list