From patchwork Wed Feb 16 14:24:34 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: "Fix" PR47738 Date: Wed, 16 Feb 2011 04:24:34 -0000 From: Richard Guenther X-Patchwork-Id: 83368 Message-Id: To: gcc-patches@gcc.gnu.org This fixes PR47738 with release checking by making sure the invalid IL that is detected during SSA verification from the loop manip machinery does not survive until after the end of the pass. The verificiation ICE still occurs though, thus the patch only migitates the possibly bad effect on later passes. The patch also fixes what is probably only an oversight - tree_predictive_commoning returns TODO_cleanup_cfg if it did anything but we just return zero from its caller. Oops. Bootstrapped (with -fpredicitive-commoning in BOOT_CFLAGS) and tested on x86_64-unknown-linux-gnu, applied to trunk. No testcase since that still ICEs. Richard. 2011-02-12 Richard Guenther PR tree-optimization/47738 * tree-ssa-loop.c (run_tree_predictive_commoning): Return the TODO from tree_predictive_commoning. Index: gcc/tree-ssa-loop.c =================================================================== --- gcc/tree-ssa-loop.c (revision 170210) +++ gcc/tree-ssa-loop.c (working copy) @@ -179,8 +179,7 @@ run_tree_predictive_commoning (void) if (!current_loops) return 0; - tree_predictive_commoning (); - return 0; + return tree_predictive_commoning (); } static bool