[PATCH/dataflow] missing df_insn_rescan()

Kenneth Zadeck Kenneth.Zadeck@NaturalBridge.com
Sun Mar 4 12:46:00 GMT 2007


This is OK for commiting on the dataflow branch.

Kenny

> Hi,
> 
> I'm currently trying out the dataflow branch on m68k and I need the
> patch below to get it at least to cross compile.
> 
> The dataflow information is incomplete after separating the constant
> operand from the instruction in scan_one_insn:
> 
> (insn 86 58 59 13 ../../../gcc-dataflow/libgcc/../gcc/libgcc2.c:1734 (set (reg/v:SF 31 [ y ])
>         (const_double:SF -2147483648 [0x80000000] 1.0e+0 [0x0.8p+1])) 42 {*m68k.md:802} (nil))
> 
> (insn 59 86 60 13 ../../../gcc-dataflow/libgcc/../gcc/libgcc2.c:1734 (set (reg/v:SF 31 [ y ])
>         (div:SF (reg/v:SF 31 [ y ])
>             (reg/v:SF 30 [ y.27 ]))) 211 {divsf3_68881} (expr_list:REG_DEAD (reg/v:SF 30 [ y.27 ])
>         (nil)))
> 
> Booted and tested on i686-linux.
> 
> bye, Roman
> 
> 200x-xx-xx  Roman Zippel <zippel@linux-m68k.org>
> 
> 	* regclass.c (scan_one_insn): Call df_insn_rescan after breaking
> 	out constant parameter.
> 
> 
> ---
>  gcc/regclass.c |    2 ++
>  1 file changed, 2 insertions(+)
> 
> Index: gcc-dataflow/gcc/regclass.c
> ===================================================================
> --- gcc-dataflow.orig/gcc/regclass.c
> +++ gcc-dataflow/gcc/regclass.c
> @@ -1176,6 +1176,8 @@ scan_one_insn (rtx insn, int pass)
>  	    REG_FREQ (REGNO (recog_data.operand[0])) += frequency;
>  	  }
>  
> +      df_insn_rescan (insn);
> +
>        return PREV_INSN (newinsn);
>      }
 



More information about the Gcc-patches mailing list