This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug tree-optimization/54717] [4.8 Regression] Runtime regression: polyhedron test "rnflow" degraded
- From: "hubicka at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Wed, 14 Nov 2012 20:11:17 +0000
- Subject: [Bug tree-optimization/54717] [4.8 Regression] Runtime regression: polyhedron test "rnflow" degraded
- Auto-submitted: auto-generated
- References: <bug-54717-4@http.gcc.gnu.org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54717
Jan Hubicka <hubicka at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |hubicka at gcc dot gnu.org
--- Comment #14 from Jan Hubicka <hubicka at gcc dot gnu.org> 2012-11-14 20:11:17 UTC ---
Hmm, the optimize_edge_for_speed never returns false here. The problem is that
patch assumes that interesting successors of block with partial anticipance are
blocks with partial anticipance. The anticipance however could be full and it
seems that full anticipance do not imply partial one
Index: tree-ssa-pre.c
===================================================================
*** tree-ssa-pre.c (revision 193503)
--- tree-ssa-pre.c (working copy)
*************** do_partial_partial_insertion (basic_bloc
*** 3525,3531 ****
may cause regressions on the speed path. */
FOR_EACH_EDGE (succ, ei, block->succs)
{
! if (bitmap_set_contains_value (PA_IN (succ->dest), val))
{
if (optimize_edge_for_speed_p (succ))
do_insertion = true;
--- 3525,3532 ----
may cause regressions on the speed path. */
FOR_EACH_EDGE (succ, ei, block->succs)
{
! if (bitmap_set_contains_value (PA_IN (succ->dest), val)
! || bitmap_set_contains_value (ANTIC_IN (succ->dest),
val))
{
if (optimize_edge_for_speed_p (succ))
do_insertion = true;