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;

Reply via email to