http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55079



--- Comment #6 from Jan Hubicka <hubicka at gcc dot gnu.org> 2012-11-02 
18:44:37 UTC ---

Hmm, it seems to be due to off-by-one bug in my patch

Index: tree-ssa-loop-ivcanon.c

===================================================================

--- tree-ssa-loop-ivcanon.c     (revision 193098)

+++ tree-ssa-loop-ivcanon.c     (working copy)

@@ -405,11 +405,11 @@ remove_exits_and_undefined_stmts (struct

         into unreachable (or trap when debugging experience is supposed

         to be good).  */

       if (!elt->is_exit

-         && elt->bound.ult (double_int::from_uhwi (npeeled)))

+         && elt->bound.ule (double_int::from_uhwi (npeeled)))

        {

          gimple_stmt_iterator gsi = gsi_for_stmt (elt->stmt);

          gimple stmt = gimple_build_call

              (builtin_decl_implicit (BUILT_IN_UNREACHABLE), 0);



          gimple_set_location (stmt, gimple_location (elt->stmt));

          gsi_insert_before (&gsi, stmt, GSI_NEW_STMT);



I however introduced it because w/o it we get bootstrap miscompare. Looks like

I will need to debug it after all :(

Reply via email to