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

--- Comment #6 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Author: jakub
Date: Wed Oct 23 16:19:17 2013
New Revision: 203979

URL: http://gcc.gnu.org/viewcvs?rev=203979&root=gcc&view=rev
Log:
    PR tree-optimization/58775
    PR tree-optimization/58791
    * tree-ssa-reassoc.c (reassoc_stmt_dominates_stmt_p): New function.
    (insert_stmt_after): Rewritten, don't move the stmt, but really
    insert it.
    (get_stmt_uid_with_default): Remove.
    (build_and_add_sum): Use insert_stmt_after and
    reassoc_stmt_dominates_stmt_p.  Fix up uid if bb contains only
    labels.
    (update_range_test): Set uid on stmts added by
    force_gimple_operand_gsi.  Don't immediately modify statements
    in inter-bb optimization, just update oe->op values.
    (optimize_range_tests): Return bool whether any changed have
    been made.
    (update_ops): New function.
    (struct inter_bb_range_test_entry): New type.
    (maybe_optimize_range_tests): Perform statement changes here.
    (not_dominated_by, appears_later_in_bb, get_def_stmt,
    ensure_ops_are_available): Remove.
    (find_insert_point): Rewritten.
    (rewrite_expr_tree): Remove MOVED argument, add CHANGED argument,
    return LHS of the (new resp. old) stmt.  Don't call
    ensure_ops_are_available, don't reuse SSA_NAMEs, recurse first
    instead of last, move new stmt at the right place.
    (linearize_expr, repropagate_negates): Don't reuse SSA_NAMEs.
    (negate_value): Likewise.  Set uids.
    (break_up_subtract_bb): Initialize uids.
    (reassociate_bb): Adjust rewrite_expr_tree caller.
    (do_reassoc): Don't call renumber_gimple_stmt_uids.

    * gcc.dg/guality/pr58791-1.c: New test.
    * gcc.dg/guality/pr58791-2.c: New test.
    * gcc.dg/guality/pr58791-3.c: New test.
    * gcc.dg/guality/pr58791-4.c: New test.
    * gcc.dg/guality/pr58791-5.c: New test.
    * gcc.c-torture/compile/pr58775.c: New test.
    * gcc.dg/tree-ssa/reassoc-28.c: Don't scan reassoc1 dump.

Added:
    trunk/gcc/testsuite/gcc.c-torture/compile/pr58775.c
    trunk/gcc/testsuite/gcc.dg/guality/pr58791-1.c
    trunk/gcc/testsuite/gcc.dg/guality/pr58791-2.c
    trunk/gcc/testsuite/gcc.dg/guality/pr58791-3.c
    trunk/gcc/testsuite/gcc.dg/guality/pr58791-4.c
    trunk/gcc/testsuite/gcc.dg/guality/pr58791-5.c
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/testsuite/gcc.dg/tree-ssa/reassoc-28.c
    trunk/gcc/tree-ssa-reassoc.c

Reply via email to