]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
re PR tree-optimization/31911 (Short function (md4) takes very long to compile)
authorDaniel Berlin <dberlin@dberlin.org>
Sun, 13 May 2007 21:52:10 +0000 (21:52 +0000)
committerDaniel Berlin <dberlin@gcc.gnu.org>
Sun, 13 May 2007 21:52:10 +0000 (21:52 +0000)
2007-05-13  Daniel Berlin  <dberlin@dberlin.org>

Fix PR tree-optimization/31911
* tree-ssa-pre.c (phi_translate): Make sure to cache results even
if they didn't change the expression.

From-SVN: r124657

gcc/ChangeLog
gcc/tree-ssa-pre.c

index e3380b50b8ce8250b8e3e4b662f7cc06b73b0000..46ee450c5fd0cce25e8dc6ebcb32ce0e33773181 100644 (file)
@@ -1,3 +1,9 @@
+2007-05-13  Daniel Berlin  <dberlin@dberlin.org>
+
+       Fix PR tree-optimization/31911
+       * tree-ssa-pre.c (phi_translate): Make sure to cache results even
+       if they didn't change the expression.
+
 2007-05-13  Zdenek Dvorak  <dvorakz@suse.cz>
 
        * tree-scalar-evolution.c (resolve_mixers): Exported.
index 7275acf07fbce20f0bc35c6e18c2865cafb4ca1c..46332112cda0ad5da6269a35f28f22d85ae66402 100644 (file)
@@ -1075,8 +1075,8 @@ phi_translate (tree expr, bitmap_set_t set1, bitmap_set_t set2,
                newexpr->base.ann = NULL;
                vn_lookup_or_add_with_vuses (newexpr, tvuses);
                expr = newexpr;
-               phi_trans_add (oldexpr, newexpr, pred, tvuses);
              }
+           phi_trans_add (oldexpr, expr, pred, tvuses);
          }
       }
       return expr;
@@ -1188,8 +1188,8 @@ phi_translate (tree expr, bitmap_set_t set1, bitmap_set_t set2,
                vn_lookup_or_add_with_vuses (newexpr, newvuses);
              }
            expr = newexpr;
-           phi_trans_add (oldexpr, newexpr, pred, newvuses);
          }
+       phi_trans_add (oldexpr, expr, pred, newvuses);
       }
       return expr;
       break;
@@ -1233,8 +1233,8 @@ phi_translate (tree expr, bitmap_set_t set1, bitmap_set_t set2,
                vn_lookup_or_add (newexpr, NULL);
              }
            expr = newexpr;
-           phi_trans_add (oldexpr, newexpr, pred, NULL);
          }
+       phi_trans_add (oldexpr, expr, pred, NULL);
       }
       return expr;
 
@@ -1266,8 +1266,8 @@ phi_translate (tree expr, bitmap_set_t set1, bitmap_set_t set2,
                vn_lookup_or_add (newexpr, NULL);
              }
            expr = newexpr;
-           phi_trans_add (oldexpr, newexpr, pred, NULL);
          }
+       phi_trans_add (oldexpr, expr, pred, NULL);
       }
       return expr;