Commit 24713e85 by Andrew Pinski

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
parent a8e17e9e
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. * config/arm/vfp.md: Document fmul{s,d} and fmac{s,d} types.
Remove documentation entry for fmul type. Remove documentation entry for fmul type.
......
...@@ -1056,7 +1056,9 @@ fwprop (void) ...@@ -1056,7 +1056,9 @@ fwprop (void)
struct df_ref *use = DF_USES_GET (i); struct df_ref *use = DF_USES_GET (i);
if (use) if (use)
if (DF_REF_TYPE (use) == DF_REF_REG_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); forward_propagate_into (use);
} }
...@@ -1099,7 +1101,9 @@ fwprop_addr (void) ...@@ -1099,7 +1101,9 @@ fwprop_addr (void)
struct df_ref *use = DF_USES_GET (i); struct df_ref *use = DF_USES_GET (i);
if (use) if (use)
if (DF_REF_TYPE (use) != DF_REF_REG_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); forward_propagate_into (use);
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment