re PR rtl-optimization/37219 (fwprop1 is broken for addresses)

2008-08-26  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        PR rtl-opt/37219
        * fwprop.c (fwprop): Check that the loop_father is the outer loop.
        (fwprop_addr): Check that the loop_father is not the outer loop.

From-SVN: r139605
This commit is contained in:
Andrew Pinski 2008-08-26 12:02:05 -07:00
parent a8e17e9ea7
commit 24713e85ff
2 changed files with 13 additions and 3 deletions

View file

@ -1,4 +1,10 @@
2008-08-28 Paul Brook <paul@codesourcery.com>
2008-08-26 Andrew Pinski <andrew_pinski@playstation.sony.com>
PR rtl-opt/37219
* fwprop.c (fwprop): Check that the loop_father is the outer loop.
(fwprop_addr): Check that the loop_father is not the outer loop.
2008-08-26 Paul Brook <paul@codesourcery.com>
* config/arm/vfp.md: Document fmul{s,d} and fmac{s,d} types.
Remove documentation entry for fmul type.

View file

@ -1056,7 +1056,9 @@ fwprop (void)
struct df_ref *use = DF_USES_GET (i);
if (use)
if (DF_REF_TYPE (use) == DF_REF_REG_USE
|| DF_REF_BB (use)->loop_father == NULL)
|| DF_REF_BB (use)->loop_father == NULL
/* The outer most loop is not really a loop. */
|| loop_outer (DF_REF_BB (use)->loop_father) == NULL)
forward_propagate_into (use);
}
@ -1099,7 +1101,9 @@ fwprop_addr (void)
struct df_ref *use = DF_USES_GET (i);
if (use)
if (DF_REF_TYPE (use) != DF_REF_REG_USE
&& DF_REF_BB (use)->loop_father != NULL)
&& DF_REF_BB (use)->loop_father != NULL
/* The outer most loop is not really a loop. */
&& loop_outer (DF_REF_BB (use)->loop_father) != NULL)
forward_propagate_into (use);
}