aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-ssa-pre.c
AgeCommit message (Collapse)AuthorFilesLines
2018-03-05re PR tree-optimization/84486 (code hoisting removes alignment assumption)Richard Biener1-8/+17
2018-03-05 Richard Biener <rguenther@suse.de> PR tree-optimization/84486 * tree-ssa-pre.c (create_expression_by_pieces): Remove dead code. When inserting a __builtin_assume_aligned call set the LHS SSA name alignment info accordingly. From-SVN: r258249
2018-03-05re PR tree-optimization/84670 (ICE: in compute_antic_aux, at ↵Richard Biener1-1/+14
tree-ssa-pre.c:2148 with -O2 -fno-tree-dominator-opts) 2018-03-05 Richard Biener <rguenther@suse.de> PR tree-optimization/84670 * tree-ssa-pre.c (struct bb_bitmap_sets): Add visited_with_visited_succs member. (BB_VISITED_WITH_VISITED_SUCCS): New define. (compute_antic): Initialize BB_VISITED_WITH_VISITED_SUCCS. (compute_antic_aux): Only assert the number of values in ANTIC_IN doesn't grow if all successors (recursively) were visited at least once. * gcc.dg/pr84670-1.c: New testcase. * gcc.dg/pr84670-2.c: Likewise. * gcc.dg/pr84670-3.c: Likewise. * gcc.dg/pr84670-4.c: Likewise. From-SVN: r258243
2018-03-02re PR tree-optimization/84427 (gcc ICE at -O3 on x86_64-linux-gnu in ↵Richard Biener1-91/+108
compute_antic, at tree-ssa-pre.c:2356) 2018-03-02 Richard Biener <rguenther@suse.de> PR tree-optimization/84427 * tree-ssa-pre.c (bitmap_remove_expr_from_set): Remove. (bitmap_set_subtract_values): Rewrite to handle multiple exprs per value. (clean): Likewise. (prune_clobbered_mems): Likewise. (phi_translate): Take edge instead of pred/phiblock. (phi_translate_1): Likewise. (phi_translate_set): Likewise. Insert all translated exprs for a value into the set, keeping possibly multiple expressions per value. (compute_antic_aux): Adjust for phi_translate changes. When intersecting union the expressions and prune those not in the final value set, keeping possibly multiple expressions per value. Do not use value-insertion for unioning ANTIC_OUT U EXP_GEN - TMP_GEN but merge all expressions. Add verification that the value-sets only shrink during iteration. (compute_partial_antic_aux): Adjust for the phi_translate changes. (do_pre_regular_insertion): Likewise. (do_pre_partial_partial_insertion): Likewise. * gcc.dg/torture/pr84427.c: New testcase. From-SVN: r258124
2018-01-08re PR tree-optimization/83685 (ICE: SSA corruption)Richard Biener1-0/+2
2018-01-08 Richard Biener <rguenther@suse.de> PR tree-optimization/83685 * tree-ssa-pre.c (create_expression_by_pieces): Do not insert references to abnormals. * gcc.dg/torture/pr83685.c: New testcase. From-SVN: r256339
2018-01-03Update copyright years.Jakub Jelinek1-1/+1
From-SVN: r256169
2017-12-20poly_int: get_addr_base_and_unit_offsetRichard Sandiford1-1/+1
This patch changes the values returned by get_addr_base_and_unit_offset from HOST_WIDE_INT to poly_int64. maxsize in gimple_fold_builtin_memory_op goes from HOST_WIDE_INT to poly_uint64 (rather than poly_int) to match the previous use of tree_fits_uhwi_p. 2017-12-20 Richard Sandiford <richard.sandiford@linaro.org> Alan Hayward <alan.hayward@arm.com> David Sherwood <david.sherwood@arm.com> gcc/ * tree-dfa.h (get_addr_base_and_unit_offset_1): Return the offset as a poly_int64_pod rather than a HOST_WIDE_INT. (get_addr_base_and_unit_offset): Likewise. * tree-dfa.c (get_addr_base_and_unit_offset_1): Likewise. (get_addr_base_and_unit_offset): Likewise. * doc/match-and-simplify.texi: Change off from HOST_WIDE_INT to poly_int64 in example. * fold-const.c (fold_binary_loc): Update call to get_addr_base_and_unit_offset. * gimple-fold.c (gimple_fold_builtin_memory_op): Likewise. (maybe_canonicalize_mem_ref_addr): Likewise. (gimple_fold_stmt_to_constant_1): Likewise. * gimple-ssa-warn-restrict.c (builtin_memref::builtin_memref): Likewise. * ipa-param-manipulation.c (ipa_modify_call_arguments): Likewise. * match.pd: Likewise. * omp-low.c (lower_omp_target): Likewise. * tree-sra.c (build_ref_for_offset): Likewise. (build_debug_ref_for_model): Likewise. * tree-ssa-address.c (maybe_fold_tmr): Likewise. * tree-ssa-alias.c (ao_ref_init_from_ptr_and_size): Likewise. * tree-ssa-ccp.c (optimize_memcpy): Likewise. * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Likewise. (constant_pointer_difference): Likewise. * tree-ssa-loop-niter.c (expand_simple_operations): Likewise. * tree-ssa-phiopt.c (jump_function_from_stmt): Likewise. * tree-ssa-pre.c (create_component_ref_by_pieces_1): Likewise. * tree-ssa-sccvn.c (vn_reference_fold_indirect): Likewise. (vn_reference_maybe_forwprop_address, vn_reference_lookup_3): Likewise. (set_ssa_val_to): Likewise. * tree-ssa-strlen.c (get_addr_stridx, addr_stridxptr) (maybe_diag_stxncpy_trunc): Likewise. * tree-vrp.c (vrp_prop::check_array_ref): Likewise. * tree.c (build_simple_mem_ref_loc): Likewise. (array_at_struct_end_p): Likewise. Co-Authored-By: Alan Hayward <alan.hayward@arm.com> Co-Authored-By: David Sherwood <david.sherwood@arm.com> From-SVN: r255887
2017-12-05tree-ssa-dce.c (simple_dce_from_worklist): Move and rename from ↵Bin Cheng1-59/+6
tree-ssa-pre.c::remove_dead_inserted_code. * tree-ssa-dce.c (simple_dce_from_worklist): Move and rename from tree-ssa-pre.c::remove_dead_inserted_code. * tree-ssa-dce.h: New file. * tree-ssa-pre.c (tree-ssa-dce.h): Include new header file. (remove_dead_inserted_code): Move and rename to function tree-ssa-dce.c::simple_dce_from_worklist. (pass_pre::execute): Update use. From-SVN: r255426
2017-11-23re PR tree-optimization/81403 (wrong code at -O3)Richard Biener1-45/+23
2017-11-23 Richard Biener <rguenther@suse.de> PR tree-optimization/81403 * tree-ssa-pre.c (get_representative_for): Add parameter specifying a block we need a leader relative to. (phi_translate_1): For nary processing require a leader from get_representative_for given we run expression simplification using match-and-simplify. Remove previous fix. From-SVN: r255092
2017-11-22gimple-iterator.c (gimple_find_edge_insert_loc): Ignore fake edges to exit ↵Richard Biener1-21/+12
when looking for a place to insert. 2017-11-22 Richard Biener <rguenther@suse.de> * gimple-iterator.c (gimple_find_edge_insert_loc): Ignore fake edges to exit when looking for a place to insert. * tree-ssa-pre.c (clear_expression_ids): Inline into callers and remove. (insert_into_preds_of_block): Commit edge insertion immediately, assert that doesn't require new BBs. (fini_pre): Release expressions. (pass_pre::execute): Shuffle things around a bit, if the fn is too large do not compute AVAIL either as this is really the quadratic bit. From-SVN: r255047
2017-11-17tree-ssa-pre.c (phi_translate_1): Remove redundant constant folding of ↵Richard Biener1-15/+3
references. 2017-11-17 Richard Biener <rguenther@suse.de> * tree-ssa-pre.c (phi_translate_1): Remove redundant constant folding of references. From-SVN: r254858
2017-10-30revert: [multiple changes]Richard Biener1-2/+10
2017-10-30 Richard Biener <rguenther@suse.de> PR tree-optimization/82762 Revert 2017-10-23 Richard Biener <rguenther@suse.de> PR tree-optimization/82129 Revert 2017-08-01 Richard Biener <rguenther@suse.de> PR tree-optimization/81181 * tree-ssa-pre.c (compute_antic_aux): Defer clean() to ... (compute_antic): ... end of iteration here. * gcc.dg/torture/pr82762.c: New testcase. From-SVN: r254218
2017-10-25tree-ssa-sccvn.h (vn_eliminate): Declare.Richard Biener1-867/+1
2017-10-25 Richard Biener <rguenther@suse.de> * tree-ssa-sccvn.h (vn_eliminate): Declare. * tree-ssa-pre.c (class eliminate_dom_walker, eliminate, class pass_fre): Move to ... * tree-ssa-sccvn.c (class eliminate_dom_walker, vn_eliminate, class pass_fre): ... here and adjust for statistics. From-SVN: r254074
2017-10-25tree-ssa-pre.c (need_eh_cleanup, [...]): Move inside...Richard Biener1-95/+83
2017-10-25 Richard Biener <rguenther@suse.de> * tree-ssa-pre.c (need_eh_cleanup, need_ab_cleanup, el_to_remove, el_to_fixup, el_todo, el_avail, el_avail_stack, eliminate_avail, eliminate_push_avail, eliminate_insert): Move inside... (class eliminate_dom_walker): ... this class in preparation of move. (fini_eliminate): Remove by merging with ... (eliminate): ... this function. Adjust for class changes. (pass_pre::execute): Remove fini_eliminate call. (pass_fre::execute): Likewise. From-SVN: r254068
2017-10-23tree-ssa-pre.c (bitmap_remove_from_set): Rename to...Richard Biener1-87/+45
2017-10-23 Richard Biener <rguenther@suse.de> * tree-ssa-pre.c (bitmap_remove_from_set): Rename to... (bitmap_remove_expr_from_set): ... this. All callers call this for non-constant values. (bitmap_set_subtract): Rename to... (bitmap_set_subtract_expressions): ... this. Adjust and optimize. (bitmap_set_contains_value): Remove superfluous check. (bitmap_set_replace_value): Inline into single caller ... (bitmap_value_replace_in_set): ... here and simplify. (dependent_clean): Merge into ... (clean): ... this using an overload. Adjust. (prune_clobbered_mems): Adjust. (compute_antic_aux): Likewise. (compute_partial_antic_aux): Likewise. From-SVN: r254007
2017-10-23re PR tree-optimization/82129 (ICE in compute_antic, at tree-ssa-pre.c:2447)Richard Biener1-10/+2
2017-10-23 Richard Biener <rguenther@suse.de> PR tree-optimization/82129 Revert 2017-08-01 Richard Biener <rguenther@suse.de> PR tree-optimization/81181 * tree-ssa-pre.c (compute_antic_aux): Defer clean() to ... (compute_antic): ... end of iteration here. From-SVN: r254005
2017-10-23re PR tree-optimization/82129 (ICE in compute_antic, at tree-ssa-pre.c:2447)Richard Biener1-33/+39
2017-10-23 Richard Biener <rguenther@suse.de> PR tree-optimization/82129 * tree-ssa-pre.c (bitmap_set_and): Remove. (compute_antic_aux): Compute ANTIC_OUT intersection in a way canonicalizing expressions in the set to those with lowest ID rather than taking that from the first edge. * gcc.dg/torture/pr82129.c: New testcase. From-SVN: r253998
2017-10-10Require wi::to_wide for treesRichard Sandiford1-8/+12
The wide_int routines allow things like: wi::add (t, 1) to add 1 to an INTEGER_CST T in its native precision. But we also have: wi::to_offset (t) // Treat T as an offset_int wi::to_widest (t) // Treat T as a widest_int Recently we also gained: wi::to_wide (t, prec) // Treat T as a wide_int in preccision PREC This patch therefore requires: wi::to_wide (t) when operating on INTEGER_CSTs in their native precision. This is just as efficient, and makes it clearer that a deliberate choice is being made to treat the tree as a wide_int in its native precision. This also removes the inconsistency that a) INTEGER_CSTs in their native precision can be used without an accessor but must use wi:: functions instead of C++ operators b) the other forms need an explicit accessor but the result can be used with C++ operators. It also helps with SVE, where there's the additional possibility that the tree could be a runtime value. 2017-10-10 Richard Sandiford <richard.sandiford@linaro.org> gcc/ * wide-int.h (wide_int_ref_storage): Make host_dependent_precision a template parameter. (WIDE_INT_REF_FOR): Update accordingly. * tree.h (wi::int_traits <const_tree>): Delete. (wi::tree_to_widest_ref, wi::tree_to_offset_ref): New typedefs. (wi::to_widest, wi::to_offset): Use them. Expand commentary. (wi::tree_to_wide_ref): New typedef. (wi::to_wide): New function. * calls.c (get_size_range): Use wi::to_wide when operating on trees as wide_ints. * cgraph.c (cgraph_node::create_thunk): Likewise. * config/i386/i386.c (ix86_data_alignment): Likewise. (ix86_local_alignment): Likewise. * dbxout.c (stabstr_O): Likewise. * dwarf2out.c (add_scalar_info, gen_enumeration_type_die): Likewise. * expr.c (const_vector_from_tree): Likewise. * fold-const-call.c (host_size_t_cst_p, fold_const_call_1): Likewise. * fold-const.c (may_negate_without_overflow_p, negate_expr_p) (fold_negate_expr_1, int_const_binop_1, const_binop) (fold_convert_const_int_from_real, optimize_bit_field_compare) (all_ones_mask_p, sign_bit_p, unextend, extract_muldiv_1) (fold_div_compare, fold_single_bit_test, fold_plusminus_mult_expr) (pointer_may_wrap_p, expr_not_equal_to, fold_binary_loc) (fold_ternary_loc, multiple_of_p, fold_negate_const, fold_abs_const) (fold_not_const, round_up_loc): Likewise. * gimple-fold.c (gimple_fold_indirect_ref): Likewise. * gimple-ssa-warn-alloca.c (alloca_call_type_by_arg): Likewise. (alloca_call_type): Likewise. * gimple.c (preprocess_case_label_vec_for_gimple): Likewise. * godump.c (go_output_typedef): Likewise. * graphite-sese-to-poly.c (tree_int_to_gmp): Likewise. * internal-fn.c (get_min_precision): Likewise. * ipa-cp.c (ipcp_store_vr_results): Likewise. * ipa-polymorphic-call.c (ipa_polymorphic_call_context::ipa_polymorphic_call_context): Likewise. * ipa-prop.c (ipa_print_node_jump_functions_for_edge): Likewise. (ipa_modify_call_arguments): Likewise. * match.pd: Likewise. * omp-low.c (scan_omp_1_op, lower_omp_ordered_clauses): Likewise. * print-tree.c (print_node_brief, print_node): Likewise. * stmt.c (expand_case): Likewise. * stor-layout.c (layout_type): Likewise. * tree-affine.c (tree_to_aff_combination): Likewise. * tree-cfg.c (group_case_labels_stmt): Likewise. * tree-data-ref.c (dr_analyze_indices): Likewise. (prune_runtime_alias_test_list): Likewise. * tree-dump.c (dequeue_and_dump): Likewise. * tree-inline.c (remap_gimple_op_r, copy_tree_body_r): Likewise. * tree-predcom.c (is_inv_store_elimination_chain): Likewise. * tree-pretty-print.c (dump_generic_node): Likewise. * tree-scalar-evolution.c (iv_can_overflow_p): Likewise. (simple_iv_with_niters): Likewise. * tree-ssa-address.c (addr_for_mem_ref): Likewise. * tree-ssa-ccp.c (ccp_finalize, evaluate_stmt): Likewise. * tree-ssa-loop-ivopts.c (constant_multiple_of): Likewise. * tree-ssa-loop-niter.c (split_to_var_and_offset) (refine_value_range_using_guard, number_of_iterations_ne_max) (number_of_iterations_lt_to_ne, number_of_iterations_lt) (get_cst_init_from_scev, record_nonwrapping_iv) (scev_var_range_cant_overflow): Likewise. * tree-ssa-phiopt.c (minmax_replacement): Likewise. * tree-ssa-pre.c (compute_avail): Likewise. * tree-ssa-sccvn.c (vn_reference_fold_indirect): Likewise. (vn_reference_maybe_forwprop_address, valueized_wider_op): Likewise. * tree-ssa-structalias.c (get_constraint_for_ptr_offset): Likewise. * tree-ssa-uninit.c (is_pred_expr_subset_of): Likewise. * tree-ssanames.c (set_nonzero_bits, get_nonzero_bits): Likewise. * tree-switch-conversion.c (collect_switch_conv_info, array_value_type) (dump_case_nodes, try_switch_expansion): Likewise. * tree-vect-loop-manip.c (vect_gen_vector_loop_niters): Likewise. (vect_do_peeling): Likewise. * tree-vect-patterns.c (vect_recog_bool_pattern): Likewise. * tree-vect-stmts.c (vectorizable_load): Likewise. * tree-vrp.c (compare_values_warnv, vrp_int_const_binop): Likewise. (zero_nonzero_bits_from_vr, ranges_from_anti_range): Likewise. (extract_range_from_binary_expr_1, adjust_range_with_scev): Likewise. (overflow_comparison_p_1, register_edge_assert_for_2): Likewise. (is_masked_range_test, find_switch_asserts, maybe_set_nonzero_bits) (vrp_evaluate_conditional_warnv_with_ops, intersect_ranges): Likewise. (range_fits_type_p, two_valued_val_range_p, vrp_finalize): Likewise. (evrp_dom_walker::before_dom_children): Likewise. * tree.c (cache_integer_cst, real_value_from_int_cst, integer_zerop) (integer_all_onesp, integer_pow2p, integer_nonzerop, tree_log2) (tree_floor_log2, tree_ctz, mem_ref_offset, tree_int_cst_sign_bit) (tree_int_cst_sgn, get_unwidened, int_fits_type_p): Likewise. (get_type_static_bounds, num_ending_zeros, drop_tree_overflow) (get_range_pos_neg): Likewise. * ubsan.c (ubsan_expand_ptr_ifn): Likewise. * config/darwin.c (darwin_mergeable_constant_section): Likewise. * config/aarch64/aarch64.c (aapcs_vfp_sub_candidate): Likewise. * config/arm/arm.c (aapcs_vfp_sub_candidate): Likewise. * config/avr/avr.c (avr_fold_builtin): Likewise. * config/bfin/bfin.c (bfin_local_alignment): Likewise. * config/msp430/msp430.c (msp430_attr): Likewise. * config/nds32/nds32.c (nds32_insert_attributes): Likewise. * config/powerpcspe/powerpcspe-c.c (altivec_resolve_overloaded_builtin): Likewise. * config/powerpcspe/powerpcspe.c (rs6000_aggregate_candidate) (rs6000_expand_ternop_builtin): Likewise. * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin): Likewise. * config/rs6000/rs6000.c (rs6000_aggregate_candidate): Likewise. (rs6000_expand_ternop_builtin): Likewise. * config/s390/s390.c (s390_handle_hotpatch_attribute): Likewise. gcc/ada/ * gcc-interface/decl.c (annotate_value): Use wi::to_wide when operating on trees as wide_ints. gcc/c/ * c-parser.c (c_parser_cilk_clause_vectorlength): Use wi::to_wide when operating on trees as wide_ints. * c-typeck.c (build_c_cast, c_finish_omp_clauses): Likewise. (c_tree_equal): Likewise. gcc/c-family/ * c-ada-spec.c (dump_generic_ada_node): Use wi::to_wide when operating on trees as wide_ints. * c-common.c (pointer_int_sum): Likewise. * c-pretty-print.c (pp_c_integer_constant): Likewise. * c-warn.c (match_case_to_enum_1): Likewise. (c_do_switch_warnings): Likewise. (maybe_warn_shift_overflow): Likewise. gcc/cp/ * cvt.c (ignore_overflows): Use wi::to_wide when operating on trees as wide_ints. * decl.c (check_array_designated_initializer): Likewise. * mangle.c (write_integer_cst): Likewise. * semantics.c (cp_finish_omp_clause_depend_sink): Likewise. gcc/fortran/ * target-memory.c (gfc_interpret_logical): Use wi::to_wide when operating on trees as wide_ints. * trans-const.c (gfc_conv_tree_to_mpz): Likewise. * trans-expr.c (gfc_conv_cst_int_power): Likewise. * trans-intrinsic.c (trans_this_image): Likewise. (gfc_conv_intrinsic_bound): Likewise. (conv_intrinsic_cobound): Likewise. gcc/lto/ * lto.c (compare_tree_sccs_1): Use wi::to_wide when operating on trees as wide_ints. gcc/objc/ * objc-act.c (objc_decl_method_attributes): Use wi::to_wide when operating on trees as wide_ints. From-SVN: r253595
2017-09-12re PR tree-optimization/82157 (ICE on valid code at -O2 and -O3: cannot ↵Richard Biener1-0/+2
update SSA form) 2017-09-12 Richard Biener <rguenther@suse.de> PR tree-optimization/82157 * tree-ssa-pre.c (remove_dead_inserted_code): Do not remove stmts with side-effects. * gcc.dg/torture/pr82157.c: New testcase. From-SVN: r252020
2017-09-07passes.def (pass_split_crit_edges): Remove instance before PRE.Richard Biener1-4/+3
2017-09-07 Richard Biener <rguenther@suse.de> * passes.def (pass_split_crit_edges): Remove instance before PRE. * tree-ssa-pre.c (pass_pre::execute): Instead manually split critical edges here, after loop init. (pass_data_pre): Remove PROP_no_crit_edges flags. * tree-ssa-sccvn.c (vn_reference_lookup_3): Use vn_valueize for valueization of call args to avoid leaking VN_TOP. (visit_use): Assert we do not visit default defs. (init_scc_vn): Use build_decl for VN_TOP to make name nicer. Use error_mark_node to more easily detect leaking VN_TOP. All default-defs are varying, not VN_TOP. Mark them visited. (run_scc_vn): Make code match comment. * gcc.dg/tree-ssa/ssa-thread-12.c: XFAIL third FSM threading opportunity. From-SVN: r251833
2017-09-06tree-ssa-pre.c (NECESSARY): Remove.Richard Biener1-152/+36
2017-09-06 Richard Biener <rguenther@suse.de> * tree-ssa-pre.c (NECESSARY): Remove. (create_expression_by_pieces): Do not touch pass-local flags. (insert_into_preds_of_block): Likewise. (do_pre_regular_insertion): Likewise. (eliminate_insert): Likewise. (eliminate_dom_walker::before_dom_children): Likewise. (fini_eliminate): Do not look at inserted_exprs. (mark_operand_necessary): Remove. (remove_dead_inserted_code): Replace with simple work-list algorithm based on inserted_exprs and SSA uses. (pass_pre::execute): Re-order fini_eliminate and remove_dead_inserted_code. From-SVN: r251798
2017-09-05re PR tree-optimization/82102 (ICE: Segmentation fault in ↵Richard Biener1-0/+1
/home/arnd/git/gcc/gcc/tree-ssa-pre.c:4863) 2017-09-05 Richard Biener <rguenther@suse.de> PR tree-optimization/82102 * tree-ssa-pre.c (fini_eliminate): Check if lhs is NULL. * gcc.dg/torture/pr82102.c: New testcase. From-SVN: r251692
2017-09-04re PR tree-optimization/82060 (ICE in refs_may_alias_p_1 with ↵Richard Biener1-54/+63
devirtualization enabled) 2017-09-04 Richard Biener <rguenther@suse.de> PR tree-optimization/82060 * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children): Move devirtualization after stmt folding and before EH/AB/noreturn cleanup to get the stmt refs canonicalized. Use a bool instead of gimple_modified_p since that doesn't work for NOPs. Schedule NOPs generated by folding for removal. * g++.dg/torture/pr82060.C: New testcase. From-SVN: r251650
2017-08-21re PR tree-optimization/81900 (GCC trunk miscompiles Perl / __sigsetjmp issue)Richard Biener1-7/+3
2017-08-21 Richard Biener <rguenther@suse.de> PR tree-optimization/81900 * tree-ssa-pre.c (compute_antic_aux): Properly compute changed for blocks with abnormal predecessors. (compute_antic): Do not set visited flag prematurely. * gcc.dg/torture/pr81900.c: New testcase. From-SVN: r251226
2017-08-02tree-ssa-pre.c (bitmap_insert_into_set_1): Remove and inline into ...Richard Biener1-16/+10
2017-08-02 Richard Biener <rguenther@suse.de> * tree-ssa-pre.c (bitmap_insert_into_set_1): Remove and inline into ... (bitmap_insert_into_set): ... this. From-SVN: r250812
2017-08-01re PR tree-optimization/81181 (ICE in compute_antic, at tree-ssa-pre.c:2410)Richard Biener1-2/+10
2017-08-01 Richard Biener <rguenther@suse.de> PR tree-optimization/81181 * tree-ssa-pre.c (compute_antic_aux): Defer clean() to ... (compute_antic): ... end of iteration here. * gcc.dg/torture/pr81181.c: New testcase. From-SVN: r250777
2017-08-01tree-ssa-pre.c (print_pre_expr): Handle NULL expr.Richard Biener1-3/+10
2017-08-01 Richard Biener <rguenther@suse.de> * tree-ssa-pre.c (print_pre_expr): Handle NULL expr. (compute_antic): Seed worklist with exit block predecessors. * cfganal.c (dfs_find_deadend): For a cycle return the source of the edge closing it. * gcc.dg/tree-ssa/ssa-dce-3.c: Adjust. * gcc.dg/tree-ssa/split-path-5.c: Remove case with just dead endless loop. * gcc.dg/uninit-23.c: Adjust. From-SVN: r250767
2017-07-18re PR tree-optimization/80620 (gcc produces wrong code with -O3)Richard Biener1-0/+39
2017-07-18 Richard Biener <rguenther@suse.de> PR tree-optimization/80620 PR tree-optimization/81403 * tree-ssa-pre.c (phi_translate_1): Clear range and points-to info when re-using a VN table entry. * gcc.dg/torture/pr80620.c: New testcase. * gcc.dg/torture/pr81403.c: Likewise. From-SVN: r250297
2017-05-16Add default value for last argument of dump functions.Martin Liska1-27/+27
2017-05-16 Martin Liska <mliska@suse.cz> * parser.c (cp_lexer_print_token): Add default value for flags argument of print_gimple_stmt, print_gimple_expr, print_generic_stmt and print_generic_expr. 2017-05-16 Martin Liska <mliska@suse.cz> * cgraph.c (cgraph_edge::resolve_speculation): Add default value for flags argument of print_gimple_stmt, print_gimple_expr, print_generic_stmt and print_generic_expr. * cgraphclones.c (symbol_table::materialize_all_clones): Likewise. * coretypes.h: Likewise. * except.c (dump_eh_tree): Likewise. * gimple-fold.c (gimple_fold_stmt_to_constant_1): Likewise. * gimple-pretty-print.h: Likewise. * gimple-ssa-backprop.c (dump_usage_prefix): Likewise. (backprop::push_to_worklist): Likewise. (backprop::pop_from_worklist): Likewise. (backprop::process_use): Likewise. (backprop::intersect_uses): Likewise. (note_replacement): Likewise. * gimple-ssa-store-merging.c (pass_store_merging::terminate_all_aliasing_chains): Likewise. (imm_store_chain_info::coalesce_immediate_stores): Likewise. (pass_store_merging::execute): Likewise. * gimple-ssa-strength-reduction.c (dump_candidate): Likewise. (ssa_base_cand_dump_callback): Likewise. (dump_incr_vec): Likewise. (replace_refs): Likewise. (replace_mult_candidate): Likewise. (create_add_on_incoming_edge): Likewise. (create_phi_basis): Likewise. (insert_initializers): Likewise. (all_phi_incrs_profitable): Likewise. (introduce_cast_before_cand): Likewise. (replace_one_candidate): Likewise. * gimplify.c (gimplify_expr): Likewise. * graphite-isl-ast-to-gimple.c (is_valid_rename): Likewise. (set_rename): Likewise. (rename_uses): Likewise. (copy_loop_phi_nodes): Likewise. (add_close_phis_to_merge_points): Likewise. (copy_loop_close_phi_args): Likewise. (copy_cond_phi_args): Likewise. (graphite_copy_stmts_from_block): Likewise. (translate_pending_phi_nodes): Likewise. * graphite-poly.c (print_pdr): Likewise. (dump_gbb_cases): Likewise. (dump_gbb_conditions): Likewise. (print_scop_params): Likewise. * graphite-scop-detection.c (build_cross_bb_scalars_def): Likewise. (build_cross_bb_scalars_use): Likewise. (gather_bbs::before_dom_children): Likewise. * hsa-dump.c (dump_hsa_immed): Likewise. * ipa-cp.c (print_ipcp_constant_value): Likewise. (get_replacement_map): Likewise. * ipa-inline-analysis.c (dump_condition): Likewise. (estimate_function_body_sizes): Likewise. * ipa-polymorphic-call.c (check_stmt_for_type_change): Likewise. (ipa_polymorphic_call_context::get_dynamic_type): Likewise. * ipa-prop.c (ipa_dump_param): Likewise. (ipa_print_node_jump_functions_for_edge): Likewise. (ipa_modify_call_arguments): Likewise. (ipa_modify_expr): Likewise. (ipa_dump_param_adjustments): Likewise. (ipa_dump_agg_replacement_values): Likewise. (ipcp_modif_dom_walker::before_dom_children): Likewise. * ipa-pure-const.c (check_stmt): Likewise. (pass_nothrow::execute): Likewise. * ipa-split.c (execute_split_functions): Likewise. * omp-offload.c (dump_oacc_loop_part): Likewise. (dump_oacc_loop): Likewise. * trans-mem.c (tm_log_emit): Likewise. (tm_memopt_accumulate_memops): Likewise. (dump_tm_memopt_set): Likewise. (dump_tm_memopt_transform): Likewise. * tree-cfg.c (gimple_verify_flow_info): Likewise. (print_loop): Likewise. * tree-chkp-opt.c (chkp_print_addr): Likewise. (chkp_gather_checks_info): Likewise. (chkp_get_check_result): Likewise. (chkp_remove_check_if_pass): Likewise. (chkp_use_outer_bounds_if_possible): Likewise. (chkp_reduce_bounds_lifetime): Likewise. * tree-chkp.c (chkp_register_addr_bounds): Likewise. (chkp_mark_completed_bounds): Likewise. (chkp_register_incomplete_bounds): Likewise. (chkp_mark_invalid_bounds): Likewise. (chkp_maybe_copy_and_register_bounds): Likewise. (chkp_build_returned_bound): Likewise. (chkp_get_bound_for_parm): Likewise. (chkp_build_bndldx): Likewise. (chkp_get_bounds_by_definition): Likewise. (chkp_generate_extern_var_bounds): Likewise. (chkp_get_bounds_for_decl_addr): Likewise. * tree-chrec.c (chrec_apply): Likewise. * tree-data-ref.c (dump_data_reference): Likewise. (dump_subscript): Likewise. (dump_data_dependence_relation): Likewise. (analyze_overlapping_iterations): Likewise. * tree-inline.c (expand_call_inline): Likewise. (tree_function_versioning): Likewise. * tree-into-ssa.c (dump_defs_stack): Likewise. (dump_currdefs): Likewise. (dump_names_replaced_by): Likewise. (dump_update_ssa): Likewise. (update_ssa): Likewise. * tree-object-size.c (pass_object_sizes::execute): Likewise. * tree-parloops.c (build_new_reduction): Likewise. (try_create_reduction_list): Likewise. (ref_conflicts_with_region): Likewise. (oacc_entry_exit_ok_1): Likewise. (oacc_entry_exit_single_gang): Likewise. * tree-pretty-print.h: Likewise. * tree-scalar-evolution.c (set_scalar_evolution): Likewise. (get_scalar_evolution): Likewise. (add_to_evolution): Likewise. (get_loop_exit_condition): Likewise. (analyze_evolution_in_loop): Likewise. (analyze_initial_condition): Likewise. (analyze_scalar_evolution): Likewise. (instantiate_scev): Likewise. (number_of_latch_executions): Likewise. (gather_chrec_stats): Likewise. (final_value_replacement_loop): Likewise. (scev_const_prop): Likewise. * tree-sra.c (dump_access): Likewise. (disqualify_candidate): Likewise. (create_access): Likewise. (reject): Likewise. (maybe_add_sra_candidate): Likewise. (create_access_replacement): Likewise. (analyze_access_subtree): Likewise. (analyze_all_variable_accesses): Likewise. (sra_modify_assign): Likewise. (initialize_constant_pool_replacements): Likewise. (find_param_candidates): Likewise. (decide_one_param_reduction): Likewise. (replace_removed_params_ssa_names): Likewise. * tree-ssa-ccp.c (ccp_fold_stmt): Likewise. * tree-ssa-copy.c (dump_copy_of): Likewise. (copy_prop_visit_cond_stmt): Likewise. * tree-ssa-dce.c (mark_operand_necessary): Likewise. * tree-ssa-dom.c (pass_dominator::execute): Likewise. (record_equivalences_from_stmt): Likewise. * tree-ssa-dse.c (compute_trims): Likewise. (delete_dead_call): Likewise. (delete_dead_assignment): Likewise. * tree-ssa-forwprop.c (forward_propagate_into_gimple_cond): Likewise. (forward_propagate_into_cond): Likewise. (pass_forwprop::execute): Likewise. * tree-ssa-ifcombine.c (ifcombine_ifandif): Likewise. * tree-ssa-loop-im.c (invariantness_dom_walker::before_dom_children): Likewise. (move_computations_worker): Likewise. (execute_sm): Likewise. * tree-ssa-loop-ivcanon.c (tree_estimate_loop_size): Likewise. (remove_exits_and_undefined_stmts): Likewise. (remove_redundant_iv_tests): Likewise. * tree-ssa-loop-ivopts.c (dump_use): Likewise. (adjust_iv_update_pos): Likewise. * tree-ssa-math-opts.c (bswap_replace): Likewise. * tree-ssa-phiopt.c (factor_out_conditional_conversion): Likewise. (value_replacement): Likewise. * tree-ssa-phiprop.c (phiprop_insert_phi): Likewise. * tree-ssa-pre.c (print_pre_expr): Likewise. (get_representative_for): Likewise. (create_expression_by_pieces): Likewise. (insert_into_preds_of_block): Likewise. (eliminate_insert): Likewise. (eliminate_dom_walker::before_dom_children): Likewise. (eliminate): Likewise. (remove_dead_inserted_code): Likewise. * tree-ssa-propagate.c (substitute_and_fold): Likewise. * tree-ssa-reassoc.c (get_rank): Likewise. (eliminate_duplicate_pair): Likewise. (eliminate_plus_minus_pair): Likewise. (eliminate_not_pairs): Likewise. (undistribute_ops_list): Likewise. (eliminate_redundant_comparison): Likewise. (update_range_test): Likewise. (optimize_range_tests_var_bound): Likewise. (optimize_vec_cond_expr): Likewise. (rewrite_expr_tree): Likewise. (rewrite_expr_tree_parallel): Likewise. (linearize_expr): Likewise. (break_up_subtract): Likewise. (linearize_expr_tree): Likewise. (attempt_builtin_powi): Likewise. (attempt_builtin_copysign): Likewise. (transform_stmt_to_copy): Likewise. (transform_stmt_to_multiply): Likewise. (dump_ops_vector): Likewise. * tree-ssa-sccvn.c (vn_nary_build_or_lookup_1): Likewise. (print_scc): Likewise. (set_ssa_val_to): Likewise. (visit_reference_op_store): Likewise. (visit_use): Likewise. (sccvn_dom_walker::before_dom_children): Likewise. (run_scc_vn): Likewise. * tree-ssa-scopedtables.c (avail_exprs_stack::lookup_avail_expr): Likewise. (expr_hash_elt::print): Likewise. (const_and_copies::pop_to_marker): Likewise. (const_and_copies::record_const_or_copy_raw): Likewise. * tree-ssa-structalias.c (compute_dependence_clique): Likewise. * tree-ssa-uninit.c (collect_phi_def_edges): Likewise. (dump_predicates): Likewise. (find_uninit_use): Likewise. (warn_uninitialized_phi): Likewise. (pass_late_warn_uninitialized::execute): Likewise. * tree-ssa.c (verify_vssa): Likewise. (verify_ssa): Likewise. (maybe_optimize_var): Likewise. * tree-vrp.c (dump_value_range): Likewise. (dump_all_value_ranges): Likewise. (dump_asserts_for): Likewise. (register_edge_assert_for_2): Likewise. (vrp_visit_cond_stmt): Likewise. (vrp_visit_switch_stmt): Likewise. (vrp_visit_stmt): Likewise. (vrp_visit_phi_node): Likewise. (simplify_cond_using_ranges_1): Likewise. (fold_predicate_in): Likewise. (evrp_dom_walker::before_dom_children): Likewise. (evrp_dom_walker::push_value_range): Likewise. (evrp_dom_walker::pop_value_range): Likewise. (execute_early_vrp): Likewise. From-SVN: r248113
2017-05-14make inverted_post_order_compute() operate on a vecTrevor Saunders1-5/+4
gcc/ChangeLog: 2017-05-13 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> * cfganal.c (inverted_post_order_compute): Change argument type to vec *. * cfganal.h (inverted_post_order_compute): Adjust prototype. * df-core.c (rest_of_handle_df_initialize): Adjust. (rest_of_handle_df_finish): Likewise. (df_analyze_1): Likewise. (df_analyze): Likewise. (loop_inverted_post_order_compute): Change argument to be a vec *. (df_analyze_loop): Adjust. (df_get_n_blocks): Likewise. (df_get_postorder): Likewise. * df.h (struct df_d): Change field to be a vec. * lcm.c (compute_laterin): Adjust. (compute_available): Likewise. * lra-lives.c (lra_create_live_ranges_1): Likewise. * tree-ssa-dce.c (remove_dead_stmt): Likewise. * tree-ssa-pre.c (compute_antic): Likewise. From-SVN: r248027
2017-05-14use auto_bitmap moreTrevor Saunders1-3/+1
gcc/ChangeLog: 2017-05-13 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> * bt-load.c (combine_btr_defs): Use auto_bitmap to manage bitmap lifetime. (migrate_btr_def): Likewise. * cfgloop.c (get_loop_body_in_bfs_order): Likewise. * df-core.c (loop_post_order_compute): Likewise. (loop_inverted_post_order_compute): Likewise. * hsa-common.h: Likewise. * hsa-gen.c (hsa_bb::~hsa_bb): Likewise. * init-regs.c (initialize_uninitialized_regs): Likewise. * ipa-inline.c (resolve_noninline_speculation): Likewise. (inline_small_functions): Likewise. * ipa-reference.c (ipa_reference_write_optimization_summary): Likewise. * ira.c (combine_and_move_insns): Likewise. (build_insn_chain): Likewise. * loop-invariant.c (find_invariants): Likewise. * lower-subreg.c (propagate_pseudo_copies): Likewise. * predict.c (tree_predict_by_opcode): Likewise. (predict_paths_leading_to): Likewise. (predict_paths_leading_to_edge): Likewise. (estimate_loops_at_level): Likewise. (estimate_loops): Likewise. * shrink-wrap.c (try_shrink_wrapping): Likewise. (spread_components): Likewise. * tree-cfg.c (remove_edge_and_dominated_blocks): Likewise. * tree-loop-distribution.c (rdg_build_partitions): Likewise. * tree-predcom.c (tree_predictive_commoning_loop): Likewise. * tree-ssa-coalesce.c (coalesce_ssa_name): Likewise. * tree-ssa-phionlycprop.c (pass_phi_only_cprop::execute): Likewise. * tree-ssa-pre.c (remove_dead_inserted_code): Likewise. * tree-ssa-sink.c (nearest_common_dominator_of_uses): Likewise. * tree-ssa-threadupdate.c (compute_path_counts): Likewise. (mark_threaded_blocks): Likewise. (thread_through_all_blocks): Likewise. * tree-ssa.c (verify_ssa): Likewise. (execute_update_addresses_taken): Likewise. * tree-ssanames.c (verify_ssaname_freelists): Likewise. From-SVN: r248021
2017-05-12tree-ssa-sccvn.h (has_VN_INFO): Declare.Richard Biener1-22/+43
2017-05-12 Richard Biener <rguenther@suse.de> * tree-ssa-sccvn.h (has_VN_INFO): Declare. * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children): Fold all stmts not inplace. * g++.dg/tree-ssa/ssa-dse-2.C: Adjust. From-SVN: r247966
2017-05-12re PR tree-optimization/80713 (recent crash in update_dep_bb)Richard Biener1-0/+13
2017-05-12 Richard Biener <rguenther@suse.de> PR tree-optimization/80713 * tree-ssa-pre.c (remove_dead_inserted_code): Clear inserted_exprs bit for not removed stmts. * gcc.dg/torture/pr80713.c: New testcase. From-SVN: r247963
2017-05-11tree-ssa-pre.c (eliminate_dom_walker::before_dom_children): Skip unreachable ↵Richard Biener1-31/+35
blocks and destinations. 2017-05-11 Richard Biener <rguenther@suse.de> * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children): Skip unreachable blocks and destinations. (eliminate): Move stmt removal and fixup ... (fini_eliminate): ... here. Skip inserted exprs. (pass_pre::execute): Move fini_pre after fini_eliminate. * tree-ssa-tailmerge.c: Include tree-cfgcleanup.h. (tail_merge_optimize): Run cleanup_tree_cfg if requested by PRE to get rid of dead code that has invalid SSA form and split critical edges again. From-SVN: r247882
2017-05-08tree-ssa-pre.c (bitmap_set_and): Avoid bitmap copy.Richard Biener1-15/+21
2017-05-08 Richard Biener <rguenther@suse.de> * tree-ssa-pre.c (bitmap_set_and): Avoid bitmap copy. (bitmap_set_subtract_values): Likewise. From-SVN: r247739
2017-05-05tree-ssa-pre.c (get_or_alloc_expr_for): Simplify.Richard Biener1-25/+1
2017-05-05 Richard Biener <rguenther@suse.de> * tree-ssa-pre.c (get_or_alloc_expr_for): Simplify. From-SVN: r247634
2017-04-24tree-ssa-sccvn.h (run_scc_vn): Adjust prototype.Richard Biener1-7/+2
2017-04-24 Richard Biener <rguenther@suse.de> * tree-ssa-sccvn.h (run_scc_vn): Adjust prototype. * tree-ssa-sccvn.c (print_scc): Print SCC size. (extract_and_process_scc_for_name): Never fail but drop SCC to varying. (DFS): Adjust and never fail. (sccvn_dom_walker::fail): Remove. (sccvn_dom_walker::before_dom_children): Adjust. (run_scc_vn): Likewise and never fail. * tree-ssa-pre.c (pass_pre::execute): Adjust. (pass_fre::execute): Likewise. From-SVN: r247092
2017-04-21re PR tree-optimization/80237 (float to double conversion is not optimized away)Richard Biener1-4/+8
2017-04-21 Richard Biener <rguenther@suse.de> PR tree-optimization/80237 * tree-ssa-pre.c (find_leader_in_sets): Add third set argument, defaulted to NULL. (phi_translate_1): Also allow a leader in AVAIL_OUT of pred for a simplified result. * gcc.dg/tree-ssa/tailcall-9.c: New testcase. * gcc.dg/tree-ssa/ldist-pr45948.c: Remove undefined behavior, adjust expected optimizations. From-SVN: r247049
2017-03-30re PR tree-optimization/77498 (Performance drop after r239414 on ↵Richard Biener1-4/+14
spec2000/172mgrid) 2017-03-30 Richard Biener <rguenther@suse.de> PR tree-optimization/77498 * tree-ssa-pre.c (phi_translate_1): Do not allow simplifications to non-constants over backedges. * gfortran.dg/pr77498.f: New testcase. From-SVN: r246583
2017-03-02re PR tree-optimization/79777 (ICE on -Os and above in on aarch64-linux-gnu ↵Richard Biener1-4/+35
(internal compiler error: in VN_INFO_GET, at tree-ssa-sccvn.c:407 })) 2017-03-02 Richard Biener <rguenther@suse.de> PR tree-optimization/79777 * tree-ssa-pre.c (eliminate_insert): Give up if we simplify the to insert expression to sth existing. * gcc.dg/torture/pr79777.c: New testcase. From-SVN: r245830
2017-02-28re PR tree-optimization/79740 (ICE on -Os and above in both 32-bit and ↵Richard Biener1-3/+7
64-bit modes on x86_64-linux-gnu (internal compiler error: in VN_INFO_GET, at tree-ssa-sccvn.c:407 })) 2017-02-28 Richard Biener <rguenther@suse.de> PR tree-optimization/79740 * tree-ssa-sccvn.c (vn_nary_op_insert_into): Allow redundant inserts. (visit_nary_op): Insert the nary into the hashtable if we pattern-matched sth. * tree-ssa-pre.c (eliminate_insert): Robustify. * gcc.dg/torture/pr79740.c: New testcase. From-SVN: r245780
2017-02-27re PR tree-optimization/45397 (Issues with integer narrowing conversions)Richard Biener1-1/+6
2017-02-27 Richard Biener <rguenther@suse.de> PR tree-optimization/45397 * tree-ssa-pre.c (eliminate_insert): Handle BIT_AND_EXPR. * tree-ssa-sccvn.c (valueized_wider_op): New helper. (visit_nary_op): Add pattern matching for CSEing sign-changed or truncated operations with wider ones. * gcc.dg/tree-ssa/pr45397.c: New testcase. From-SVN: r245752
2017-02-22re PR middle-end/79673 (GIMPLE verification fails when compiling code with ↵Richard Biener1-8/+8
__seg_gs) 2017-02-22 Richard Biener <rguenther@suse.de> PR tree-optimization/79673 * tree-ssa-pre.c (compute_avail): Use wide_int_to_tree to convert the [TARGET_]MEM_REF offset INTEGER_CST, scrapping off irrelevant address-space qualifiers and avoiding a ADDR_SPACE_CONVERT_EXPR from fold_convert. * gcc.target/i386/pr79673.c: New testcase. From-SVN: r245649
2017-01-01Update copyright years.Jakub Jelinek1-1/+1
From-SVN: r243994
2016-10-06re PR tree-optimization/77855 (wrong code at -O3 on x86_64-linux-gnu (in ↵Richard Biener1-2/+14
both 32-bit and 64-bit modes)) 2016-10-06 Richard Biener <rguenther@suse.de> PR tree-optimization/77855 * tree-ssa-pre.c (prune_clobbered_mems): Queue exprs to remove instead of removing the current item while iterating over the set which is not safe. * gcc.dg/torture/pr77855.c: New testcase. From-SVN: r240832
2016-09-29re PR bootstrap/77768 (LTO/PGO -O3 bootstrap broken: tree-vrp.c:11053:0: ↵Richard Biener1-2/+4
internal compiler error: Segmentation fault) 2016-09-29 Richard Biener <rguenther@suse.de> PR tree-optimization/77768 * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children): Handle stores to readonly memory when removing redundant stores. * gcc.dg/torture/pr77768.c: New testcase. From-SVN: r240617
2016-09-27re PR tree-optimization/77745 (Inconsistent application of aliasing rules)Richard Biener1-18/+26
2016-09-27 Richard Biener <rguenther@suse.de> PR tree-optimization/77745 * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children): When removing redundant stores make sure to check compatibility of the TBAA state for downstream accesses. * tree-ssa-sccvn.c (visit_reference_op_store): Likewise for when value-numbering virtual operands for store matches. * g++.dg/torture/pr77745.C: New testcase. From-SVN: r240534
2016-09-19re PR tree-optimization/77514 (ICE in VN_INFO_GET, at tree-ssa-sccvn.c:406 ↵Richard Biener1-3/+6
w/ -O2 (and above)) 2016-09-19 Richard Biener <rguenther@suse.de> PR tree-optimization/77514 * tree-ssa-pre.c (create_expression_by_pieces): Optimize search for folded stmt. From-SVN: r240226
2016-09-15re PR tree-optimization/77514 (ICE in VN_INFO_GET, at tree-ssa-sccvn.c:406 ↵Richard Biener1-1/+15
w/ -O2 (and above)) 2016-09-15 Richard Biener <rguenther@suse.de> PR tree-optimization/77514 * tree-ssa-pre.c (create_expression_by_pieces): Handle garbage only forced_stmts sequence. * gcc.dg/torture/pr77514.c: New testcase. From-SVN: r240153
2016-09-15Iterator to visit SSAKugan Vivekanandarajah1-4/+3
Iterator to visit SSA gcc/ChangeLog: 2016-09-15 Kugan Vivekanandarajah <kuganv@linaro.org> * tree-ssanames.h (FOR_EACH_SSA_NAME): New. * cfgexpand.c (update_alias_info_with_stack_vars): Use FOR_EACH_SSA_NAME to iterate over SSA variables. (pass_expand::execute): Likewise. * omp-simd-clone.c (ipa_simd_modify_function_body): Likewise. * tree-cfg.c (dump_function_to_file): Likewise. * tree-into-ssa.c (pass_build_ssa::execute): Likewise. (update_ssa): Likewise. * tree-ssa-alias.c (dump_alias_info): Likewise. * tree-ssa-ccp.c (ccp_finalize): Likewise. * tree-ssa-coalesce.c (build_ssa_conflict_graph): Likewise. (create_outofssa_var_map): Likewise. (coalesce_ssa_name): Likewise. * tree-ssa-operands.c (dump_immediate_uses): Likewise. * tree-ssa-pre.c (compute_avail): Likewise. * tree-ssa-sccvn.c (init_scc_vn): Likewise. (scc_vn_restore_ssa_info): Likewise. (free_scc_vn): Likwise. (run_scc_vn): Likewise. * tree-ssa-structalias.c (compute_points_to_sets): Likewise. * tree-ssa-ter.c (new_temp_expr_table): Likewise. * tree-ssa-copy.c (fini_copy_prop): Likewise. * tree-ssa.c (verify_ssa): Likewise. From-SVN: r240152
2016-08-19re PR tree-optimization/77290 (test case gcc.dg/tree-ssa/pr71347.c fails ↵Richard Biener1-1/+1
starting with r239565) 2016-08-19 Richard Biener <rguenther@suse.de> PR tree-optimization/77290 * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children): Fix flag_tree_parallelize_loops check. From-SVN: r239607