-
- Downloads
re PR tree-optimization/58775 (reassoc1 causes an ICE with some bool arithmetic)
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. From-SVN: r203979
Showing
- gcc/ChangeLog 32 additions, 0 deletionsgcc/ChangeLog
- gcc/testsuite/ChangeLog 12 additions, 0 deletionsgcc/testsuite/ChangeLog
- gcc/testsuite/gcc.c-torture/compile/pr58775.c 26 additions, 0 deletionsgcc/testsuite/gcc.c-torture/compile/pr58775.c
- gcc/testsuite/gcc.dg/guality/pr58791-1.c 34 additions, 0 deletionsgcc/testsuite/gcc.dg/guality/pr58791-1.c
- gcc/testsuite/gcc.dg/guality/pr58791-2.c 36 additions, 0 deletionsgcc/testsuite/gcc.dg/guality/pr58791-2.c
- gcc/testsuite/gcc.dg/guality/pr58791-3.c 28 additions, 0 deletionsgcc/testsuite/gcc.dg/guality/pr58791-3.c
- gcc/testsuite/gcc.dg/guality/pr58791-4.c 41 additions, 0 deletionsgcc/testsuite/gcc.dg/guality/pr58791-4.c
- gcc/testsuite/gcc.dg/guality/pr58791-5.c 29 additions, 0 deletionsgcc/testsuite/gcc.dg/guality/pr58791-5.c
- gcc/testsuite/gcc.dg/tree-ssa/reassoc-28.c 1 addition, 6 deletionsgcc/testsuite/gcc.dg/tree-ssa/reassoc-28.c
- gcc/tree-ssa-reassoc.c 420 additions, 363 deletionsgcc/tree-ssa-reassoc.c
Loading
Please register or sign in to comment