diff options
Diffstat (limited to 'gcc-4.4.3/gcc/ChangeLog.tuples')
-rw-r--r-- | gcc-4.4.3/gcc/ChangeLog.tuples | 8231 |
1 files changed, 0 insertions, 8231 deletions
diff --git a/gcc-4.4.3/gcc/ChangeLog.tuples b/gcc-4.4.3/gcc/ChangeLog.tuples deleted file mode 100644 index ab189c449..000000000 --- a/gcc-4.4.3/gcc/ChangeLog.tuples +++ /dev/null @@ -1,8231 +0,0 @@ -2008-07-28 Richard Guenther <rguenther@suse.de> - - Merge with mainline @138201. - - * configure.ac (ACX_PKGVERSION): Update revision merge string. - * configure: Regenerate. - -2008-07-27 Jakub Jelinek <jakub@redhat.com> - - * omp-low.c (expand_omp_atomic_fetch_op): Fix a merge glitch. - -2008-07-27 Andrew Pinski <andrew_pinski@playstation.sony.com> - - * config/spu/spu.c (spu_gimplify_va_arg_expr): Unshare the args - and skip trees. - -2008-07-27 Richard Guenther <rguenther@suse.de> - - * tree-eh.c (lookup_expr_eh_region): Do not allocate a tree - annotation. - * tree-dfa.c (create_tree_common_ann): Set eh region to -1. - * tree-flow.h (struct tree_ann_common_d): Reorder rn member - to pack with type. - -2008-07-26 Richard Guenther <rguenther@suse.de> - - Merge with mainline @138159. - - * configure.ac (ACX_PKGVERSION): Update revision merge string. - * configure: Regenerate. - -2008-07-26 Richard Guenther <rguenther@suse.de> - - * gimple.h (CALL_STMT_CANNOT_INLINE_P): Remove. - -2008-07-26 Jan Hubicka <jh@suse.cz> - - * ipa-inline.c (cgraph_decide_inlining_of_small_function): Use - gimple_call_set_cannot_inline. - (cgraph_decide_inlining): Likewise. - (cgraph_decide_inlining_incrementally): Likewise. - -2008-07-26 Richard Guenther <rguenther@suse.de> - - Merge with mainline @138092. - - * configure.ac (ACX_PKGVERSION): Update revision merge string. - * configure: Regenerate. - -2008-07-26 Richard Guenther <rguenther@suse.de> - - Merge with mainline @138091. - -2008-07-25 Richard Guenther <rguenther@suse.de> - - * config/ia64/ia64.c (ia64_gimplify_va_arg): Unshare valist - before reusing it. - -2008-07-25 Andreas Krebbel <krebbel1@de.ibm.com> - - * tree-tailcall.c (process_assignment): Prevent tail call - optimization if the modes of the return types don't match. - -2008-07-24 Aldy Hernandez <aldyh@redhat.com> - - * tree-inline.c (expand_call_inline): Allow casts in assert. - -2008-07-24 Richard Guenther <rguenther@suse.de> - - PR middle-end/36885 - * tree.c (walk_tree_1): Also walk CHANGE_DYNAMIC_TYPE_EXPR operands. - * gimple.c (gss_for_code): GIMPLE_CHANGE_DYNAMIC_TYPE is GSS_WITH_OPS. - * gsstruct.def (GSS_CHANGE_DYNAMIC_TYPE): Remove. - -2008-07-24 Richard Guenther <rguenther@suse.de> - - * tree-sra.c (sra_walk_expr): Also handle CONVERT_EXPR. - (sra_walk_gimple_assign): Correctly detect assigns we can handle. - * expr.c (expand_expr_real_1): Pass MOVE_NONTEMPORAL to - expand_assignment. - -2008-07-23 Richard Guenther <rguenther@suse.de> - - * tree-ssa-dse.c (get_kill_of_stmt_lhs): Tuplify correct. - * gimple-pretty-print.c (dump_gimple_label): Dump non-local flag. - * tree.h (maybe_fold_stmt_addition): Declare. - * tree-ssa-ccp.c (maybe_fold_stmt_addition): Export. - (fold_gimple_assign): Return the new rhs instead of modifying the stmt. - (fold_stmt): Deal with that. - (fold_stmt_inplace): Only replace the rhs of a statement if - that has enough operand space to hold the new operands. - * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Fix - POINTER_PLUS_EXPR handling. - -2008-07-23 Richard Guenther <rguenther@suse.de> - - * tree-eh.c (record_in_goto_queue): Fix bootstrap with - --disable-checking. - -2008-07-23 Aldy Hernandez <aldyh@redhat.com> - - Merge with mainline @138071. - - * configure.ac (ACX_PKGVERSION): Update revision merge string. - * configure: Regenerate. - -2008-07-23 Richard Guenther <rguenther@suse.de> - - * tree-eh.c (union treemple): Add tree * member. - (find_goto_replacement): Adjust. - (replace_goto_queue_cond_clause): Use the address of the - individual labels as unique identifier. - (replace_goto_queue_1): Use the statement as unique identifier - for GIMPLE_GOTO. - (record_in_goto_queue): Add checking. - (record_in_goto_queue_label): Adjust. - (maybe_record_in_goto_queue): Likewise. - (do_goto_redirection): Get leh_tf_state. - (lower_try_finally_nofallthru): Pass it. - (lower_try_finally_onedest): Likewise. - (lower_try_finally_copy): Likewise. - (lower_try_finally_switch): Likewise. - -2008-07-22 Aldy Hernandez <aldyh@redhat.com> - Jakub Jelinek <jakub@redhat.com> - - * gimplify.c (gimple_do_not_emit_location_p): New. - (gimple_set_do_not_emit_location): New. - (annotate_one_with_location): Do not annotate if - gimple_do_not_emit_location_p. - (gimplify_cond_expr): Do not optimize if the COND_EXPR and - GOTO_EXPR have different locations. - Do not emit location information for some GIMPLE_COND's. - -2008-07-22 Richard Guenther <rguenther@suse.de> - - * tree-ssa-ccp.c (ccp_fold): Use gimple_expr_type. - (fold_gimple_assign): Likewise. - * tree-inline.c (remap_gimple_op_r): Do not set TREE_BLOCK on - non-statements. Recurse to copy_tree_body_r with NULL block. - (copy_phis_for_bb): Likewise. - * tree-cfg.c (move_stmt_op): Do not set TREE_BLOCK on - non-statements. - -2008-07-22 Diego Novillo <dnovillo@google.com> - Richard Guenther <rguenther@suse.de> - - * tree-ssa-dom.c (hashable_expr_equal_p): Do nothing if - either TYPE0 or TYPE1 is NULL. - -2008-07-21 Diego Novillo <dnovillo@google.com> - - * tree-ssa-alias-warnings.c (struct gimple_tree_map): New. - Change every use of struct tree_map to struct gimple_tree_map. - (gimple_tree_map_eq): New. - (gimple_tree_map_hash): New. - * tree-ssa-ccp.c (evaluate_stmt): Remove stale FIXME note. - * gimplify.c (gimplify_expr): Remove stale FIXME note. - * tree-ssa-pre.c: Remove stale references to GIMPLE_MODIFY_STMT. - * tree-vect-generic.c (expand_vector_operations_1): Change - FIXME tuples to NOTE. - -2008-07-21 Richard Guenther <rguenther@suse.de> - - * tree-ssa-phiprop.c (propagate_with_phi): Only look through - SSA_NAME copies. - -2008-07-21 Richard Guenther <rguenther@suse.de> - - * gimplify.c (gimplify_init_constructor): Clear TREE_SIDE_EFFECTS - on the remaining empty constructor. - -2008-07-21 Richard Guenther <rguenther@suse.de> - - * tree-ssa-ccp.c (fold_gimple_assign): Handle pointer conversions - like fold_stmt_r did. - * gimple-pretty-print.c (dump_gimple_cond): Place semicolons - where trunk did. - * tree-inline.c (copy_bb): Do not insert GIMPLE_NOPs. - -2008-07-21 Richard Guenther <rguenther@suse.de> - - PR tree-optimization/36826 - * tree-ssa-pre.c (eliminate): Do not eliminate in unused - statements. - -2008-07-20 Richard Guenther <rguenther@suse.de> - - * gimple.h (gimple_expr_type): The expression type is always - the base type of an integral sub-type result type. - * tree-eh.c (replace_goto_queue_cond_clause): Copy the sequence - before handing it off to gsi_insert_seq_after. - * tree-sra.c (insert_edge_copies_seq): Make sure to not keep an - uninserted but marked for update sequence. - -2008-07-20 Richard Guenther <rguenther@suse.de> - - * gimple.c (DEFTREECODE): Add REALIGN_LOAD_EXPR. - -2008-07-19 Richard Guenther <rguenther@suse.de> - - * tree-ssa-sccvn.h (get_constant_value_id): Declare. - (vn_constant_eq_with_type): Make sure an integral type is - never equal to a non-integral type. - (vn_hash_constant_with_type): Adjust. - * tree-ssa-sccvn.c (get_constant_value_id): New function. - * tree-ssa-pre.c (get_expr_value_id): For newly created - constant value-ids make sure to add the expression to its - expression-set. - -2008-07-18 Jakub Jelinek <jakub@redhat.com> - - * gimple.c (gimple_regimplify_operands): Moved to... - * gimplify.c (gimple_regimplify_operands): ... here. Rework using - lower_omp_1 regimplification code, if regimplified LHS of - GIMPLE_ASSIGN or GIMPLE_CALL requires simpler RHS, create a temporary. - * omp-low.c (gimple_regimplify_operands): Use - gimple_regimplify_operands. - -2008-07-18 Richard Guenther <rguenther@suse.de> - - * tree-ssa-reassoc.c (get_rank): For single rhs process its - operands. - -2008-07-18 Richard Guenther <rguenther@suse.de> - - * tree-ssa-loop-niter.c (expand_simple_operations): Expand - as much as trunk does. - * tree-ssa-sccvn.c (simplify_binary_expression): For comparisons - always expand the first operand. - -2008-07-18 Jakub Jelinek <jakub@redhat.com> - - * gimple-pretty-print.c (dump_gimple_cond): Print a semicolon if - goto or else goto has been printed. - (dump_gimple_goto): Print as goto instead of gimple_goto, print - a semicolon at the end. - (dump_gimple_asm): Print a semicolon at the end. - - * gimplify.c (gimplify_cond_expr): If COND_EXPR has both non-trivial - THEN and ELSE statements and the THEN sequence can't fallthru, avoid - adding label_cont and jump to it. - -2008-07-18 Aldy Hernandez <aldyh@redhat.com> - - * Makefile.in. Remove TREE_GIMPLE_H definition. - Rename all TREE_GIMPLE_H uses to GIMPLE_H. - Depend on tree-iterator.h when necessary. - * tree-into-ssa.c: Include gimple.h instead of tree-gimple.h. - * tree-complex.c: Same. - * cgraphbuild.c: Same. - * cgraph.c: Same. - * builtins.c: Same. - * tree-ssa-sccvn.c: Same. - * tree-ssa-copyrename.c: Same. - * tree-nomudflap.c: Same. - * tree-call-cdce.c: Same. - * ipa-pure-const.c: Same. - * ipa-utils.c: Same. - * tree-ssa-alias.c: Same. - * tree-ssa-sink.c: Same. - * langhooks.c: Same. - * function.c: Same. - * ipa-type-escape.c: Same. - * tree-affine.c: Same. - * c-typeck.c: Same. - * tree-dfa.c: Same. - * tree-ssa-pre.c: Same. - * tree-sra.c: Same. - * c-omp.c: Same. - * tree-ssa-dce.c: Same. - * tree-nested.c: Same. - * tree-ssa.c: Same. - * tree-inline.c: Same. - * tree-iterator.c: Same. - * c-gimplify.c: Same. - * tree-vect-generic.c: Same. - * tree-flow.h: Same. - * tree-ssa-structalias.c: Same. - * ipa-struct-reorg.c: Same. - * tree-ssa-reassoc.c: Same. - * config/alpha/alpha.c: Same. - * config/s390/s390.c: Same. - * config/m32c/m32c.c: Same. - * config/spu/spu.c: Same. - * config/sparc/sparc.c: Same. - * config/i386/i386.c: Same. - * config/sh/sh.c: Same. - * config/xtensa/xtensa.c: Same. - * config/stormy16/stormy16.c: Same. - * config/ia64/ia64.c: Same. - * config/rs6000/rs6000: Same. - * config/mips/mips.c: Same. - * varpool.c: Same. - * cgraphunit.c: Same. Include tree-iterator.h - * tree-mudflap.c: Same. - * gimplify.c: Same. - * c-decl.c: Same. - * omp-low.c: Same. - * c-semantics: Same. - * gimple-low.c: Same. - * tree-gimple.c: Merge contents into... - * gimple.c: ...here. - * tree-gimple.h: Merge contents into... - * gimple.h: ...here. - -2008-07-17 Jakub Jelinek <jakub@redhat.com> - - * omp-low.c (expand_omp_atomic_pipeline): Call - force_gimple_operand_gsi on RHS for IADDR initialization. - - * gimplify.c (gimplify_cond_expr): Push statements in between - gimple_push_condition and gimple_pop_condition into a new - gimple_seq, append it after gimple_pop_condition cleanups. - -2008-07-17 Richard Guenther <rguenther@suse.de> - - * tree-complex.c (init_dont_simulate_again): Handle - {REAL,IMAG}PART_EXPR correctly. - * gimple-pretty-print.c (dump_unary_rhs): Dump VIEW_CONVERT_EXPR - and ASSERT_EXPR the same way as on trunk. - * tree-ssa-dom.c (initialize_hash_element): Do not record - the type for single rhs assigns. - (hashable_expr_equal_p): Deal with NULL types. - (eliminate_redundant_computations): Use print_gimple_expr. - * tree-vrp.c (stmt_interesting_for_vrp): Fix builtin call check. - (vrp_visit_stmt): Likewise. - * tree-ssa-forwprop.c (simplify_gimple_switch): Fix typo. - -2008-07-16 Richard Guenther <rguenther@suse.de> - - PR tree-optimization/36792 - * tree-ssa-pre.c (get_or_alloc_expr_for): Handle unary - expressions inserted by SCCVN. - (do_SCCVN_insertion): Adjust comment. - (execute_pre): Allow insertion for FRE again. - - * tree-ssa-sccvn.c (simplify_unary_expression): Deal with - the GIMPLE_SINGLE_RHS statemens we get. - (init_scc_vn): Init VN_INFO->expr to NULL. - -2008-07-16 Richard Guenther <rguenther@suse.de> - - Revert - 2008-07-16 Richard Guenther <rguenther@suse.de> - * tree-ssa-pre.c (get_constant_for_value_id): Only hand out - constants of the correct type. - (fully_constant_expression): Pass the required type to - get_constant_for_value_id. - - * tree-ssa-sccvn.h (vn_hash_constant_with_type): New function. - (vn_constant_eq_with_type): Likewise. - * tree-ssa-sccvn.c (vn_constant_eq): Use vn_constant_eq_with_type. - (get_or_alloc_constant_value_id): Use vn_hash_constant_with_type. - * tree-ssa-pre.c (pre_expr_eq): Use vn_constant_eq_with_type. - (pre_expr_hash): Use vn_hash_constant_with_type. - (get_representative_for): Use constants as their representative. - (fully_constant_expression): Use constant parts in expressions - directly. - -2008-07-15 Aldy Hernandez <aldyh@redhat.com> - - * tree-ssa-propagate.c (valid_gimple_expression_p): Remove. - * tree-ssa-propagate.h (valid_gimple_expression_p): Remove. - * tree-eh.c: Factor out common code in operation_could_trap_p and - stmt_could_throw_1_p into... - (operation_could_trap_helper_p): New. - * gimplify.c (gimplify_expr): Rephrase fixme. - * tree-mudflap.c: Remove fixme. - -2008-07-17 Jakub Jelinek <jakub@redhat.com> - - * tree-eh.c (collect_finally_tree): Call collect_finally_tree_1 - with region as second argument for GIMPLE_TRY_FINALLY's cleanup. - - * gimplify.c (gimplify_expr): Call gimple_try_set_catch_is_cleanup - for TRY_CATCH_EXPR. - -2008-07-16 Jakub Jelinek <jakub@redhat.com> - - * tree-gimple.c (is_gimple_reg_rhs): Don't check for CALL_EXPRs - with side-effects. - * gimple.c (extract_ops_from_tree): Remove assert. - * gimplify.c (is_gimple_reg_or_call_rhs): New function. - (rhs_predicate_for): Return it instead of is_gimple_reg_rhs. - (gimplify_expr): Handle is_gimple_reg_or_call_rhs. - - * tree-ssa-threadedge.c (record_temporary_equivalences_for_stmts, - simplify_control_stmt_condition): Pass stmt instead of NULL as second - argument to simplify callback. - - * tree-vect-patterns.c (vect_recog_pow_pattern): Don't call - gimple_call_set_lhs with lhs of last_stmt. - * tree-vect-transform.c (vectorizable_call): Build a new dummy - assignment, replace the call with it and move over stmt_info. - - * tree-ssa-loop-niter.c (infer_loop_bounds_from_array): Use - is_gimple_assign instead of gimple_code () == GIMPLE_ASSIGN and - is_gimple_call instead of gimple_code () == GIMPLE_CALL. - * tree-ssa-propagate.c (update_call_from_tree, substitute_and_fold): - Likewise. - * tree-ssa-sccvn.c (visit_use): Likewise. - * tree-eh.c (stmt_could_throw_p): Likewise. - * tree-optimize.c (execute_fixup_cfg): Likewise. - * omp-low.c (check_omp_nesting_restrictions, scan_omp_1_stmt, - optimize_omp_library_calls): Likewise. - * tree-ssa-loop-im.c (movement_possibility, stmt_cost, - determine_invariantness_stmt): Likewise. - * tree-ssa-phiprop.c (phivn_valid_p, phiprop_insert_phi, - propagate_with_phi): Likewise. - * tree-ssa-ccp.c (get_default_value, surely_varying_stmt_p, - ccp_fold_builtin, gimplify_and_update_call_from_tree): Likewise. - * ipa-struct-reorg.c (is_result_of_mult, create_general_new_stmt): - Likewise. - * tree-ssa-coalesce.c (build_ssa_conflict_graph): Likewise. - * tree-object-size.c (alloc_object_size, call_object_size, - check_for_plus_in_loops): Likewise. - * tree-ssa.c (verify_ssa): Likewise. - * predict.c (expr_expected_value_1, tree_bb_level_predictions, - tree_estimate_probability): Likewise. - * tree-cfg.c (verify_stmt): Likewise. - * tree-ssa-loop-ch.c (should_duplicate_loop_header_p, - copy_loop_headers): Likewise. - * tree-ssa-ter.c (is_replaceable_p): Likewise. - * ipa-prop.c (ipa_count_arguments, ipa_compute_jump_functions): - Likewise. - * tree-ssa-dom.c (gimple_assign_unary_useless_conversion_p, - record_equivalences_from_stmt, optimize_stmt, - get_lhs_or_phi_result): Likewise. - * tree-ssa-sink.c (is_hidden_global_store): Likewise. - * tree-nrv.c (tree_nrv, execute_return_slot_opt): Likewise. - * value-prof.c (gimple_divmod_fixed_value, - gimple_mod_pow2, gimple_mod_subtract): Likewise. - * tree-predcom.c (name_for_ref, find_looparound_phi, - replace_ref_with, remove_name_from_operation): Likewise. - * tree-ssa-math-opts.c (is_division_by, execute_cse_reciprocals, - execute_cse_sincos, execute_convert_to_rsqrt): Likewise. - * tree-complex.c (expand_complex_move, expand_complex_operations_1): - Likewise. - * tree-outof-ssa.c (identical_copies_p): Likewise. - * tree-ssa-pre.c (is_exception_related): Likewise. - * tree-sra.c (scalarize_use, scalarize_copy): Likewise. - * tree-ssa-alias.c (count_uses_and_derefs, update_alias_info_1, - is_escape_site): Likewise. - * lambda-code.c (can_put_in_inner_loop, - cannot_convert_bb_to_perfect_nest): Likewise. - * tree-tailcall.c (find_tail_calls, eliminate_tail_call): Likewise. - * ipa-type-escape.c (look_for_casts_stmt, is_cast_from_non_pointer): - Likewise. - * tree-vect-transform.c (vectorizable_reduction): Likewise. - * tree-ssa-threadedge.c (record_temporary_equivalences_from_stmts): - Likewise. - * tree-ssa-phiopt.c (nt_init_block): Likewise. - * tree-ssa-structalias.c (find_func_aliases): Likewise. - * tree-ssa-forwprop.c (can_propagate_from, - forward_propagate_comparison, simplify_not_neg_expr, - simplify_gimple_switch, tree_ssa_forward_propagate_single_use_vars): - Likewise. - * tree-ssa-dce.c (eliminate_unnecessary_stmts): Likewise. - * tree-ssa-dse.c (get_kill_of_stmt_lhs, dse_possible_dead_store_p, - dse_optimize_stmt, execute_simple_dse): Likewise. - * tree-ssa-loop-ivopts.c (find_interesting_uses_op, - find_interesting_uses_stmt, rewrite_use_nonlinear_expr): Likewise. - * tree-vrp.c (stmt_overflow_infinity, vrp_stmt_computes_nonzero, - register_edge_assert_for_2, register_edge_assert_for, - find_assert_locations, check_all_array_refs, - remove_range_assertions, stmt_interesting_for_vrp, vrp_visit_stmt, - simplify_stmt_using_ranges): Likewise. - * tree-ssa-loop-prefetch.c (gather_memory_references): Likewise. - * tree-ssa-copy.c (may_propagate_copy_into_stmt, - propagate_tree_value_into_stmt): Likewise. - * tree-inline.c (copy_bb, expand_call_inline, - gimple_expand_calls_inline, fold_marked_statements): Likewise. - - * tree-ssa-copyrename.c (rename_ssa_copies): Use - gimple_assign_ssa_name_copy_p. - - * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Check - gimple_assign_rhs_code, type of rhs is TREE_TYPE (lhs), update - rhs_code. - -2008-07-16 Richard Guenther <rguenther@suse.de> - - * tree-ssa-pre.c (get_constant_for_value_id): Only hand out - constants of the correct type. - (fully_constant_expression): Pass the required type to - get_constant_for_value_id. - -2008-07-15 Aldy Hernandez <aldyh@redhat.com> - - Merge with mainline @137837. - - * configure.ac (ACX_PKGVERSION): Update revision merge string. - * configure: Regenerate. - -2008-07-15 Jakub Jelinek <jakub@redhat.com> - - * common.opt (-fgimple-conversion=): Remove. - - * tree-affine.c (aff_combination_expand): Tuplify. - * cfgexpand.c (gimple_assign_rhs_to_tree): Remove prototype. - * tree-outof-ssa.c (gimple_assign_rhs_to_tree): Likewise. - * tree-gimple.h (gimple_assign_rhs_to_tree): New prototype. - -2008-07-15 Aldy Hernandez <aldyh@redhat.com> - - * tree.h: Remove gimple_unreachable_1 prototype. - -2008-07-15 Aldy Hernandez <aldyh@redhat.com> - - * Makefile.in (gimple-dummy.o): Remove. - * gimple-dummy.c: Delete. - * tree-ssa-propagate.c (valid_gimple_expression_p): Change - gimple_unreachable to gcc_unreachable. - * tree-affine.c (aff_combination_expand): Same. - * tree-vect-transform.c (vectorizable_call): Same. - -2008-07-15 Richard Guenther <rguenther@suse.de> - - * gimplify.c (gimplify_expr): Gimplify an unused volatile load - properly. - -2008-07-15 Richard Guenther <rguenther@suse.de> - - * tree-ssa-pre.c: Tuplify. Enable FRE and PRE. - (execute_pre): Disable SCCVN insertion even for FRE. - * tree-ssa-sccvn.h (copy_reference_ops_from_call): Declare. - * tree-ssa-sccvn.c (copy_reference_ops_from_call): Export. - (vn_get_expr_for): Handle more expression kinds. - (visit_reference_op_load): Properly set a value id for - inserted names. - (simplify_binary_expression): Use valid_gimple_rhs_p instead of - valid_gimple_expression_p. - (simplify_unary_expression): Likewise. - (process_scc): Clear the cached/simplified expressions at the - start of the iteration. - (free_scc_vn): Do not clear SSA_NAME_VALUE. - (run_scc_vn): Remove broken special case in printing VNs. - * tree-ssa-propagate.c (valid_gimple_rhs_p): Allow - gimple-min-invariants and SSA names. - -2008-07-14 Andreas Krebbel <krebbel1@de.ibm.com> - - * config/s390/s390.c: (s390_gimplify_va_arg) Unshare the args* tree. - -2008-07-14 Richard Guenther <rguenther@suse.de> - - * tree-ssa-math-opts.c (execute_cse_reciprocals): Process - SSA_NAME defs of calls. - * gimple-pretty-print.c (dump_unary_rhs): Do not prefix - CONSTRUCTOR with [constructor]. - -2008-07-14 Aldy Hernandez <aldyh@redhat.com> - - * config/alpha/alpha.c (va_list_skip_additions): Change - GIMPLE_STMT_OPERAND to TREE_OPERAND. - -2008-07-14 Jakub Jelinek <jakub@redhat.com> - - * tree-vect-transform.c (vect_create_data_ref_ptr): Update comment. - * config/s390/s390.c (s390_va_start): Build MODIFY_EXPR instead of - GIMPLE_MODIFY_STMT. - (s390_gimplify_va_arg): Use gimplify_assign. - * config/sh/sh.c (sh_va_start): Build MODIFY_EXPR instead of - GIMPLE_MODIFY_STMT. - (sh_gimplify_va_arg_expr): Use gimplify_assign. - * config/sparc/sparc.c (sparc_gimplify_va_arg): Likewise. - * config/spu/spu.c (spu_va_start): Build MODIFY_EXPR instead of - GIMPLE_MODIFY_STMT. - (spu_gimplify_va_arg_expr): Use gimplify_assign. - * config/stormy16/stormy16.c (xstormy16_expand_builtin_va_start): - Build MODIFY_EXPR instead of GIMPLE_MODIFY_STMT. - (xstormy16_gimplify_va_arg_expr): Likewise. Use gimplify_assign. - * config/xtensa/xtensa.c (xtensa_va_start): Build MODIFY_EXPR - instead of GIMPLE_MODIFY_STMT. - (xtensa_gimplify_va_arg_expr): Use gimplify_assign. - -2008-07-14 Aldy Hernandez <aldyh@redhat.com> - - * config/alpha/alpha.c (va_list_skip_additions): Rename - GIMPLE_MODIFY_STMT to MODIFY_EXPR. - (alpha_va_start): Same. - (alpha_gimplify_va_arg_1): Use gimplify_assign. - (alpha_gimplify_va_arg): Same. - * config/frv/frv.c (frv_expand_builtin_va_start): Rename - GIMPLE_MODIFY_STMT to MODIFY_EXPR. - * config/ia64/ia64.c (ia64_gimplify_va_arg): Use gimplify_assign. - * config/alpha/mips.c (mips_va_start): Rename GIMPLE_MODIFY_STMT to - MODIFY_EXPR or use gimplify_assign when appropriate. - (mips_gimplify_va_arg_expr): Same. - -2008-07-14 Aldy Hernandez <aldyh@redhat.com> - - * config/rs6000/rs6000.c (rs6000_va_start): Change - GIMPLE_MODIFY_STMT to MODIFY_EXPR. - (rs6000_gimplify_va_arg): Use gimplify_assign. - Build GIMPLE_GOTO directly. - -2008-07-14 Aldy Hernandez <aldyh@redhat.com> - - * tree-dump.c (dequeue_and_dump): Remove GIMPLE_MODIFY_STMT case. - * tree-ssa-loop-niter.c (simplify_replace_tree): Remove GIMPLE_STMT_P - call. - * tree-pretty-print.c (dump_generic_node): Remove any references to - GIMPLE_MODIFY_STMT, GIMPLE_STMT_P, GIMPLE_TUPLE_P. - (op_prio): Same. - (op_symbol_code): Same. - * java/java-gimplify.c (java_gimplify_expr): Same. - (java_gimplify_modify_expr): Same. - * java/java-tree.h: Rename GENERIC_NEXT to TREE_CHAIN. - * tree-tailcall.c (find_tail_calls): Update comment. - * tree.c (tree_code_class_string): Remove "gimple_stmt". - (tree_node_kind): Remove "gimple statments". - (tree_code_size): Remove tcc_gimple_stmt. - (make_node_stat): Same. - (copy_node_stat): Remove any references to - GIMPLE_MODIFY_STMT, GIMPLE_STMT_P, GIMPLE_TUPLE_P, tcc_gimple_stmt, - TS_GIMPLE_STATEMENT, GENERIC_TREE_OPERAND, GENERIC_TREE_TYPE, - GIMPLE_TUPLE_HAS_LOCUS_P, GIMPLE_STMT_LOCUS, GIMPLE_STMT_BLOCK, - IS_GIMPLE_STMT_CODE_CLASS, GIMPLE_STMT_BLOCK. - (expr_align): Same. - (tree_node_structure): Same. - (build2_stat): Same. - (set_expr_locus): Same. - (walk_tree_1): Same. - (tree_block): Same. - (build_gimple_modify_stmt_stat): Remove. - (expr_location): Remove. - (set_expr_location): Remove. - (expr_hash_location): Remove. - (expr_locus): Remove. - (expr_filename): Remove. - (expr_lineno): Remove. - (generic_tree_operand): Remove. - (generic_tree_type): Remove. - * tree.h (tree_code_class): Remove tcc_gimple_stmt. - (IS_GIMPLE_STMT_CODE_CLASS): Remove. - (struct gimple_stmt): Remove. - (GIMPLE_STMT_CHECK): Remove. - (TREE_OPERAND_CHECK): Remove GIMPLE_TUPLE_P. - (TREE_CHAIN): Same. - (GIMPLE_STMT_OPERAND_CHECK): Remove. - (GIMPLE_STMT_OPERAND_CHECK): Remove. - (GIMPLE_STMT_P): Remove. - (GIMPLE_TUPLE_P): Remove. - (GIMPLE_TUPLE_HAS_LOCUS_P): Remove. - (GENERIC_TREE_OPERAND): Remove. - (GENERIC_TREE_TYPE): Remove. - (GENERIC_NEXT): Remove. - (IS_CONVERT_EXPR_CODE_P): Rename GENERIC_TREE_TYPE to TREE_TYPE. - (MOVE_NONTEMPORAL): Remove GIMPLE_MODIFY_STMT_CHECK. - Remove GIMPLE_STMT_OPERAND, GIMPLE_STMT_LOCUS, GIMPLE_STMT_BLOCK. - (EXPR_LOCATION, SET_EXPR_LOCATION, EXPR_HAS_LOCATION, EXPR_LOCUS, - EXPR_FILENAME, EXPR_LINENO): Do ont call functions. - (CAN_HAVE_LOCATION_P): Remove GIMPLE_STMT_P. - (union tree_node): Remove gstmt. - (build_gimple_modify_stmt*): Remove. - (expr_location, set_expr_location, expr_has_location, - expr_locus, expr_filename, expr_lineno, generic_tree_operand, - generic_tree_type): Remove. - * tree-scalar-evolution.c (follow_ssa_edge): Update comment. - (interpret_condition_phi): Same. - * gimple.h (gimplify_assign): New. - * builtins.c, fold-const.c, omp-low.c, tree-ssa-dse.c, tree-gimple.c, - tree-ssa-math-opts.c, tree-nrv.c, gimple-low.c, dwarf2out.c, - expr.c, tree-parloops.c, matrix-reorg.c, c-decl.c, tree-eh.c, - c-pretty-print.c, langhooks.c, function.c, tree-affine.c, - gimplify.c, tree.def, cfgexpand.c, tree-predcom.c, print-tree.c, - tree-ssa-ter.c, tree-ssa.c, tree-inline.c, gimple.c, gimple.h, - tree-cfg.c, config/i386/i386.c, stmt.c, tree-ssa-operands.c) - Remove any references to - GIMPLE_MODIFY_STMT, GIMPLE_STMT_P, GIMPLE_TUPLE_P, tcc_gimple_stmt, - TS_GIMPLE_STATEMENT, GENERIC_TREE_OPERAND, GENERIC_TREE_TYPE, - GIMPLE_TUPLE_HAS_LOCUS_P, GIMPLE_STMT_LOCUS, GIMPLE_STMT_BLOCK, - IS_GIMPLE_STMT_CODE_CLASS, GIMPLE_STMT_BLOCK. - Call gimplify_assign or generate a GIMPLE_ASSIGN directly when - appropriate. - -2008-07-14 Jakub Jelinek <jakub@redhat.com> - - * cfgexpand.c (gimple_cond_pred_to_tree): New function. - (gimple_to_tree) <case GIMPLE_COND>: Use it. - (release_stmt_tree): New function. - (expand_gimple_cond): Call just gimple_cond_pred_to_tree - instead of gimple_to_tree, ggc_free pred before returning. - (expand_gimple_tailcall): Call release_stmt_tree. - (expand_gimple_basic_block): Call release_stmt_tree instead - of ggc_free. - - * gimplify.c (internal_get_tmp_var, gimplify_decl_expr, - gimplify_init_ctor_eval, gimplify_target_expr): Call ggc_free - on the INIT_EXPR. - -2008-07-14 Richard Guenther <rguenther@suse.de> - - * tree-ssa-ccp.c (ccp_fold): Move ADDR_EXPR handing to - GIMPLE_SINGLE_RHS case. - * tree-ssa-ifcombine.c (ifcombine_iforif): Fix typo. - -2008-07-14 Jakub Jelinek <jakub@redhat.com> - - * system.h (CONST_CAST2): Avoid using a union for all GCCs <= 4.0.x. - -2008-07-12 Diego Novillo <dnovillo@google.com> - - * tree-loop-distribution.c: Tuplify. - * tree-ssa-propagate.c (substitute_and_fold): Remove - stale FIXME tuples note. - -2008-07-11 Jakub Jelinek <jakub@redhat.com> - - * tree-dump.c (dump_options): Don't set TDF_RHS_ONLY for -all. - - * omp-low.c (lower_omp_1): Only use rhs_predicate_for if - GIMPLE_SINGLE_RHS. - - * tree-vect-analyze.c (vect_determine_vectorization_factor): Handle - GIMPLE_CALL with non-NULL lhs. - (vect_build_slp_tree): Likewise. Fix reversed check for references. - * tree-vectorizer.c (stmt_vec_info_htab, stmt_vec_info_eq, - stmt_vec_info_hash, init_stmt_vec_info_htab, - free_stmt_vec_info_htab): Remove. - (stmt_vec_info_vec): New variable. - (init_stmt_vec_info_vec, free_stmt_vec_info_vec): New functions. - (new_loop_vec_info): Clear stmt uid before calling - set_vinfo_for_stmt. - (vect_is_simple_use): Handle GIMPLE_CALL with non-NULL lhs. - (vectorize_loops): Call {init,free}_stmt_vec_info_vec instead of - {init,free}_stmt_vec_info_htab. - * tree-parloops.c (parallelize_loops): Likewise. - * tree-ssa-operands.c (get_expr_operands): Handle VEC_COND_EXPR. - * tree-vectorizer.h (stmt_vec_info_htab): Removed. - (init_stmt_vec_info_htab, free_stmt_vec_info_htab): Remove - prototypes. - (stmt_vec_info_vec): New extern decl. - (init_stmt_vec_info_vec, free_stmt_vec_info_vec): New prototypes. - (vinfo_for_stmt, set_vinfo_for_stmt): Rewritten using stmt uid - and vector instead of a hash table. - * tree-vect-patterns.c (vect_recog_pow_pattern): Request - a GIMPLE_CALL with non-NULL lhs instead of GIMPLE_ASSIGN. - (vect_pattern_recog_1): Use is_gimple_call instead of comparing - gimple_code with GIMPLE_CALL. - * gimple.c (gimple_rhs_class_table): Use GIMPLE_SINGLE_RHS for - DOT_PROD_EXPR and VEC_COND_EXPR. - * tree-vect-transform.c (vect_get_slp_vect_defs): Use gimple_get_lhs - instead of gimple_assign_lhs. - (get_initial_def_for_induction): Use build_int_cst even for - pointers. Use POINTER_PLUS_EXPR for POINTER_TYPE_P (scalar_type). - (vect_get_vec_def_for_operand): Use is_gimple_call instead of - comparing gimple_code with GIMPLE_CALL. - (vectorizable_call): Likewise. Use gimple_call_lhs instead of - gimple_assign_lhs. Build a vector of arguments, use - gimple_build_call_vec. - (vect_get_vec_def_for_stmt_copy): Use gimple_get_lhs. - (vectorizable_live_operation): Handle GIMPLE_SINGLE_RHS operands. - -2008-07-11 Doug Kwan <dougkwan@google.com> - - * gimple-dummy.c (vectorizable_induction, vectorizable_type_promotion, - vectorizable_type_demotion, vectorizable_conversion, - vectorizable_operation, vectorizable_assignment, - vectorizable_load, vectorizable_call, vectorizable_store, - vectorizable_condition, vectorizable_reduction, - vectorizable_live_operation, vectorizable_function, - vect_estimate_min_profitable_iters, vect_model_simple_cost, - vect_model_store_cost, vect_model_load_cost, vect_transform_loop): - Remove DUMMY_FNs. - * tree-ssa-loop.c (gate_tree_vectorize): Reenable vectorizer. - * tree-vectorizer.c (vect_is_simple_use): Fix handling of - GIMPLE_NOP. - * tree-vectorizer.h (vectorizable_load, vectorizable_store, - vectorizable_operation, vectorizable_type_promotion, - vectorizable_type_demotion, vectorizable_conversion, - vectorizable_assignment, vectorizable_call, vectorizable_condition, - vectorizable_live_operation, vectorizable_reduction, - vectorizable_induction): Adjust prototypes. - * tree-vect-transform.c (vectorizable_load, vectorizable_store, - vectorizable_operation, vectorizable_type_promotion, - vectorizable_type_demotion, vectorizable_conversion, - vectorizable_assignment, vectorizable_call, vectorizable_condition, - vectorizable_live_operation, vectorizable_reduction, - vectorizable_induction, vect_transform_stmt, - vect_create_data_ref_ptr, vect_create_addr_base_for_vector_ref, - vect_get_vec_def_for_operand, vect_init_vector, - vect_finish_stmt_generation, vect_create_epilog_for_reduction, - get_initial_def_for_reduction, cost_for_stmt, - vect_estimate_min_profitable_iters, vect_model_reduction_cost, - vect_cost_strided_group_size, vect_model_load_cost, bump_vector_ptr, - vect_get_constant_vectors, vect_get_slp_vect_defs, - vect_get_slp_defs, get_initial_def_for_induction, - vect_get_vec_def_for_stmt_copy, vect_get_vec_defs, - vectorizable_function, vect_gen_widened_results_half, - vect_permute_store_chain, vect_setup_realignment, - vect_permute_load_chain, vect_transform_strided_load, - vect_is_simple_cond, vect_build_loop_niters, - vect_generate_tmps_on_preheader, vect_update_ivs_after_vectorizer, - vect_do_peeling_for_loop_bound, vect_gen_niters_for_prolog_loop, - vect_do_peeling_for_alignment, vect_create_cond_for_align_checks, - vect_create_cond_for_alias_checks, vect_loop_versioning, - vect_remove_stores, vect_schedule_slp_instance, - vect_transform_loop): Tuplify. - -2008-07-10 Richard Guenther <rguenther@suse.de> - - * gimple.h (gimple_assign_ssa_name_copy_p): Declare. - (gimple_has_lhs): New function. - * gimple.c (gimple_assign_ssa_name_copy_p): New function. - * tree-ssa-copy.c (propagate_tree_value_into_stmt): Remove - redundant gimple_set_location call. - * gimple-iterator.c (gsi_remove): Do not free stmt operands. - * tree-ssa-structalias.c (find_func_aliases): Correctly let - all things with pointers escape. - * tree-pass.h (TDF_RHS_ONLY): New flag. - * diagnostic.h (print_gimple_expr): Declare. - * gimple-pretty-print.c (print_gimple_expr): New function. - (dump_gimple_assign): Dump the RHS as expression if TDF_RHS_ONLY. - (dump_gimple_call): Likewise. - (dump_gimple_cond): Likewise. - * tree-ssa-propagate.c (fold_predicate_in): Use print_gimple_expr. - * tree-ssa-sccvn.c (visit_use): Use gimple_has_lhs. - Use print_gimple_expr. Handle tcc_expression correctly. - -2008-07-09 Jakub Jelinek <jakub@redhat.com> - - * gimplify.c (struct gimplify_ctx): Move to tree-gimple.h. - (push_gimplify_context): Don't allocate bind_expr_stack, - temp_htab nor c itself here. Add c argument. - (pop_gimplify_context): Allow bind_expr_stack being NULL. Check - c->temp_htab instead of optimize whether htab_delete should be called. - Don't free c. - (gimple_push_bind_expr): Create bind_expr_stack lazily. - (lookup_tmp_var): Create temp_htab lazily. - (gimplify_scan_omp_clauses, gimplify_omp_parallel, gimplify_omp_task, - gimplify_body, force_gimple_operand): Adjust push_gimplify_context - callers. - * omp-low.c (lower_omp_sections, lower_omp_single, lower_omp_master, - lower_omp_ordered, lower_omp_critical, lower_omp_for, - create_task_copyfn, lower_omp_taskreg, execute_lower_omp): - * tree-ssa-ccp.c (gimplify_and_update_call_from_tree): Likewise. - * tree-sra.c (generate_element_init): Likewise. - * tree-mudflap.c (execute_mudflap_function_ops, - execute_mudflap_function_decls): Likewise. - * tree-inline.c (setup_one_parameter, optimize_inline_calls): Likewise. - * tree-gimple.h (struct gimplify_ctx): New type. - (push_gimplify_context): Adjust prototype. - - * gimple.h (gimple_rhs_class_table): New extern decl. - (get_gimple_rhs_class): Change into inline. - * gimple.c (get_gimple_rhs_class): Removed. - (gimple_rhs_class_table): New variable. - -2008-07-09 Doug Kwan <dougkwan@google.com> - Diego Novillo <dnovillo@google.com> - - * tree-ssa-ccp.c (fold_stmt_r): Remove gcc_unreachable - call from COND_EXPR handler. - * tree-if-conv.c: Tuplify. - * gimple.c (gimple_could_trap_p_1): Factor out of ... - (gimple_could_trap_p): ... here. - Call it. - (gimple_assign_rhs_could_trap_p): New. - * gimple.h (gimple_assign_rhs_could_trap_p): Declare. - * tree-ssa-operands.c (get_expr_operands): Handle - COND_EXPR. - -2008-07-08 Jakub Jelinek <jakub@redhat.com> - - Merge with mainline @137633. - - * configure.ac (ACX_PKGVERSION): Update revision merge string. - * configure: Regenerate. - -2008-07-08 Jakub Jelinek <jakub@redhat.com> - - * tree-cfg.c (remove_useless_stmts_cond): Avoid calling - fold_binary. - -2008-07-07 Jakub Jelinek <jakub@redhat.com> - - * gimple-pretty-print.c (dump_gimple_return): Don't print space - after return if return has no argument. - (dump_gimple_seq): Don't print newline after last statement in - the sequence. - (dump_gimple_fmt, dump_gimple_try, dump_gimple_omp_for, - dump_gimple_omp_single, dump_gimple_omp_sections, - dump_gimple_omp_block, dump_gimple_omp_critical, - dump_gimple_omp_parallel, dump_gimple_omp_task): Use - newline_and_indent after dump_gimple_seq instead of INDENT. - (dump_gimple_bind): Likewise. If there are no bind vars, don't - print two newlines before the sequence, just one. - * tree-cfg.c (dump_function_to_file): Fix dumping lowered gimple - before CFG is built. - -2008-07-07 Diego Novillo <dnovillo@google.com> - - * tree-vrp.c (ssa_name_nonnegative_p): Tuplify. - (ssa_name_nonzero_p): Tuplify. - (extract_range_from_comparison): Tidy. - (vrp_evaluate_conditional_warnv_with_ops): Tidy. - (vrp_evaluate_conditional): Change STMT argument to gimple. - Update all users. - (simplify_stmt_for_jump_threading): Change WITHIN_STMT argument - to gimple. - Update all users. - (identify_jump_threads): Tidy. - * tree-tailcall.c (find_tail_calls): Remove stale FIXME note. - * tree.c (tree_node_structure): Likewise. - * tree.h (struct tree_base): Likewise. - (struct gimple_stmt): Likewise. - * builtins.c (expand_builtin_memcpy): Likewise. - (expand_builtin_memset_args): Likewise. - * tree-chrec.h (build_polynomial_chrec): Do not initialize VAL. - * tree-ssa-ccp.c (fold_stmt_r): Do not handle COND_EXPR. - (fold_stmt): Remove #if 0 code. - * tree-ssa-dom.c (EXTRA_DETAILS): Remove. - Update all users. - (hashable_expr_equal_p): Remove stale FIXME note. - (simplify_stmt_for_jump_threading): Convert WITHIN_STMT - argument to gimple. Update all users. - * tree-ssa-propagate.c: Include gimple.h - (get_rhs): Remove. - (set_rhs): Remove. - (fold_predicate_in): Tuplify. - * Makefile.in (tree-ssa-propagate.o): Add dependency on - GIMPLE_H. - * tree-ssa-propagate.h (get_rhs, set_rhs): Remove. - * tree-parloops.c (create_parallel_loop): Remove FIXME - tuples note. - * tree-eh.c (lookup_stmt_eh_region): Remove FIXME tuples - editorial note. - * cfgexpand.c (gimple_to_tree): Likewise. - * tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Tidy. - Do not handle GIMPLE_BIND. - * tree-inline.c (remap_gimple_op_r): Remove stale FIXME notes. - * tree-optimize.c (execute_fixup_cfg): Likewise. - * tree-flow.h (struct tree_ann_common_d): Remove stale - FIXME tuples notes. - (tree_vrp_evaluate_conditional): Change last argument type to - gimple. Update all users. - (thread_across_edge): Likewise. - * gimple.c (gimple_has_side_effects): If any argument has - TREE_SIDE_EFFECTS set, assert that S has volatile operands. - (gimple_rhs_has_side_effects): Likewise. - * gimple.h (gimple_phi_capacity): Remove stale FIXME tuples note. - * tree-cfg.c (group_case_labels): Remove FIXME tuples note. - Assert that the new size is smaller than the old size. - (remove_useless_stmts_warn_notreached): Remove #if 0 code. - (remove_useless_stmts_cond): Remove stale FIXME tuples note. - (remove_useless_stmts_1): Likewise. - (verify_types_in_gimple_assign): Likewise. - * passes.c (init_optimization_passes): Re-enable - pass_ipa_increase_alignment. - * tree-ssa-threadedge.c - (record_temporary_equivalences_from_stmts_at_dest): - Change SIMPLIFY to accept two arguments of type gimple. - Update all users. - (simplify_control_stmt_condition): Likewise. - (thread_accross_edge): Likewise. - * tree-ssa-operands.c (add_call_clobber_ops): Re-enable - calls to ipa_reference_get_not_read_globals and - ipa_reference_get_not_written_global. - -2008-07-07 Aldy Hernandez <aldyh@redhat.com> - - * tree-ssa-dom.c: Remove FIXME tuples. - -2008-07-07 Aldy Hernandez <aldyh@redhat.com> - - * tree-cfg.c (verify_types_in_gimple_assign): Remove - FIXME tuples. - -2008-07-04 Jakub Jelinek <jakub@redhat.com> - - * cfgexpand.c (gimple_to_tree) <case GIMPLE_CALL>: Copy - CALL_EXPR_VA_ARG_PACK. - - * gimple.c (gimple_build_bind): Set gimple_bind_block rather - than gimple_block. - (gimple_copy) <case GIMPLE_BIND>: Don't unshare gimple_bind_block. - - * gimple.h (GF_ASM_INPUT, GF_ASM_VOLATILE, GF_CALL_CANNOT_INLINE, - GF_CALL_FROM_TRUNK, GF_CALL_RETURN_SLOT_OPT, GF_CALL_TAILCALL, - GF_CALL_VA_ARG_PACK, GF_OMP_PARALLEL_COMBINED, GF_OMP_RETURN_NOWAIT, - GF_OMP_SECTION_LAST, GF_PREDICT_TAKEN): Change from static const ints - into enum values. - (struct gimple_statement_base): Move subcode after flags to make it - 16-bit aligned. - - * tree-ssa-structalias.c (find_func_aliases): Handle ADDR_EXPR - as GIMPLE_SINGLE_RHS instead of GIMPLE_UNARY_RHS. - - * tree-ssa-operands.c (get_expr_operands): Don't handle - OMP_FOR, OMP_PARALLEL, OMP_TASK, OMP_SECTIONS and PREDICT_EXPR - here. - - * gimple.def (GIMPLE_PREDICT): New. - * gimple.h: Update comment above GF_* flags. - (GF_PREDICT_TAKEN): New. - (gimple_build_predict): New prototype. - (gimple_predict_predictor, gimple_predict_outcome, - gimple_predict_set_predictor, gimple_predict_set_outcome): New - inlines. - * gimple.c (gss_for_code): Handle GIMPLE_PREDICT. - (gimple_size, walk_gimple_op): Likewise. - (gimple_build_predict): New function. - * gimple-pretty-print.c (dump_gimple_stmt): Handle GIMPLE_PREDICT. - * predict.c (tree_bb_level_predictions): Likewise. - * cfgexpand.c (gimple_to_tree): Likewise. - * tree-inline.c (estimate_num_insns): Likewise. - * tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Likewise. - * gimple-low.c (lower_stmt): Likewise. - * tree-cfg.c (verify_types_in_gimple_seq_2): Likewise. - (verify_types_in_gimple_stmt): Likewise. Don't handle PREDICT_EXPR. - * gimplify.c (gimplify_expr): Gimplify PREDICT_EXPR into - GIMPLE_PREDICT. - * expr.c (expand_expr_real): Don't handle PREDICT_EXPR. - -2008-07-04 Aldy Hernandez <aldyh@redhat.com> - - * tree-ssa-forwprop.c (rhs_to_tree): Remove fixme. - (forward_propagate_into_cond): Add comment. - (forward_propagate_into_gimple_cond): Add comment. - (forward_propagate_addr_expr_1): Enable optimization. - -2008-07-04 David Edelsohn <edelsohn@gnu.org> - - Revert: - * config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Unshare t. - - * config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Unshare reg. - -2008-07-03 David Edelsohn <edelsohn@gnu.org> - - * config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Unshare t. - -2008-07-03 Doug Kwan <dougkwan@google.com> - - * gimple-dummy.c (vectorizable_function): New dummy. - (vect_pattern_recog): Remove dummy. - * tree-vectorizer.h (vect_recog_func_ptr): Adjust types for tuples. - * tree-vect-patterns.c (File): Re-enable all code. - (widened_name_p): Tuplify. - (vect_recog_temp_ssa_var): New. - (vect_recog_dot_prod_pattern): Tuplify. - (vect_recog_widen_mult_pattern): Same. - (vect_recog_pow_pattern): Same. - (vect_recog_widen_sum_pattern): Same. - (vect_pattern_recog_1): Tuplify. Factor out code to create SSA - temporaries to vect_recog_temp_ssa_var. Remove code for building - assignment statement. - (vect_pattern_recog): Tuplify. - -2008-07-03 Janis Johnson <janis187@us.ibm.com> - David Edelsohn <edelsohn@gnu.org> - - * config/rs6000/rs6000.c (rs6000_va_start): Unshare valist. - (rs6000_gimplify_va_arg): Unshare valist, reg, addr, ovf. - -2008-07-03 Jakub Jelinek <jakub@redhat.com> - - * tree-inline.c (remap_gimple_op_r): Remap TREE_BLOCK of - expressions. - - * tree-switch-conversion.c (gen_inbound_check): Force RHS to be - gimple operand. Use fold_build* instead of build*. - (build_arrays): Likewise. Convert RHS to LHS's type. - - * tree-switch-conversion.c (struct switch_conv_info): Change - arr_ref_first and arr_ref_last to gimple. - (check_range, check_final_bb, gather_default_values, - build_constructors, build_one_array, build_arrays, gen_def_assign, - fix_phi_nodes, gen_inbound_check, process_switch, do_switchconv): - Tuplify. - (create_temp_arrays): Formatting. - - * gimple.h (gimple_try_set_kind): New inline function. - * tree-eh.c (same_handler_p, optimize_double_finally, - refactor_eh_r, refactor_eh): Tuplify. - * passes.c (init_optimization_passes): Reenable pass_refactor_eh. - -2008-07-02 Jakub Jelinek <jakub@redhat.com> - - * tree-parloops.c (struct reduction_info): Change reduc_stmt, - reduc_phi, keep_res and new_phi field types to gimple. - (struct elv_data): Add info field. - (reduction_phi, loop_parallel_p, take_address_of, - initialize_reductions, eliminate_local_variables_stmt, - eliminate_local_variables, expr_invariant_in_region_p, - separate_decls_in_region_name, separate_decls_in_region_stmt, - create_phi_for_local_result, create_call_for_reduction_1, - create_call_for_reduction, create_loads_for_reductions, - create_final_loads_for_reduction, create_stores_for_reduction, - create_loads_and_stores_for_name, separate_decls_in_region, - canonicalize_loop_ivs, transform_to_exit_first_loop, - create_parallel_loop, gen_parallel_loop, - loop_has_vector_phi_nodes, parallelize_loops): Tuplify. - * tree-cfg.c (gimple_duplicate_sese_tail): Tuplify. - (move_block_to_fn): Don't call gsi_next after calling - remove_phi_node. - -2008-07-02 Aldy Hernandez <aldyh@redhat.com> - Richard Guenther <rguenther@suse.de> - - * tree-ssa-forwprop.c (can_propagate_from): Exclude loads - from decls explicitly. - (gate_forwprop): Enable. - -2008-07-02 Jakub Jelinek <jakub@redhat.com> - - * tree-vectorizer.h (vinfo_for_stmt): Use htab_find_slot_with_hash. - (set_vinfo_for_stmt): Likewise. If info is NULL, delete entry from - hash table. - * tree-vectorizer.c (stmt_vec_info_eq, stmt_vec_info_hash): New - functions. - (init_stmt_vec_info_htab): Use them instead of htab_hash_pointer - and htab_eq_pointer. - (free_stmt_vec_info): Free stmt_info only after set_vinfo_for_stmt - call. - - Merge with mainline @137346. - - * configure.ac (ACX_PKGVERSION): Update revision merge string. - * configure: Regenerate. - * builtins.c (gimple_rewrite_call_expr): Fix -Wc++-compat and/or - -Wcast-qual warnings. - * gimple.c (gimple_alloc_stat, gimple_build_omp_for, - gimple_range_check_failed, gimple_copy): Likewise. - * tree-mudflap.c (mx_xfn_xform_decls): Likewise. - * tree-nested.c (convert_nonlocal_reference_stmt, - convert_local_reference_stmt): Likewise. - * gimple-iterator.c (gsi_insert_before_without_update, - gsi_insert_after_without_update): Likewise. - * tree-ssa-loop-im.c (init_lim_data, get_lim_data, - clear_lim_data): Likewise. - * tree-ssa-sccvn.c (vn_nary_op_insert_stmt): Likewise. - * tree-vrp.c (check_all_array_refs): Likewise. - * value-prof.c (histogram_eq): Likewise. - * cgraphbuild.c (record_reference): Don't handle OMP_PARALLEL - and OMP_TASK here. - (build_cgraph_edges): Handle GIMPLE_OMP_{PARALLEL,TASK}. - * cgraph.c (cgraph_add_new_function): Call gimple_register_cfg_hooks - instead of tree_register_cfg_hooks. - * omp-low.c (finalize_task_copyfn): Ensure the new function's - body is a gimple_seq with just GIMPLE_BIND in it. - (scan_omp_1_stmt): Fix -Wc++-compat and/or -Wcast-qual warnings. - * tree-cfg.c (move_stmt_op, have_similar_memory_accesses_1, - ref_base_address_1): Likewise. - (move_stmt_r): Handle gimple_block updating. - * tree-ssa-alias.c (update_alias_info_1): Tuplify. - (update_alias_info): Likewise. - * tree-switch-conversion.c: Stub out temporarily. - -2008-06-30 Aldy Hernandez <aldyh@redhat.com> - - * tree-ssa-forwprop.c: Remove obsolete comment. - (get_prop_source_stmt): Wrap call to gimple_assign_lhs with a - TREE_TYPE. - (forward_propagate_comparison): Use build2 instead of - fold_binary. - -2008-06-27 Diego Novillo <dnovillo@google.com> - - * cfgexpand.c (gimple_assign_rhs_to_tree): Factor out of ... - (gimple_to_tree): ... here. - Update comments referring to mainline merge. - * tree-ssa-ter.c: Tuplify. - * tree-outof-ssa.c (gimple_assign_rhs_to_tree): Declare. - (replace_use_variable): Call it. - (rewrite_trees): Tuplify. - (remove_ssa_form): Call it. - * gimple.h: Tidy some formatting. - * ipa-struct-reorg.c: Include gimple.h - * Makefile.in (ipa-struct-reorg.o): Add dependency on - GIMPLE_H. - -2008-06-27 Richard Guenther <rguenther@suse.de> - - * tree-ssa-sccvn.c (vn_get_expr_for): New function. - (vuses_to_vec): Tuplify. - (copy_vuses_from_stmt): Likewise. - (vdefs_to_vec): Likewise. - (copy_vdefs_from_stmt): Likewise. - (shared_vuses_from_stmt): Likewise. - (copy_reference_ops_from_call): New function split out from - copy_reference_ops_from_ref. - (create_reference_ops_from_call): New function. - (shared_reference_ops_from_call): Likewise. - (get_def_ref_stmt_vuses): Tuplify. - (vn_reference_lookup): Likewise. - (vn_nary_op_lookup_stmt): New function. - (vn_nary_op_insert_stmt): Likewise. - (vn_phi_lookup): Tuplify. - (vn_phi_insert): Likewise. - (defs_to_varying): Likewise. - (visit_unary_op): Likewise. - (visit_binary_op): Likewise. - (visit_reference_op_call): New function. - (visit_reference_op_load): Tuplify. - (visit_reference_op_store): Likewise. - (visit_phi): Likewise. - (stmt_has_constants): New function. - (simplify_binary_expression): Tuplify. - (simplify_unary_expression): Likewise. - (try_to_simplify): Likewise. - (visit_use): Likewise. - (compare_ops): Likewise. - (DFS): Likewise. - (run_scc_vn): Likewise. - * tree-ssa-sccvn.h (shared_vuses_from_stmt): Adjust prototype. - (copy_vuses_from_stmt): Likewise. - (vn_get_expr_for): Declare. - (vn_nary_op_lookup_stmt): Likewise. - (vn_nary_op_insert_stmt): Likewise. - * tree-dfa.c (get_single_def_stmt): Tuplify. - (get_single_def_stmt_from_phi): Likewise. - (get_single_def_stmt_with_phi): Likewise. - * tree-ssa-pre.c (do_SCCVN_insertion): Use vn_get_expr_for. - (eliminate): Likewise. - (execute_pre): Enable SCCVN. - (gate_fre): Enable. - * tree-flow.h (get_single_def_stmt): Adjust prototype. - (get_single_def_stmt_from_phi): Likewise. - (get_single_def_stmt_with_phi): Likewise. - (vn_lookup_or_add_with_stmt): Likewise. - (vn_lookup_with_stmt): Likewise. - * gimple.c (gimple_fold): Fix. - * tree-vn.c (vn_add): Disable call to add_to_value. - (vn_add_with_vuses): Likewise. - (vn_lookup_with_stmt): Tuplify. - (vn_lookup_or_add_with_stmt): Likewise. - -2008-06-27 Aldy Hernandez <aldyh@redhat.com> - - * gimple.c (gimple_cond_get_ops_from_tree): Handle TRUTH_NOT_EXPR. - -2008-06-25 Diego Novillo <dnovillo@google.com> - - * gimple.h (enum gimple_rhs_class): Move from tree-gimple.h - (struct gimple_statement_base): Change CODE field to 8 - bits. - Change SUBCODE field to 16 bits. - (gimple_set_subcode): Move to gimple.c. - (gimple_subcode): Remove. - (gimple_expr_type): Handle GIMPLE_ASSIGN, GIMPLE_CALL and - GIMPLE_COND explicitly. - Move earlier in the file. - (gimple_expr_code): New. - (gimple_omp_subcode): New. - (gimple_omp_set_subcode): New. - (gimple_omp_return_nowait_p): Call gimple_omp_subcode. - (gimple_omp_section_last_p): Likewise. - (gimple_omp_parallel_combined_p): Likewise. - (gimple_assign_rhs_code): New. - (gimple_assign_set_rhs_code): New. - (gimple_assign_cast_p): Call gimple_assign_rhs_code. - Handle VIEW_CONVERT_EXPR. - (gimple_call_tail_p): Access subcode field directly. - (gimple_call_cannot_inline_p): Likewise. - (gimple_call_return_slot_opt_p): Likewise. - (gimple_call_from_thunk_p): Likewise. - (gimple_call_va_arg_pack_p): Likewise. - (gimple_call_copy_flags): Likewise. - (gimple_cond_code): Likewise. - (gimple_cond_set_code): Likewise. - (gimple_cond_make_false): Likewise. - (gimple_cond_make_true): Likewise. - (gimple_asm_volatile_p): Likewise. - (gimple_asm_input_p): Likewise. - (gimple_eh_filter_must_not_throw): Likewise. - (gimple_eh_filter_set_must_not_throw): Likewise. - (gimple_try_kind): Likewise. - (gimple_try_catch_is_cleanup): Likewise. - (gimple_wce_cleanup_eh_only): Likewise. - - * tree-vrp.c (simplify_div_or_mod_using_ranges): Call - gimple_assign_set_rhs_code instead of gimple_set_subcode. - (simplify_abs_using_ranges): Likewise. - * tree-complex.c (init_dont_simulate_again): Call - gimple_expr_code instead of gimple_subcode. - (complex_visit_stmt): Likewise. - (expand_complex_move): Call gimple_assign_rhs_code - instead of gimple_subcode. - (expand_complex_operations_1): Likewise. - * value-prof.c (gimple_divmod_fixed_value): Likewise. - (gimple_mod_pow2): Likewise. - (gimple_mod_subtract): Likewise. - (gimple_divmod_values_to_profile): Likewise. - * tree-ssa-alias-warnings.c (find_alias_site_helper): - Call gimple_assign_cast_p. - (already_warned_in_frontend_p): Likewise. - * gimple.def: Add comments warning about code orderings. - * omp-low.c (expand_omp_taskreg): Call gimple_omp_set_subcode. - (expand_omp_atomic_fetch_op): Call gimple_assign_rhs_code. - * tree-gimple.c (get_gimple_rhs_class): Move to gimple.c - (get_gimple_rhs_num_ops): Likewise. - (gimple_assign_rhs_code): Move to gimple.h. - * tree-gimple.h (enum gimple_rhs_class): Move to gimple.h. - * tree-ssa-ccp.c (fold_gimple_assign): Call - gimple_assign_rhs_code instead of gimple_subcode. - * tree-stdarg.c (va_list_counter_bump): Likewise. - (check_all_va_list_escapes): Likewise. - (execute_optimize_stdarg): Likewise. - * tree-ssa-math-opts.c (is_division_by): Likewise. - (replace_reciprocal): Likewise. - (execute_cse_reciprocals): Likewise. - (execute_convert_to_rsqrt): Likewise. - * tree-ssa-dom.c (initialize_hash_element): Likewise. - (simple_iv_increment_p): Likewise. - (gimple_assign_unary_useless_conversion_p): Likewise. - * tree-ssa-alias.c (is_escape_site): Call gimple_assign_cast_p. - * predict.c (expr_expected_value_1): Call gimple_assign_rhs_code - instead of gimple_subcode. - * tree-eh.c (tree_could_trap_p): Call gimple_expr_code - instead of gimple_subcode. - * ipa-type-escape.c (is_array_access_through_pointer_and_index): - Call gimple_assign_rhs_code instead of gimple_subcode. - (check_assign): Likewise. - * gimplify.c (gimplify_omp_parallel): Call gimple_omp_set_subcode - instead of gimple_set_subcode. - * tree-mudflap.c (mf_xform_derefs): Call gimple_assign_rhs_code - instead of gimple_subcode. - * tree-ssa-forwprop.c (get_prop_source_stmt): Likewise. - (can_propagate_from): Likewise. - (remove_prop_source_from_use): Likewise. - (forward_propagate_addr_into_variable_array): Likewise. - * tree-object-size.c (plus_stmt_object_size): Likewise. - (collect_object_sizes_for): Likewise. - (check_for_plus_in_loops_1): Likewise. - (check_for_plus_in_loops): Likewise. - * gimple.c (gimple_set_subcode): Move from gimple.h - (gimple_check_failed): Access subcode field directly. - (gimple_assign_single_p): Call gimple_assign_rhs_code - instead of gimple_subcode. - (gimple_assign_unary_nop_p): Likewise. - (gimple_get_lhs): Change argument type to const_gimple. - (gimple_could_trap_p): Call gimple_assign_rhs_code - instead of gimple_subcode. - (get_gimple_rhs_class): Move from tree-gimple.c. - (get_gimple_rhs_num_ops): Likewise. - * tree-ssa-structalias.c (update_alias_info): Call - gimple_assign_rhs_code instead of gimple_subcode. - (find_func_aliases): Likewise. - * tree-ssa-threadedge.c (record_temporary_equivalences_from_phis): - Likewise. - -2008-06-25 Doug Kwan <dougkwan@google.com> - - * gimple-dummy.c: (vect_free_slp_tree) Remove dummy. - (vect_analyze_loop): Same. - (vectorizable_induction): New dummy. - (vectorizable_type_promotion): Same. - (vectorizable_type_demotion): Same. - (vectorizable_conversion): Same. - (vectorizable_operation): Same. - (vectorizable_assignment): Same. - (vectorizable_load): Same. - (vectorizable_call): Same. - (vectorizable_store): Same. - (vectorizable_condition): Same. - (vectorizable_reduction): Same. - (vectorizable_live_operation): Same. - (vect_estimate_min_profitable_iters): Same. - (vect_model_simple_cost): Same. - (vect_model_store_cost): Same. - (vect_model_load_cost): Same. - (vect_pattern_recog): Same. - * tree-vectorizer.h (struct _stmt_vec_info): Change fields FIRST_DR - and NEXT_DR from tree to gimple type. - (vectorizable_load): Change type of parameter STMT to gimple. - (vectorizable_store): Same. - (vectorizable_operation): Same. - (vectorizable_type_promotion): Same. - (vectorizable_type_demotion): Same. - (vectorizable_conversion): Same. - (vectorizable_assignment): Same. - (vectorizable_function): Same. - (vectorizable_call): Same. - (vectorizable_condition): Same. - (vectorizable_live_operation): Same. - (vectorizable_reduction): Same. - (vectorizable_induction): Same. - * tree-vect-analyze.c (File): Re-enable all previously disabled code. - (vect_determine_vectorization_factor): Tuplify. - (vect_analyze_operations): Same. - (exist_non_indexing_operands_for_use_p): Same. - (vect_analyze_scalar_cycles_1): Same. - (vect_insert_into_interleaving_chain): Same. - (vect_same_range_drs): Same. - (vect_compute_data_ref_alignment): Same. - (vect_verify_datarefs_alignment): Same. - (vector_alignment_reachable_p): Same. - (vect_enhance_data_refs_alignment): Same. - (vect_analyze_group_access): Same. - (vect_analyze_data_ref_access): Same. - (vect_free_slp_tree): Same. - (vect_get_and_check_slp_defs): Same. - (vect_build_slp_tree): Same. - (vect_print_slp_tree): Same. - (vect_mark_slp_stmts): Same. - (vect_analyze_slp_instance): Same. - (vect_analyze_slp): Same. - (vect_detect_hybrid_slp_stmts): Same. - (vect_analyze_data_refs): Same. - (vect_mark_relevant): Same. - (process_use): Same. - (vect_mark_stmts_to_be_vectorized): Same. - (vect_can_advance_ivs_p): Same. - (vect_get_loop_niters): Same. - (vect_analyze_loop_form): Same. - -2008-06-25 Diego Novillo <dnovillo@google.com> - - * tree-vectorizer.c (hash_gimple_stmt): Remove. - (eq_gimple_stmt): Remove. - (init_stmt_vec_info_htab): Use htab_hash_pointer and - htab_eq_pointer for STMT_VEC_INFO_HTAB. - -2008-06-24 Doug Kwan <dougkwan@google.com> - - * gimple-dummy.c (vect_set_verbosity_level): Remove. - (vectorize_loops): Same. - (vect_free_slp_tree): New dummy. - (vect_analyze_loop): Same. - (vect_transform_loop): Same. - * tree-vectorize.c (hashtab.h): New include. - (File): Re-enable all previously commented out code. - (stmt_vec_info_htab): New var. - (rename_variables_in_bb): Tuplify. - (slpeel_update_phis_for_duplicate_loop): Same. - (slpeel_update_phi_nodes_for_guard1): Same. - (slpeel_update_phi_nodes_for_guard2): Same. - (slpeel_make_loop_iterate_ntimes): Same. - (slpeel_tree_duplicate_loop_to_edge_cfg): Same. - (slpeel_add_loop_guard): Same. - (slpeel_can_duplicate_loop_p): Same. - (set_prologue_iterations): Same. - (find_loop_location): Same. - (new_stmt_vec_info): Same. - (hash_gimple_stmt): New function. - (init_stmt_vec_info_htab): New function. - (free_stmt_vec_info_htab): New function. - (free_stmt_vec_info): Replace statement info with hash table entry. - (new_loop_vec_info): Tuplify. - (destroy_loop_vec_info): Same. - (vect_supportable_dr_alignment): Same - (vect_is_simple_use): Same. - (supportable_widening_operation): Same. - (supportable_narrowing_operation): Same. - (report_vec_op): New function. Code factored out from ... - (vect_is_simple_reduction): Call it. Tuplify. - (vectorize_loops): Set up and tear down stmt_vec_info hash table. - * tree-vectorizer.h (struct _slp_tree): Change statement fields - (struct _loop_vec_info): Same. - (struct _stmt_vec_info): - (nested_in_vect_loop): Re-enable. - (init_stmt_vec_info_htab): New prototype. - (free_stmt_vec_info_htab): New prototype. - (vinfo_for_stmt): Use hash table instead of statement info. - (set_stmt_info): Remove. - (set_vinfo_for_stmt): New inline. - (is_pattern_stmt_p): Tuplify. - (vect_is_simple_use): Tuplify prototype. - (vect_is_simple_reduction): Same. - (supportable_widening_operation): Same. - (supportable_narrowing_operation): Same. - (new_stmt_vec_info): Same. - (free_stmt_vec_info): Same. - Makefile.in (tree-vectorize.o): Add HASTAB_H dependency. - -2008-06-22 Andrew Pinski <pinskia@gmail.com> - - * gimple-pretty-print.c (dump_binary_rhs): Print out MIN_EXPR and - MAX_EXPR specially. - -2008-06-20 Doug Kwan <dougkwan@google.com> - - * tree-loop-linear.c (File): Re-enable all previously disabled code. - (gather_interchange_stats): Tuplify. - (linear_transform_loops): Likewise. - * gimple-dummy.c (get_type): Remove unused dummy. - (ipa_add_method): Same. - (ipa_callsite_callee): Same. - (ipa_callsite_compute_count): Same. - (ipa_callsite_compute_param): Same. - (ipa_callsite_param): Same. - (ipa_callsite_param_count): Same. - (ipa_callsite_param_count_set): Same. - (ipa_edges_create): Same. - (ipa_edges_free): Same. - (ipa_free): Same. - (ipa_jf_get_info_type): Same. - (ipa_method_compute_modify): Same. - (ipa_method_compute_tree_map): Same. - (ipa_method_formal_compute_count): Same. - (ipa_method_formal_count): Same. - (ipa_method_formal_count_set): Same. - (ipa_method_get_tree): Same. - (ipa_method_modify_print): Same. - (ipa_method_tree_print): Same. - (ipa_methodlist_init): Same. - (ipa_methodlist_not_empty): Same. - (ipa_node_create): Same. - (ipa_nodes_create): Same. - (ipa_nodes_free): Same. - (ipa_remove_method): Same. - (vec_set_verbosity_level): Same. - * tree-ssa-loop.c (tree_linear_transform): Re-enable. - -2008-06-19 Jan Hubicka <jh@suse.cz> - - * gimple.c (gimple_alloc): Annotate with MEM_STAT_INFO - (gimple_build_with_ops): Likewise. - (gimple_build_assign): Likewise. - (gimple_build_assign_with_ops): Likewise. - * gimple.h (gimple_build_assign, gimple_build_assign_with_ops): - Annotate with MEM_STAT_INFO. - -2008-06-17 Jan Hubicka <jh@suse.cz> - - * config/i386.c (ix86_gimplify_va_arg): Fix sharing issue. - -2008-06-17 Jan Hubicka <jh@suse.cz> - - * gimplify.c (gimplify_modify_expr): Unshare only returned value when - want_value is set instead of copying operands all the time. - -2008-06-17 Diego Novillo <dnovillo@google.com> - - * tree-ssa-loop-niter.c (get_val_for): Fix FIXME note. - -2008-06-17 Steven Bosscher <stevenb.gcc@gmail.com> - - * gimple-dummy.c (canonicalize_induction_variables): Remove dummy. - (remove_empty_loops): Likewise. - (tree_unroll_loops_completely): Likewise. - * tree-ssa-ivcanon.c (tree_num_loop_insns): Replace bsi with gsi. - (create_canonical_iv): Convert to tuples. - (try_unroll_loop_completely): Likewise. - (empty_loop_p): Likewise. - (remove_empty_loop): Likewise. - * tree-ssa-loop.c (tree_ssa_loop_ivcanon): Re-enable. - (tree_ssa_empty_loop): Likewise. - (tree_complete_unroll): Likewise. - (tree_complete_unroll_inner): Likewise. - -2008-06-16 Doug Kwan <dougkwan@google.com> - - * tree-ssa-ifcombine.c (File): Re-enable all previously diabled code. - (bb_no_side_effects_p): Tuplify. - (same_phi_args_p): Likewise. - (get_name_for_bit_test): Likewise. - (operand_precision): New. - (integral_operand_p): New. - (recognize_single_bit_test): Tuplify. - (regcognize_bits_test): Tuplify. - (ifcombine_ifandif): Likewise. - (ifcombine_iforif): Likewise. - (tree_ssa_ifcombine): Likewise. - * passes.c: Re-enable pass_tree_ifcombine. - -2008-06-16 Doug Kwan <dougkwan@google.com> - - * tree-ssa-loop-unswitch.c (File): Re-enable all previously disabled - code. - (tree_may_unswitch_on): Tuplify. - (simplify_using_entry_checks): Likewise. - (tree_unswitch_single_loop): Likewise. - * gimple-dummy.c (tree_ssa_unswitch_loops): Remove dummy. - * tree-ssa-loop.c (gate_tree_ssa_loop_unswitch): Re-enable. - -2008-06-16 Steven Bosscher <steven@gcc.gnu.org> - - * tree-ssa-reassoc.c: Convrt to tuples. - -2008-06-15 Diego Novillo <dnovillo@google.com> - - * tree-ssa-live.c (mark_all_vars_used_1): Mark as used - the TREE_BLOCK of any _EXPR node. - -2008-06-13 Doug Kwan <dougkwan@google.com> - - * tree-mudflap.c (File): Re-enable previously disabled code. - (mf_decl_cache_locals): Tuplify. - (mf_build_check_statement_for): Likewise. - (mf_xform_derefs_1): Re-enable. - (mf_xform_derefs): Tuplify. - (execute_mudflap_function_decls): Likewise. - (mx_register_decls): Tuplify. Add a new formal parameter for - the location of newly generated statements. Change function to - return modified gimple sequence instead of of modifying in-place. - (mx_xfn_xform_decls): Tuplify. - (mf_xform_decls): Tuplify. - * passes.c (init_optimization_passes): Re-enable mudflap passes. - -2008-06-13 Jakub Jelinek <jakub@redhat.com> - - Merge with mainline @136757. - - * configure.ac (ACX_PKGVERSION): Update revision merge string. - * configure: Regenerate. - -2008-06-13 Doug Kwan <dougkwan@google.com> - - * ipa-reference.c (scan_stmt_for_static_refs): Rename walk_subtrees - parameter to handled_ops_p and correct bug of using walk_tree callback - semantics. - * ipa-pure-const.c (scan_function_stmt): Likewise. - * tree-inline.c (mark_local_labes_stmt): Rename walk_subtrees - parameter to handle_ops_p. - (replace_locals_stmt): Likewise. - -2008-06-10 Steven Bosscher <steven@gcc.gnu.org> - - * passes.c (init_optimization_passes): Re-enable pass_uncprop. - * tree-ssa-uncprop (associate_equivalences_with_edges): Convert - to tuples. - (uncprop_into_successor_phis): Likewise. - -2008-06-09 Diego Novillo <dnovillo@google.com> - - * ipa-cp.c (cgraph_gate_cp): Fix 'FIXME tuples' note. - * cfg.c (compact_blocks): Likewise. - * dominance.c (free_dominance_info): Likewise. - * gimple-low.c (gimple_stmt_may_fallthru): Likewise - * c-gimplify.c (add_block_to_enclosing): Likewise. - * lambda-mat.c: Include tree-flow.h. - * lambda-trans.c: Likewise. - * Makefile.in (lambda-mat.o, lambda-trans.o): Add dependency - on $(TREE_FLOW_H). - * builtins.c (expand_builtin_setjmp_receiver): Remove #if 0 markers. - (fold_call_stmt): Call gimple_call_va_arg_pack_p. - * tree-gimple.h (gimple_bind_expr_stack): Declare. - * cgraphunit.c (update_call_expr): Do not try to access operand 0 - of a FUNCTION_DECL. - * tree-ssa-loop-ivopts.c (stmt_invariant_in_loop_p): New. - * tree-flow.h (stmt_invariant_in_loop_p): Declare. - * gimple-dummy.c (remove_iv): Remove. - (gimple_stmt_may_fallthru): - * ipa-type-escape.c (check_tree): Call DECL_P before testing - DECL_INITIAL. - (check_assign): Do not access TREE_OPERAND 0 on the RHS - operand. - * gimplify.c (gimple_bind_expr_stack): New. - * gimple.h (struct gimple_statement_bind): Add more comments - for field BLOCK. - (gimple_cond_set_condition): New. - * gimple.c (gimple_cond_set_condition_from_tree): Call it. - (gimple_copy_no_def_use): Remove. Update all users. - (gimple_has_side_effects): - (gimple_rhs_has_side_effects): - * passes.c (init_optimization_passes): Enable - pass_release_ssa_names, pass_ipa_type_escape, pass_ipa_pta, - pass_ipa_struct_reorg, pass_record_bounds, - pass_late_warn_uninitialized and pass_rename_ssa_copies. - - * lambda-code.c: Tuplify. - * ipa-struct-reorg.c: Tuplify. - * ipa-struct-reorg.h: Tuplify. - -2008-06-09 Jakub Jelinek <jakub@redhat.com> - - * gimplify.c (gimplify_omp_for): Call gimple_omp_for_set_incr - with the RHS of the GIMPLE_MODIFY_STMT instead of the - GIMPLE_MODIFY_STMT itself. - * gimple-pretty-print.c (dump_gimple_omp_for): Adjust for it. - * tree-nested.c (walk_gimple_omp_for): Likewise. - * omp-low.c (extract_omp_for_data, lower_omp_for): Likewise. - -2008-06-09 Aldy Hernandez <aldyh@redhat.com> - - * tree-ssa-forwprop.c (forward_propagate_into_cond): First argument is - a GSI. - (forward_propagate_addr_into_variable_array_index): Accept a GSI - instead of a gimple statement. Update accordingly. - (forward_propagate_addr_expr_1): Same. - (forward_propagate_addr_expr): Pass a GSI to - forward_propagate_addr_expr_1. - (simplify_not_neg_expr): Argument is a GSI. - Adjust accordingly. - (tree_ssa_forward_propagate_single_use_va): Pass GSI to - simplify_not_neg_expr and forward_propagate_into_cond. - -2008-06-09 Aldy Hernandez <aldyh@redhat.com> - - * tree.h (IS_CONVERT_EXPR_P): New. - (CONVERT_EXPR_P): Use IS_CONVERT_EXPR_P. - * tree-ssa-forwprop.c (get_prop_dest_stmt): Convert to tuples. - (get_prop_source_stmt): Same. - (can_propagate_from): Same. - (remove_prop_source_from_use): Same. - (combine_cond_expr_cond): Same. - (forward_propagate_into_cond): Same. - (tidy_after_forward_propagate_addr): Same. - (forward_propagate_addr_into_variable_array_index): Same. - (forward_propagate_addr_expr_1): Same. - (forward_propagate_addr_expr): Same. - (forward_propagate_comparison): Same. - (simplify_not_neg_expr): Same. - (tree_ssa_forward_propagate_single_use_vars): Same. - (simplify_gimple_switch): Rename from -simplify_switch_expr. - (rhs_to_tree): New. - (forward_propagate_into_gimple_cond): New. - * Makefile.in (tree-ssa-forwprop.o): Depend on GIMPLE_H. - * passes.c (init_optimization_passes): Enable pass_forwprop. - -2008-06-09 Jakub Jelinek <jakub@redhat.com> - - * tree.def (OMP_SECTIONS_SWITCH, OMP_ATOMIC_LOAD, OMP_ATOMIC_STORE): - Removed. - * tree-gimple.c (is_gimple_stmt): Don't handle them. - * gimplify.c (gimplify_expr): Likewise. - * tree-pretty-print.c (dump_generic_node): Likewise. - * tree-ssa-operands.c (get_expr_operands): Likewise. - * expr.c (expand_expr_real_1): Likewise. - * omp-low.c (expand_omp_atomic_pipeline): Adjust comment. - -2008-06-09 Jakub Jelinek <jakub@redhat.com> - - Merge with mainline @136433. - - * configure.ac (ACX_PKGVERSION): Update revision merge string. - * configure: Regenerate. - -2008-06-08 Diego Novillo <dnovillo@google.com> - - Merge with mainline @136432. - - * configure.ac (ACX_PKGVERSION): Update revision merge string. - * configure: Regenerate. - -2008-06-08 Diego Novillo <dnovillo@google.com> - - * tree-call-cdce.c: Tuplify. - -2008-06-06 Diego Novillo <dnovillo@google.com> - - http://gcc.gnu.org/ml/gcc-patches/2008-06/msg00353.html - - * gimple.def: Add a third argument to all GIMPLE codes. - Update all users. - * calls.c (gimple_alloca_call_p): Fix comment. - * system.h (CONST_CAST_GIMPLE): Define. - * gimple.c (gimple_ops_offset_): Declare. Fill in from - third argument in gimple.def. - (gimple_set_stored_syms, gimple_set_loaded_syms): Move - from tree-ssa-operands.c - (gimple_alloc): Add argument NUM_OPS. Update all users. - Compute size by adding enough space for NUM_OPS operands. - (gimple_alloc_ops): Remove. Update all users. - (gimple_assign_set_rhs_from_tree): Change first argument - to gimple_stmt_iterator *. Update all users. - Allocate a new statement, if there are more operands that - can fit in the old one. - (gimple_assign_set_rhs_with_ops): Likewise. - (gimple_copy): Fix clearing of stores/loads sets in the - copied statement. - * gimple.h (struct gimple_statement_base): Remove fields - UNUSED_1, UNUSED_2, UNUSED_3. - Add fields MODIFIED, HAS_VOLATILE_OPS, REFERENCES_MEMORY_P, - UID and NUM_OPS. - Re-organize existing fields to eliminate holes on 64 bit - hosts. - Update all users. - (struct gimple_statement_with_ops_base): Define. - Factor out struct gimple_statement_with_ops. Include fields GSBASE, - ADDRESSES_TAKEN, DEF_OPS and USE_OPS. - (struct gimple_statement_with_ops): Include struct - gimple_statement_with_ops_base. - Remove field NUM_OPS. - (struct gimple_statement_with_memory_ops_base): Define. - Factor out of struct gimple_statement_with_memory_ops. - Include fields OPBASE, VDEF_OPS, VUSE_OPS, STORES and - LOADS. - Remove fields HAS_VOLATILE_OPS and REFERENCES_MEMORY_P. - (struct gimple_statement_with_memory_ops): Include - struct gimple_statement_with_memory_ops_base. - (struct gimple_statement_phi): Change size_t fields to - unsigned. Update all users. - (struct gimple_statement_asm): Include struct - gimple_statement_with_memory_ops_base. - Change fields NI and NO to unsigned char. - Change field NC to short. - Update all users. - Add field OP. - (struct gimple_statement_change_dynamic_type): Remove. - Update all users. - (union gimple_statement_d): Rename field WITH_OPS to GSOPS. - Rename field WITH_MEM_OPS to GSMEM. - Update all users. - (gimple_addresses_taken): New. - (gimple_addresses_taken_ptr): New. - (gimple_set_addresses_taken): New. - (gimple_num_ops): Move earlier. - (gimple_ops): Use gimple_ops_offset_ to compute address - of the operand vector. - (gimple_op): Call gimple_ops. - (gimple_op_ptr): Likewise. - (gimple_set_op): Likewise. - (gimple_switch_num_labels): Call gimple_num_ops. - (gimple_switch_set_num_labels): Call gimple_set_num_ops. - (gimple_switch_set_label): Call gimple_num_ops. - (gimple_return_retval_ptr): Likewise. - (gimple_return_retval): Likewise. - (gimple_set_retval): Likewise. - (gimple_cdt_new_type): Use operand 1. - (gimple_cdt_new_type_ptr): Likewise. - (gimple_cdt_set_new_type): Likewise. - * tree-cfg.c (gimple_block_ends_with_call_p): Use - CONST_CAST_BB. - * tree-ssa-operands.c (gimple_set_stored_syms, - gimple_set_loaded_syms): Declare. - * value-prof.c (gimple_divmod_fixed_value_transform, - gimple_mod_pow2_value_transform, - gimple_mod_subtract_transform): Change argument to - gimple_stmt_iterator *. Update all users. - * tree-ssa-ccp.c (fold_gimple_assign): Change parameter - to gimple_stmt_iterator *. Update all users - -2008-06-05 Jakub Jelinek <jakub@redhat.com> - - * gimplify.c (gimplify_modify_expr_to_memcpy): Use gimplify_arg - for gimplification of call arguments. - (gimplify_modify_expr_to_memset): Likewise. - -2008-06-02 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/36389 - * gimplify.c (gimplify_cond_expr): If one or both branches are - GOTO_EXPRs jumping to LABEL_DECLs, don't create unnecessary - extra LABEL_DECLs and jumps around. - * tree-cfg.c (remove_useless_stmts_cond): Set may_branch also - for GIMPLE_COND stmts. - * tree-eh.c (replace_goto_queue_cond_clause): Set label to - create_artificial_label () rather than LABEL_EXPR. - -2008-05-30 Diego Novillo <dnovillo@google.com> - - * calls.c (gimple_alloca_call_p): Fix detection of - alloca() calls. - -2008-05-30 Diego Novillo <dnovillo@google.com> - - * toplev.c: Include gimple.h. - (dump_memory_report): Call dump_gimple_statistics. - * Makefile.in (toplev.o): Add dependency on GIMPLE_H. - * gimple-low.c (pass_lower_cf): Restore disabled bits. - * tree-dfa.c (pass_referenced_vars): Likewise. - * cfgexpand.c (pass_expand): Likewise. - * tree-outof-ssa.c (pass_del_ssa): Likewise. - * gimple.c (gimple_alloc): Fix non-C99 declaration. - * gimplify.c (gimplify_function_tree): Remove calls to - dump_tree_statistics and dump_gimple_statistics. - -2008-05-30 Jakub Jelinek <jakub@redhat.com> - - * omp-low.c (diagnose_omp_structured_block_errors): Temporarily - switch cfun to DECL_STRUCT_FUNCTION (fndecl). - - * omp-low.c (scan_sharing_clauses): Call scan_omp on - OMP_CLAUSE_REDUCTION_GIMPLE_{INIT,MERGE} instead of - scan_omp_op on OMP_CLAUSE_REDUCTION_{INIT,MERGE}. - (lower_rec_input_clauses): Clear - OMP_CLAUSE_REDUCTION_GIMPLE_{INIT,MERGE} instead of - OMP_CLAUSE_REDUCTION_{INIT,MERGE}. Call lower_omp - on OMP_CLAUSE_REDUCTION_GIMPLE_MERGE before gimple_seq_add_seq - to replace all occurences of placeholder in the seq. - * gimplify.c (gimplify_scan_omp_clauses): Clear - OMP_CLAUSE_REDUCTION_{INIT,MERGE} after gimplifying it. - - * tree-nested.c (init_tmp_var_with_call, init_tmp_var, save_tmp_var): - Only set location if not gsi_end_p. - (walk_gimple_omp_for): Avoid adding an empty statement to seq. - - * tree-inline.c (remap_gimple_stmt): Remap body of - GIMPLE_OMP_{MASTER,ORDERED,SECTION,SECTIONS,SINGLE}. - -2008-05-28 Andrew Pinski <pinskia@gmail.com> - - * gimple-pretty-print.c (dump_unary_rhs): Handle conversions correctly. - Handle PAREN_EXPR, ABS_EXPR, and NEGATE_EXPR. - -2008-05-29 Jakub Jelinek <jakub@redhat.com> - - * omp-low.c (lower_omp_1): Handle regimplification of GIMPLE_ASM. - Fix GIMPLE_ASSIGN regimplification. - * gimple-pretty-print.c (dump_gimple_omp_sections, - dump_gimple_omp_block, dump_gimple_omp_critical): New functions. - (dump_gimple_omp_parallel): Formatting. - (dump_gimple_stmt): Handle remaining GIMPLE_OMP_* statements. - -2008-05-29 Aldy Hernandez <aldyh@redhat.com> - - * tree-inline.c (remap_gimple_stmt): Handle GIMPLE_OMP_* cases. - -2008-05-29 Aldy Hernandez <aldyh@redhat.com> - - * gimple-pretty-print.c (dump_gimple_stmt): Add cases for - GIMPLE_OMP_MASTER and GIMPLE_OMP_ORDERED. - -2008-05-29 Aldy Hernandez <aldyh@redhat.com> - - * omp-low.c (expand_omp_parallel): Parse an assignment from an - ADDR_EXPR correctly. - * gimple-pretty-print.c (dump_gimple_omp_parallel): Print braces when - appropriate. - -2008-05-29 Jakub Jelinek <jakub@redhat.com> - - * omp-low.c (lower_omp_1): Fix regimplification of GIMPLE_COND and - GIMPLE_CALL. - -2008-05-28 Jakub Jelinek <jakub@redhat.com> - - * gimple.c (gimple_regimplify_operands): Don't call gimple_num_ops - twice. Write regimplified operand to the correct operand slot. - * gimplify.c (rhs_predicate_for): No longer static. - * tree-gimple.h (rhs_predicate_for): New prototype. - * omp-low.c (lower_omp_1): Don't call gimple_regimplify_operands, - instead forcefully gimplify_expr each operand with the right - predicate. - - * gimple.h (gimple_omp_atomic_store_val_ptr, - gimple_omp_atomic_load_lhs_ptr, gimple_omp_atomic_load_rhs_ptr): New - inlines. - * gimple.c (walk_gimple_op): Handle GIMPLE_OMP_ATOMIC_LOAD and - GIMPLE_OMP_ATOMIC_STORE. - * omp-low.c (lower_omp_1): Handle GIMPLE_OMP_ATOMIC_LOAD. - - * gimple-pretty-print.c (dump_gimple_omp_for): Don't indent twice - before gimple_omp_body, don't emit extra newline after it. - (dump_gimple_omp_single): Likewise. - -2008-05-27 Aldy Hernandez <aldyh@redhat.com> - - * tree-nested.c (walk_omp_for): Rename to... - (walk_gimple_omp_for): Enable and convert to tuples. - (convert_nonlocal_reference_stmt): Enable call to walk_gimple_omp_for. - (convert_local_reference_stmt): Same. - * gimple.c (walk_gimple_op): Remove fixme note. - -2008-05-27 Diego Novillo <dnovillo@google.com> - - * tree-gimple.c (get_gimple_rhs_class): Handle - POLYNOMIAL_CHREC. - * tree-cfg.c (verify_types_in_gimple_assign): Do not - check every operand against the LHS type for tcc_binary - expressions. - -2008-05-26 Diego Novillo <dnovillo@google.com> - - Merge with mainline @135951. - - * configure.ac (ACX_PKGVERSION): Update revision merge string. - * configure: Regenerate. - -2008-05-22 Aldy Hernandez <aldyh@redhat.com> - - * tree-cfg.c (make_edges): Change OMP_SECTION to GIMPLE_OMP_SECTIONS. - Update comments. - (verify_types_in_gimple_stmt): Update comments. - (verify_stmt): Same. - -2008-05-21 Andreas Tobler <a.tobler@schweiz.org> - - * ../configure: Regenerate with the correct autoconf version: 2.59. - -2008-05-21 Aldy Hernandez <aldyh@redhat.com> - - * omp-low.c (lower_reduction_clauses): Generate OMP_ATOMIC_* directly. - Concatenate atomic code correctly. - -2008-05-20 Aldy Hernandez <aldyh@redhat.com> - - * omp-low.c (WALK_SUBSTMTS): New. - (check_combined_parallel): Walk sub-statements. - (diagnose_sb_1): Same. - (diagnose_sb_2): Same. - Handle switch labels and return statements correctly. - * testsuite/gcc.dg/gomp/block-7.c: Adjust for new error message. - * testsuite/gcc.dg/gomp/block-2.c: Same. - * testsuite/gcc.dg/gomp/block-4.c: Same. - * testsuite/gcc.dg/gomp/block-6.c: Same. - * testsuite/gcc.dg/gomp/block-8.c: Same. - * testsuite/gcc.dg/gomp/block-1.c: Same. - * testsuite/gcc.dg/gomp/block-3.c: Same. - * testsuite/gcc.dg/gomp/block-5.c: Same. - -2008-05-20 Aldy Hernandez <aldyh@redhat.com> - - * omp-low.c (lower_omp_single): Append to bind variables. - (lower_omp_master): Same. - (lower_omp_ordered): Same. - (lower_omp_critical): Same. - * gimplify.c (gimplify_modify_expr_to_memcpy): Make sure we are - fully gimplified. - (gimplify_omp_for): Same. - * gimple.h (gimple_bind_set_vars): New. - -2008-05-16 Andreas Tobler <a.tobler@schweiz.org> - - * config/alpha/alpha.c (alpha_gimplify_va_arg): Adjust arguments. - * config/ia64/ia64.c (ia64_gimplify_va_arg): Likewise. - * config/pa/pa.c (hppa_gimplify_va_arg_expr): Likewise. - * config/m32c/m32c-protos.h (m32c_gimplify_va_arg_expr): Likewise. - * config/spu/spu.c (spu_gimplify_va_arg_expr): Likewise. - * config/stormy16/stormy16.c (xstormy16_gimplify_va_arg_expr): Likewise. - * config/xtensa/xtensa.c (xtensa_gimplify_va_arg_expr): Likewise. - - * config/sparc/sparc.c (sparc_gimplify_va_arg): Adjust arguments. - -2008-05-16 Diego Novillo <dnovillo@google.com> - - * tree-into-ssa.c (rewrite_uses_p): Fix return type. - * tree-vectorizer.h (nested_in_vect_loop_p): Add return value. - * tree-ssa-pre.c (execute_pre): Add return value. - -2008-05-15 Aldy Hernandez <aldyh@redhat.com> - - * config/s390/s390.c (s390_gimplify_va_arg): Adjust for tuples. - -2008-05-15 Diego Novillo <dnovillo@google.com> - - * Makefile.in (STRICT_WARN): Revert to mainline behaviour. - (builtins.o-warn, expr.o-warn, dse.o-warn, - ebitmap.o-warn, lower-subreg.o-warn, tree-chrec.o-warn, - tree-ssa-structalias.o-warn, varasm.o-warn): Remove. - * config/arm/arm.c (arm_return_in_memory): Fix return type. - * config/arm/arm-protos.h (arm_return_in_memory): Likewise. - -2008-05-15 Aldy Hernandez <aldyh@redhat.com> - - * gimplify.c (gimplify_omp_for): Handle a MODIFY_EXPR in - gimple_omp_for_incr. - * cfgexpand.c (gimple_to_tree): Do not die on compile errors. - -2008-05-15 Aldy Hernandez <aldyh@redhat.com> - - * omp-low.c (check_omp_nesting_restrictions): Fetch clauses from for. - (expand_omp_atomic): Parse GIMPLE_OMP_ATOMIC correctly. - (lower_omp_single_simple): Create GIMPLE_COND with both tlabel and - flabel. - (lower_omp_for): Make sure we have a body before look inside. - * gimple-low.c (lower_stmt): Add case for GIMPLE_OMP_SECTIONS_SWITCH. - * gimple-pretty-print.c (dump_gimple_omp_single): New. - (dump_gimple_stmt): Add case for GIMPLE_OMP_SINGLE. - * gimplify.c (gimplify_omp_workshare): Remove fixme. Enable code. - * gimple.c (gss_for_code): Add case for GIMPLE_OMP_{RETURN, - SECTIONS_SWITCH}. - (gimple_regimplify_operands): Do not regimplify GIMPLE_ASM - operands. Do not look inside empty operands. - * gimple.h (is_gimple_omp): Fix typo for GIMPLE_OMP_ATOMIC*. - * tree-cfg.c (make_edges): Rename OMP_SECTION to GIMPLE_OMP_SECTION. - -2008-05-14 Aldy Hernandez <aldyh@redhat.com> - - * omp-low.c (optimize_omp_library_calls): Make sure statement is - a GIMPLE_CALL before we look inside of it. - * tree-cfg.c (move_stmt_op): Exit gracefully. - -2008-05-13 Aldy Hernandez <aldyh@redhat.com> - - * omp-low.c (scan_omp_op): Remove walk_subtrees. Call walk_tree. - (scan_omp_for): Scan OMP body. - (scan_omp_1_stmt): Set handled_ops_p. - (expand_omp_parallel): Parse ADDR_EXPR correctly. - (diagnose_sb_1): Rename walk_subtrees to handled_ops_p and set - appropriately. - (diagnose_sb_2): Same. - * gimple-pretty-print.c (dump_gimple_omp_for): Print braces around - OMP body. - * tree-inline.c (estimate_num_insns): GIMPLE_OMP_CONTINUE does not - have a body. - * tree-cfg.c (move_stmt_op): Parse move_stmt_d out of data correctly. - (move_stmt_r): Rename walk_subtrees to handled_ops_p and set - appropriately. - -2008-05-12 Diego Novillo <dnovillo@google.com> - - Merge with mainline @135126. - - * configure.ac (ACX_PKGVERSION): Update revision merge string. - * configure: Regenerate. - -2008-05-11 Doug Kwan <dougkwan@google.com> - - * gimplify.c (gimple_pop_condition): Clear - conditional_cleanups field after the associated gimple sequence has - been freed implicitly. - (gimplify_cleanup_point_expr): Clear conditional_cleanups field - of gimplfiy_ctxp after resetting the conditions field. - * gimple.h (gimple_call_return_type): Handle REFERENCE_TYPE like - POINTER_TYPE. - -2008-05-10 Kaz Kojima <kkojima@gcc.gnu.org> - - * config/sh/sh.c (sh_gimplify_va_arg_expr): Change pre_p and - post_p types to gimple_seq *. - -2008-05-09 Aldy Hernandez <aldyh@redhat.com> - - * omp-low.c (maybe_catch_exception): Return body when no exceptions. - (gate_lower_omp): Enable pass. - * gimple-low.c (lower_stmt): Add GIMPLE_OMP_ATOMIC_* cases. - -2008-05-08 Aldy Hernandez <aldyh@redhat.com> - - * omp-low.c (extract_omp_for_data): Update comment. - (get_ws_args_for): Same. - (lower_send_shared_vars): Same. - (expand_omp_parallel): Same. - (expand_omp_for_static_nochunk): Same. - (expand_omp_for_static_chunk): Same. - (expand_omp_sections): Same. - (expand_omp_atomic_fetch_op): Same. - (expand_omp_atomic_pipeline): Same. - (build_omp_regions_1): Same. - (lower_omp_for): Same. - (expand_omp_atomic_mutex): Change OMP_ATOMIC_STORE to - GIMPLE_OMP_ATOMIC_STORE. - * gimple-pretty-print.c (dump_gimple_omp_parallel): Print child fn - and data_arg. - * tree-cfg.c (make_edges): Enable commented out code and convert - to tuples. - (replace_by_duplicate_decl): Same. - (replace_ssa_name): Same. - (move_stmt_r): Same. - (move_stmt_op): New. - (mark_virtual_ops_in_bb): Enable and convert to tuples. - (makr_virtual_ops_in_region): Same. - (move_block_to_fn): Convert to tuples. - (find_outermost_region_in_block): Enable and convert to tuples. - (move_sese_region_to_fn): Same. - -2008-05-05 Aldy Hernandez <aldyh@redhat.com> - - * omp-low.c (expand_omp_parallel): Remove fixmes. - (expand_omp_for_static_chunk): Enable and tuplify code. - (expand_omp_sections): Remove fixmes. Tuplify. - (lower_omp_sections): Same. - (diagnose_sb_0): Remove fixme. - * tree-ssa.c (redirect_edge_var_map_dup): Fix typo in comment. - * gimple.c (gimple_size): Add case for GIMPLE_OMP_SECTIONS_SWITCH. - (gimple_build_omp_sections): New. - * gimple.h (gimple_build_omp_sections_switch): New prototype. - -2008-05-03 Aldy Hernandez <aldyh@redhat.com> - - * omp-low.c (diagnose_sb_0): Tuplify and enable. - (diagnose_sb_1): Same. - (diagnose_sb_2): Same. - (diagnose_omp_structured_block_errors): Tuplify. - * gimple-dummy.c (DUMMY_FN): Remove - diagnose_omp_structured_block_errors. - * c-decl.c (c_gimple_diagnostics_recursively): Remove fixme - and enable call to diagnose_omp_structured_block_errors. - * Makefile.in (GTFILES): Add omp-low.c again. - -2008-05-02 Rafael EspÃndola <espindola@google.com> - - * tree-gimple.c (is_gimple_condexpr): Do not allow - trapping comparisons. - * tree-eh.c (tree_could_trap_p): Fix handling of floating - point comparisons. - -2008-05-02 Doug Kwan <dougkwan@google.com> - - * value-prof.c (gimple_divmod_fixed_value): Remove formal parameters - OPERATION, OP1 and OP2 and derive their values from parameter STMT - instead. Update prototype and caller. - (gimple_mod_pow2): Remove formal parameters OPERATION, OP1 and OP2 - and derive their values from parameter STMT instead. Update prototype - and caller. - (gimple_mod_pow2_value_transform): Remove temporares OP, OP1 and OP2. - Use a new tempory LHS_TYPE to store assignment LHS type. - (gimple_mode_subtract): Remove formal parameters OPERATION, OP1 and OP2 - and derive their values from parameter STMT instead. Update prototype - and caller. Fix a bug in a call to gimple_build_assign_with_ops. - (gimple_mod_subtract_transform): Remove temporares OP, OP1 and OP2. - Use a new tempory LHS_TYPE to store assignment LHS type. - (gimple_ic, gimple_indirect_call_to_profile): Fix bug in tree-code - tests. - * tree-profile.c (File): Re-enable all previously disabled code. - (tree_gen_edge_profiler): Tuplify. - (prepare_instrumented_value): Ditto. - (tree_gen_interval_profiler): Ditto. - (tree_gen_pow2_profiler): Ditto. - (tree_gen_one_value_profiler): Ditto. - (tree_gen_ic_profiler): Ditto. - (tree_gen_ic_func_profiler): Ditto. - (tree_gen_const_delta_profiler): Re-format formal parameters for - proper alignement. - (tree_gen_average_profiler): Tuplify. - (tree_gen_ior_profiler): Ditto. - (do_tree_profiling): Re-enable previously disabled code. Remove - FIXME. - (tree_profiling): Ditto. - * gimple.c (gimple_set_bb): Remove assertion. - * tree-cfg.c (change_bb_for_stmt): Remove. Redirect callers to - gimple_set_bb. - (gimple_merge_blocks): Call gimple_set_bb instead of - change_bb_for_stmt. - (gimple_split_block): Ditto. - (verify_stmts): Add code to check that label_to_block_map and labels - are consistent. - -2008-04-22 Rafael EspÃndola <espindola@google.com> - - Merge with mainline @134843. - - * configure.ac (ACX_PKGVERSION): Update revision merge string. - * configure: Regenerate. - -2008-05-01 Diego Novillo <dnovillo@google.com> - - http://gcc.gnu.org/ml/gcc-patches/2008-05/msg00053.html - - * tree-vrp.c (vrp_visit_phi_node): Cast variable I to int - for printing. - * cgraph.c (cgraph_release_function_body): Only call - gimple_set_body if NODE->DECL has a struct function. - * tree.c (make_node_stat): Do not call gimple_set_body. - * cp/Make-lang.in (cp/semantics.o): Add dependency on - $(GIMPLE_H). - * cp/semantics.c: Include gimple.h - (expand_or_defer_fn): Assert that FN has a gimple body. - * function.h (struct function): Add field GIMPLE_BODY. - * gimple.c (gimple_bodies_vec): Remove. - (gimple_bodies_map): Remove. - (gimple_set_body): Re-write to use GIMPLE_BODY in FN's - function object. - (gimple_body): Likewise. - -2008-05-01 Oleg Ryjkov <olegr@google.com> - - http://gcc.gnu.org/ml/gcc-patches/2008-05/msg00053.html - - * tree-eh.c (record_in_goto_queue, record_in_goto_queue_label): - New functions. - (maybe_record_in_goto_queue): Refactored and added support for - recording labels embedded in GIMPLE_CONDs. - (lower_catch, lower_cleanup): Fix 3 typos that were introduced - during the conversion to tuples. - (lower_eh_constructs_2): Call maybe_record_in_goto_queue for - GIMPLE_CONDs. - -2008-05-01 Rafael EspÃndola <espindola@google.com> - - * gimple-pretty-print.c (dump_gimple_try): Print like trunk does. - (dump_gimple_catch): Print like trunk does. - -2008-05-01 Rafael EspÃndola <espindola@google.com> - - * passes.c (gimple_verify_flow_info): Enable remaining - pass_rename_ssa_copies passes. - -2008-05-01 Rafael EspÃndola <espindola@google.com> - - * tree-cfg.c (gimple_verify_flow_info): Handle switches with only the - default label. - -2008-04-30 Doug Kwan <dougkwan@google.com> - - * cfgexpand.c (gimple_to_tree): Change code to annotate EH region - numbers only if numbers are greater than zero. Also propagate EH - region number to CALL_EXPRs nested in assignments. - -2008-04-29 Doug Kwan <dougkwan@google.com> - - * tree-eh.c (lower_try_finally_dup_block): Call - copy_gimple_seq_and_replace_locals instead of gimple_seq_copy. - (optimize_double_finally): Add a note about replacing unsave_expr_now - with copy_gimple_seq_and_replace_locals. - * tree-inline.c (mark_local_labels_stmt, replace_locals_op, - replace_locals_stmt, copy_gimple_seq_and_replace_locals): New. - * tree-inline.h (copy_gimple_seq_and_replace_locals): New prototype. - -2008-04-29 Rafael EspÃndola <espindola@google.com> - - * gimple-pretty-print.c (dump_gimple_return): Add missing space. - * tree-ssa-threadedge.c (simplify_control_stmt_condition): Fix type - of variable. - -2008-04-29 Rafael EspÃndola <espindola@google.com> - - * gimple-pretty-print.c (pp_cfg_jump): add missing ";". - -2008-04-29 Rafael EspÃndola <espindola@google.com> - - * gimple-pretty-print.c (dump_gimple_assign): print ";" at the end. - (dump_gimple_return):print ";" at the end. - (dump_gimple_call): print ";" at the end. - (dump_gimple_cond): use op_symbol_code instead of tree_code_name. - (pp_cfg_jump): print ";" at the end. - -2008-04-29 Rafael EspÃndola <espindola@google.com> - - * ipa-cp.c (ipcp_driver): Disable. - * matrix-reorg.c (matrix_reorg): Comment body. - (gate_matrix_reorg): Disable. - * passes.c (init_optimization_passes): Enable first pass_merge_phi, - pass_ipa_cp and pass_ipa_matrix_reorg. - -2008-04-29 Doug Kwan <dougkwan@google.com> - - * tree-eh.c (lower_catch): Fix bug of accessing sub-statements - using gimple_catch_handler. Fix bug of mixing up GIMPLE_GOTO and - GIMPLE_LABEL in statement building. - (lower_cleanup): Fix bug of mixing up gimple_try_clean and - gimple_try_eval. - (lower_cleanup): Use gimple codes instead of tree codes in switch - statement. - (tree-cfg.c): Add code to generate EH edges of GIMPLE_ASSIGN. - -2008-04-28 Diego Novillo <dnovillo@google.com> - - http://gcc.gnu.org/ml/gcc-patches/2008-04/msg02051.html - - * tree-ssa-phiprop.c (phiprop_insert_phi): Remove - OLD_ARG_CODE. Use TREE_CODE (ARG) instead. - Assert that NEW_VAR is a GIMPLE register. - (propagate_with_phi): Fix test of is_gimple_reg_type for - ARG. - Do not set subcode of USE_STMT to NOP_EXPR. - -2008-04-28 Doug Kwan <dougkwan@google.com> - - * tree-inline.c (remap_gimple_op_r): Remove code to handle RESX_EXPR - region number remapping. - (remap_gimple_stmt): Add code to handle GIMPLE_RESX region number - remapping. - -2008-04-28 Rafael EspÃndola <espindola@google.com> - - * cfgexpand.c (gimple_to_tree): Add support for switch stmts without - a default label. - * fold-const.c (tree_call_nonnegative_warnv_p): Remove the code - argument. - (tree_invalid_nonnegative_warnv_p): Update call to - tree_call_nonnegative_warnv_p. - * gimple.h (gimple_location_ptr): New. - * tree-flow.h (simplify_stmt_using_ranges): Change signature. - * tree-ssa-propagate.c (substitute_and_fold): Call - simplify_stmt_using_ranges. - * tree-vrp.c (struct assert_locus_d): Tuplify. - (switch_update): Tuplify. - (stmt_overflow_infinity): New. - (gimple_assign_nonnegative_warnv_p): New. - (gimple_call_nonnegative_warnv_p): New. - (gimple_stmt_nonnegative_warnv_p): New. - (gimple_assign_nonzero_warnv_p): New. - (gimple_stmt_nonzero_warnv_p): New. - (vrp_stmt_computes_nonzero): Tuplify. - (extract_range_basic): Tuplify. - (extract_range_from_expr): Tuplify. Rename to - extract_range_from_assignment. - (adjust_range_with_scev): Tuplify. - (vrp_var_may_overflow): Tuplify. - (build_assert_expr_for): Tuplify. - (fp_predicate): Tuplify. - (infer_value_range): Tuplify. - (dump_asserts_for): Tuplify. - (register_new_assert_for): Tuplify. - (register_edge_assert_for_2): Tuplify. - (register_edge_assert_for_1): Tuplify. - (register_edge_assert_for): Tuplify. - (find_conditional_asserts): Tuplify. - (find_switch_asserts): Tuplify. - (find_assert_locations): Tuplify. - (process_assert_insertions_for): Tuplify. - (process_assert_insertions): Tuplify. - (check_array_ref): Tuplify. - (search_for_addr_array): Tuplify. - (check_array_bounds): Tuplify. - (check_all_array_refs): Tuplify. - (remove_range_assertions): Tuplify. - (stmt_interesting_for_vrp): Tuplify. - (vrp_initialize): Tuplify. - (vrp_visit_assignment): Tuplify. Rename to vrp_visit_assignment_or_call. - (vrp_visit_cond_stmt): Tuplify. - (find_case_label_index): Tuplify. - (find_case_label_range): Tuplify. - (vrp_visit_switch_stmt): Tuplify. - (vrp_visit_stmt): Tuplify. - (vrp_visit_phi_node): Tuplify. - (simplify_div_or_mod_using_ranges): Tuplify. - (simplify_abs_using_ranges): Tuplify. - (simplify_cond_using_ranges): Tuplify. - (simplify_switch_using_ranges): Tuplify. - (simplify_stmt_using_ranges): Tuplify. - (simplify_stmt_for_jump_threading): Tuplify. - (identify_jump_threads): Tuplify. - (execute_vrp): Tuplify. - (gate_vrp): Enable. - * tree.h (tree_call_nonnegative_warnv_p): Remove the code argument. - -2008-04-28 Doug Kwan <dougkwan@google.com> - - * cp/cp-gimplify.c (finish_bc_block): Tuplify. - (build_bc_goto): Renamed to get_bc_label. Return a label - only. Uupdate callers. - (get_bc_label): New - (gimplify_cp_loop): Tuplify. Also check COND for error_mark_node - before gimplifying it. - (gimplify_for_stmt): Tuplify. - (gimplify_while_stmt): Tuplify. - (gimplify_for_stmt): Tuplify. - (gimplify_do_stmt): Tuplify. - (gimplify_switch_stmt): Tuplify. - (cp_gimplify_omp_switch_stmt): Add temporary code to pop block - label stack. - (cp_gimplify_expr): Pass pre_p to gimplify_while_stmt, - gimplify_do_stmt and gimplify_switch_stmt. Tuplify - gimplification of CONTINUE_STMT and BREAK_STMT. - -2008-04-26 Rafael EspÃndola <espindola@google.com> - - * gimple.c (gimple_build_assign_with_ops): Don't set SSA_NAME_DEF_STMT. - * gimple.h (gimple_assign_set_lhs): Set SSA_NAME_DEF_STMT. - (gimple_call_set_lhs): Set SSA_NAME_DEF_STMT. - * omp-low.c (expand_parallel_call): Don't set SSA_NAME_DEF_STMT if not - needed. - (expand_omp_for_generic): Same. - (expand_omp_for_static_nochunk): Same. - (expand_omp_for_static_chunk): Same. - (expand_omp_sections): Same. - (expand_omp_atomic_mutex): Same. - * predict.c (strip_builtin_expect): Same. - * tree-cfg.c (gimple_merge_blocks): Same. - * tree-inline.c (remap_ssa_name): Same. - (setup_one_parameter): Same. - * tree-predcom.c (replace_ref_with): Same. - (replace_ref_with): Same. - (initialize_root_vars_lm): Same. - (reassociate_to_the_same_stmt): Same. - * tree-scalar-evolution.c (scev_const_prop): Same. - * tree-ssa-loop-im.c (rewrite_reciprocal): Same. - * tree-ssa-loop-ivopts.c (rewrite_use_nonlinear_expr): Same. - * tree-ssa-loop-manip.c (create_iv): Same. - * tree-ssa-math-opts.c (execute_cse_sincos_1): Same. - * tree-ssa-phiopt.c (minmax_replacement): Same. - (abs_replacement): Same. - -2008-04-25 Diego Novillo <dnovillo@google.com> - - http://gcc.gnu.org/ml/gcc-patches/2008-04/msg01965.html - - * gimplify.c (annotate_all_with_location_after): New. - (gimplify_expr): Call it. - -2008-04-25 Diego Novillo <dnovillo@google.com> - - Merge with mainline @134692. - - * configure.ac (ACX_PKGVERSION): Update revision merge string. - * configure: Regenerate. - -2008-04-25 Doug Kwan <dougkwan@google.com> - - * tree-inline.c (expand_call_inline): Save old call statement - and use it to look up correct EH region. - -2008-04-24 Doug Kwan <dougkwan@google.com> - - * Makefile.in (STRICT_WARN): Remove -Wno-format and - -Wno-missing-format-attribute. - * gimplify.c (gimple_pop_condition): Remove redundant and incorrect - gimple_seq_free. - (gimplify_init_ctor_eval_range): Add a fall-through label for - GIMPLE_COND statement. - -2008-04-25 Rafael EspÃndola <espindola@google.com> - - * tree-ssa-dom.c (avail_expr_eq): Return false if the hashes don't - match. - -2008-04-24 Oleg Ryjkov <olegr@google.com> - - * gimplify.c (gimplify_expr): Fix the assertion that verifies validity - of parameters. - * tree-inline.c (estimate_num_insns): Handle - GIMPLE_CHANGE_DYNAMIC_TYPE. - * tree-cfg.c (verify_types_in_gimple_stmt): Likewise. - -2008-04-24 Rafael EspÃndola <espindola@google.com> - - * tree-ssa-dom.c (initialize_hash_element): Fix the type of the code - variable. - -2008-04-23 Rafael EspÃndola <espindola@google.com> - - * omp-low.c (gate_lower_omp): Return 0. - * passes.c (init_optimization_passes): Enable all passes whose - corresponding dump options are used in the testsuite. - * tree-loop-distribution.c (tree_loop_distribution): Comment body. - (gate_tree_loop_distribution): Return 0. - * tree-ssa-forwprop.c (tree_ssa_forward_propagate_single_use_vars): - Comment body. - (gate_forwprop): Return 0. - * tree-ssa-loop.c (gate_tree_ssa_loop_unswitch): Return 0. - (gate_tree_vectorize): Return 0. - (gate_tree_ssa_loop_ivcanon): Return 0. - (tree_ssa_empty_loop): Return 0. - (gate_tree_complete_unroll): Return 0. - * tree-ssa-pre.c (gate_fre): Return 0. - * tree-ssa-reassoc.c (execute_reassoc): Comment body. - (gate_tree_ssa_reassoc): Return 0. - * tree-stdarg.c (gate_optimize_stdarg): Return 0. - (execute_optimize_stdarg): Comment body. - * tree-vrp.c (execute_vrp): Comment body. - (gate_vrp): Return 0. - -2008-04-22 Aldy Hernandez <aldyh@redhat.com> - - * omp-low.c (lower_omp_parallel): Add new argument to - gimple_omp_parallel_set_combined_p. - (lower_omp_1): Remove debugging code. - * gimple.h (gimple_omp_parallel_combined_p): Add new argument. - -2008-04-22 Rafael EspÃndola <espindola@google.com> - - Merge with mainline @134552. - - * configure.ac (ACX_PKGVERSION): Update revision merge string. - * configure: Regenerate. - -2008-04-21 Doug Kwan <dougkwan@google.com> - - * tree-ssa-phiopt.c (FILE): Uncomment all previously disabled code. - (tree_ssa_phiopt): Remove FIXME and re-enable code. - (tree_ssa_cs_elim): Remove FIXME and re-enable code. - (tree_ssa_phiopt_worker): Tuplify. - (replace_phi_edge_with_variable): Tuplify. - (conditional_replacement): Tuplify and simplify optimization logic. - Construct a boolean tree and let fold and force_gimple_operand_gsi - do optimization and code genaration. - (value_replacement): Tuplify. - (minmax_replacement): Tuplify. - (abs_replacement): Tuplify. - (nt_init_block): Tuplify. - (cond_store_replacement): Tuplify. - * gimple.h (gimple_seq_singleton_p): Fix empty sequence bug. - * passes.c (init_optimization_passes): Re-enable pass_cselim - and pass_phiopt. - -2008-04-21 Diego Novillo <dnovillo@google.com> - - * tree.c (make_node_stat): Clear gimple_body() for newly - created FUNCTION_DECLs. - * tree-gimple.c (rhs_predicate_for): Move to gimplify.c. - * tree-gimple.h (rhs_predicate_for): Remove declaration. - * gimple-pretty-print.c (dump_gimple_assign): Add support - for showing volatile operands. - (dump_gimple_call): Likewise. - Add support for showing __builtin_va_arg_pack, static - chains, return slot optimized and tail calls. - (dump_gimple_phi): Remove code to print memory symbols. - * gimplify.c (is_gimple_formal_tmp_or_call_rhs): New. - (is_gimple_mem_or_call_rhs): New. - (rhs_predicate_for): Call them. - (internal_get_tmp_var): Use is_gimple_formal_tmp_or_call_rhs as - the gimplification predicate. - Use the last statement in *PRE_P to get the temporary to - be updated when in SSA form. - (gimplify_bind_expr): Clear out *EXPR_P before returning. - (gimplify_call_expr): Do not build a GIMPLE_CALL if - WANT_VALUE is true. - Call gimple_build_call_from_tree if WANT_VALUE is false. - Remove local variable ARGS. - (gimplify_modify_expr): If after gimplification *FROM_P - is a CALL_EXPR, create a GIMPLE_CALL instead of a - GIMPLE_ASSIGN. - Document why the gimplification of the RHS should accept - CALL_EXPRs. - (gimplify_expr): Document where the generated statement - is stored. - Accept is_gimple_formal_tmp_or_call_rhs and - is_gimple_mem_or_call_rhs as gimplification predicates. - When gimplifying statements, clear out *EXPR_P before - returning. - When generating an rvalue, call is_gimple_formal_tmp_or_call_rhs - to test *EXPR_P. - * tree-dfa.c (mark_symbols_for_renaming): Remove - ATTRIBUTE_UNUSED. - * tree-flow.h (stmt_references_memory_p): Remove. - * gimple.c (gimple_build_call_from_tree): New. - * gimple.h (struct gimple_statement_with_memory_ops): Add - bitfield references_memory_p. - (gimple_build_call_from_tree): Declare. - (gimple_references_memory_p): Rename from - stmt_references_memory_p. Move here. Update all users. - (gimple_set_references_memory): New. - (gimple_assign_set_rhs1): When the assignment has more - than one operand on the RHS, assert that the operands are - gimple values. - (gimple_assign_set_rhs2): Assert that the operand is a - gimple value. - (gimple_call_set_return_slot_opt): Fix mask clearing. - (gimple_call_set_from_thunk): Likewise. - (gimple_call_set_va_arg_pack): Likewise. - * tree-cfg.c (dump_function_to_file): Do not indent when - doing a GIMPLE dump. - * tree-ssa-operands.c (add_virtual_operand): Call - gimple_set_references_memory. - (get_addr_dereference_operands): Likewise. - (get_tmr_operands): Likewise. - (maybe_add_call_clobbered_vops): Likewise. - (get_asm_expr_operands): Likewise. - (parse_ssa_operands): Likewise. - (build_ssa_operands): Likewise. - (stmt_references_memory_p): Remove. - -2008-04-21 Rafael EspÃndola <espindola@google.com> - - Cherry pick http://gcc.gnu.org/ml/gcc-patches/2008-04/msg01213.html - - * params.def (PARAM_MAX_FIELDS_FOR_FIELD_SENSITIVE): Set default - to zero, thus disable creation of SFTs. - * gcc.dg/tree-ssa/salias-1.c: Remove. - * gcc.dg/tree-ssa/pr26421.c: Adjust pattern. - * gcc.dg/tree-ssa/alias-15.c: Likewise. - * gcc.dg/tree-ssa/ssa-lim-3.c: Run at -O2. - -2008-04-20 Zdenek Dvorak <ook@ucw.cz> - - * passes.c (init_optimization_passes): Enable pass_dce_loop. - -2008-04-20 Zdenek Dvorak <ook@ucw.cz> - - * tree-data-ref.c (split_constant_offset_1): Use POINTER_PLUS_EXPR - for pointer addition. - (split_constant_offset): Set VAR to EXP before conversions are - stripped, when no offset is removed. Handle chrec_dont_know. - * tree-predcom.c: Tuplified. - * passes.c (init_optimization_passes): Enable pass_predcom. - -2008-04-18 Aldy Hernandez <aldyh@redhat.com> - - * omp-low.c (lower_rec_input_clauses): Remove fixme and - ATTRIBUTE_UNUSED. - (lower_lastprivate_clauses): Same. - (lower_reduction_clauses): Same. - (lower_copyprivate_clauses): Same. - (lower_send_clauses): Same. - (lower_send_shared_vars): Same. - (maybe_catch_exception): Convert to tuples. - (lower_omp_sections): Same. - (lower_omp_single_simple): Same. - (lower_omp_single_copy): Same. - (lower_omp_single): Same. - (lower_omp_master): Same. - (lower_omp_ordered): Same. - (lower_omp_critical): Same. - (lower_omp_for_lastprivate): Same. - (lower_omp_for): Same. - (check_combined_parallel): Same. - (lower_omp_parallel): Same. - (lower_omp_1): Same. - (execute_lower_omp): Enable. - * gimple-dummy.c: Remove dummy functions for lower_omp_*. - * gimple-low.c (lower_omp_directive): Convert to tuples. - (lower_stmt): Remove fixme. - * gimple.h (gimple_seq_alloc_with_stmt): New. - (gimple_omp_section_set_last): New. - (gimple_omp_parallel_set_combined_p): New. - (gimple_bind_add_stmt): New. - (gimple_bind_add_seq): New. - * tree-cfg.c (verify_node_sharing): Fix typo in comment. - -2008-04-17 Oleg Ryjkov <olegr@google.com> - - * Reverting forwprop patch. - - 2008-04-16 Oleg Ryjkov <olegr@google.com> - - * tree-ssa-forwprop.c (get_prop_dest_stmtm get_prop_source_stmt, - can_propagate_from, remove_prop_source_from_use, - tidy_after_forward_propagate_addr, - forward_propagate_addr_into_variable_array_index, - forward_propagate_addr_expr_1, forward_propagate_addr_expr, - forward_propagate_comparison, simplify_not_neg_expr, - simplify_switch_expr, - tree_ssa_forward_propagate_single_use_variables): Tuplified. - (forward_propagate_into_cond): Tuplified and moved some functionality - into forward_propagate_into_cond_gimple. - (rhs_to_tree, forward_propagate_into_cond_gimple): New functions. - * passes.c (init_optimization_passes): Enabled pass_forwprop. - * tree-cfg.c (find_taken_edge_cond_expr): Fixed comment. - -2008-04-16 Oleg Ryjkov <olegr@google.com> - - * tree-ssa-forwprop.c (get_prop_dest_stmtm get_prop_source_stmt, - can_propagate_from, remove_prop_source_from_use, - tidy_after_forward_propagate_addr, - forward_propagate_addr_into_variable_array_index, - forward_propagate_addr_expr_1, forward_propagate_addr_expr, - forward_propagate_comparison, simplify_not_neg_expr, - simplify_switch_expr, - tree_ssa_forward_propagate_single_use_variables): Tuplified. - (forward_propagate_into_cond): Tuplified and moved some functionality - into forward_propagate_into_cond_gimple. - (rhs_to_tree, forward_propagate_into_cond_gimple): New functions. - * passes.c (init_optimization_passes): Enabled pass_forwprop. - * tree-cfg.c (find_taken_edge_cond_expr): Fixed comment. - -2008-04-16 Doug Kwan <dougkwan@google.com> - - * Makefile.in (STRICT_WARN): Disable -Wmissing-format-attribute - and -Wformat temporarily for bootstrapping. - * lambda-code.c (invariant_in_loop_and_outer_loops): Comment out - to avoid defined-and-not-used warning. - * tree-cfg.c (gather_blocks_in_sese_region): Comment out to avoid - defined-and-not-used warning. - -2008-04-16 Doug Kwan <dougkwan@google.com> - - * Makefile.in (GTFILES): Add back ipa-reference.h and ipa-reference.c. - * gimple-dummy.c (memory_identifier_string): Remove. - * ipa-cp.c (constant_val_insert): Tuplify. - * ipa-prop.c (File): Uncomment all previously disabled code. - (ipa_method_modify_stmt): Tuplify. - (ipa_method_compute_modify): Tuplify. - (ipa_callsite_tree): Renamed to ipa_callsite_stmt. Update callers. - (ipa_callsite_stmt): New. - (ipa_callsite_compute_count): Tuplify. - (ipa_callsite_compute_param): Tuplify. - * ipa-reference.c (File): Uncomment all previously disabled code. - (get_asm_stmt_operands): Tuplify. - (check_call): Tuplify. Also add code to handle assignment of - returned value. - (scan_for_static_refs): Remove. Tuplify body and split into two - new functions scan_stmt_for_static_refs and scan_op_for_static_refs. - Update callers. - (scan_stmt_for_static_refs): New. Split from scan_for_static_refs. - (scan_op_for_static_refs): New. Split from scan_for_static_refs. - (analyze_variable): Update walk_tree call. - (analyze_function): Tuplify. - * passes.c (init_optimization_passes): Re-enable pass_ipa_reference. - * tree-flow.h (struct function_ann_d): Uncomment field - ipa_reference_vars_info. - -2008-04-15 Doug Kwan <dougkwan@google.com> - - * tree-eh.c (operation_could_trap_p): Fix filtering logic. - -2008-04-15 Bill Maddox <maddox@google.com> - - * tree-ssa-dom.c: (degenerate_phi_result, remove_stmt_or_phi, - get_rhs_or_phi_arg, get_lhs_or_phi_result, propagate_rhs_into_lhs, - eliminate_const_or_copy, eliminate_degenerate_phis_1, - eliminate_degenerate_phis): Convert to tuples. - * passes.c (init_optimization_passes): Enable pass_phi_only_cprop. - -2008-04-15 Oleg Ryjkov <olegr@google.com> - - * tree-ssa-dom.c (record_const_or_copy): Moving a variable declaration to - the top of a block. - -2008-04-15 Doug Kwan <dougkwan@google.com> - - * tree-ssa-sink.c (File): Uncomment all previously disabled code. - (find_bb_for_arg): Tuplify. - (all_immediate_uses_sample_place): Tuplify. - (nearest_common_dominator_of_uses): Tuplify. - (statement_sink_location): Tuplify. Remove parameter tobb and update - caller. - (sink_code_in_bb): Tuplify. - * passes.c (init_optimization_passes): Re-enable pass_sink_code. - -2008-04-14 Bill Maddox <maddox@google.com> - - * tree-ssa-threadupdate.c (remove_ctrl_stmt_and_useless_edge, - create_edge_and_update_destination_phis, redirection_block_p): - Convert to tuples. - * tree.c (iterative_hash_exprs_commutative): New function. - * tree.h (iterative_hash_exprs_commutative): Declare. - * tree-ssa_dom.c (enum expr_kind, struct hashable_expr, - struct cond_equivalence): New types. - (struct edge_info): Use struct cond_equivalence. - (avail_exprs_stack): Stack of expr_hash_elt*, not expressions. - (stmts_to_rescan): Use type gimple for statements. - (struct expr_hash_elt): Represent statement RHS with hashable_expr, - not a tree. Add unique stamp to each entry for efficient and reliable - element removal. - (struct eq_expr_value): Delete unused type. - (initialize_hash_element): Convert to tuples. Now applies - only to statements. - (initialize_expr_from_cond, initialize_hash_element_from_expr): - New functions. Replace former functionality of initialize_hash_element - for conditions presented as trees. - (hashable_expr_equal_p, iterative_hash_hashable_expr): New functions. - (print_expr_hash_elt): New function. - (free_expr_hash_elt): New function. - (tree_ssa_dominator_optimize): Convert to tuples - (canonicalize_comparison): Convert to tuples. - (remove_local_expressions_from_table): Use new avail_exprs_stack - representation. Add optional extra diagnostic details. - (simplify_stmt_for_jump_threading, dom_thread_across_edge, - dom_opt_finalize_block): Convert to tuples. - (record_cond, build_and_record_new_cond): Convert to tuples. - Use new hashable_expr type. Extra diagnostic details. - (record_const_or_copy_1): Extra diagnostic details. - (record_const_or_copy): Add assertion. - (simple_iv_increment_p, cprop_into_successor_phis, record_edge_info): - Convert to tuples. - (eliminate_redundant_computations): Convert to tuples. - Additional diagnostic details. - (gimple_assign_unary_useless_conversion_p): New function. - (record_equivalences_from_statement): Convert to tuples. - Additional diagnostic details. - (cprop_operand, cprop_into_stmt): Convert to tuples. - (optimize_stmt): Convert to tuples. - (lookup_avail_expr): Use hashable_expr. Additional diagnostic details. - (avail_expr_hash, avail_expr_eq): Use hashable_expr. - * tree-ssa-copy.c (may_propagate_copy_into_stmt, - propagate_tree_value_into_stmt): New functions. - * tree-flow.h: (may_propagate_copy_into_stmt, - propagate_tree_value_into_stmt): Declare. - (thread_across_edge): Change declaration of callback to accept a - gimple statement. - * gimple.c (gimple_call_flags): Declare argument as a constant. - (gimple_has_side_effects): Declare argument as a constant. - Examine function arguments for side-effects. - (gimple_rhs_has_side_effects): New function. - * gimple.h (gimple_call_flags): Declare argument as a constant. - (gimple_has_side_effects): Declare argument as a constant. - (gimple_rhs_has_side_effects): Declare new function. - (is_gimple_assign): New inline function. - (gimple_switch_index_ptr): New function. - * passes.c (init_optimization_passes): Enable pass_dominator. - * tree-ssa_threadedge.c (potentially_threadable_block, - lhs_of_dominating_assert, record_temporary_equivalences_from_phis): - Convert to tuples. - (fold_assignment_stmt): New function. - (record_temporary_equivalences_from_stmts_at_dest, - simplify_control_stmt_condition, thread_across_edge): Convert to tuples. - -2008-04-14 Doug Kwan <dougkwan@google.com> - - * c-typeck.c (convert_for_assignment): Call c_common_unsigned_type - -2008-04-14 Doug Kwan <dougkwan@google.com> - - * gimple-iterator.c (gsi_move_to_bb_end): Use gsi_last_bb - instead of calling both gsi_last and bb_seq. - * passes.c (init_optimization_passes): Re-eanble second tail-recursion - pass. - -2008-04-14 Doug Kwan <dougkwan@google.com> - - * tree-nrv.c (dest_safe_for_nrv_p): Uncomment. - (execute_return_slot_opt): Tuplify. - * passes.c (init_optimization_passes): Re-enable pass_return_slot. - -2008-04-14 Aldy Hernandez <aldyh@redhat.com> - - * tree-cfg.c (gimple_can_merge_blocks_p): Fix typo. - * omp-low.c (maybe_lookup_ctx): Uncomment and set ATTRIBUTE_UNUSED. - (lower_lastprivate_clauses): Same. - (lower_reduction_clauses): Same. - (lower_send_clauses): Same. - (expand_omp_for_generic): Uncomment and convert for tuples. - (expand_omp_for): Remove fixme. - (expand_omp_sections): Same. - (lower_omp_parallel): Partially convert for tuples. - (lower_omp_regimplify_p): Rename from lower_omp_2. - (lower_omp_1): Convert for tuples. - (lower_omp): Same. - (gimple-dummy.c): Add lower_omp_parallel, lower_omp_for, - lower_omp_sections, lower_omp_single, lower_omp_master, - lower_omp_ordered, lower_omp_critical. - -2008-04-13 Diego Novillo <dnovillo@google.com> - - * tree-cfg.c (need_fake_edge_p): Initialize CALL_FLAGS. - -2008-04-12 Rafael EspÃndola <espindola@google.com> - - Merge with mainline @134237. - - * configure.ac (ACX_PKGVERSION): Update revision merge string. - * configure: Regenerate. - -2008-04-13 Rafael EspÃndola <espindola@google.com> - - * config/extensions.m4: Add. Was missing from previous merge. - -2008-04-12 Rafael EspÃndola <espindola@google.com> - - Merge with mainline @133860. - - * configure.ac (ACX_PKGVERSION): Update revision merge string. - * configure: Regenerate. - -2008-04-11 Oleg Ryjkov <olegr@google.com> - - * tree-sra.c (scalarize_use): Moving a variable declaration to - the top of a block. - -2008-04-11 Oleg Ryjkov <olegr@google.com> - - * tree-sra.c (insert_edge_copies_seq): Removed unused variable. - -2008-04-11 Oleg Ryjkov <olegr@google.com> - - * tree-sra.c (sra_build_assignment): Tuplified. - (mark_all_v_defs): Removed. - (mark_all_v_defs_seq, mark_all_v_defs_stmt): New functions. - (sra_walk_expr): Tuplified. - (sra_walk_tree_list): Removed. - (sra_walk_call_expr, sra_walk_gimple_asm, - sra_walk_gimple_modifY_stmt, ): Tuplified and renamed. - (sra_walk_gimple_call, sra_walk_gimple_asm, - sra_walk_gimple_assign): New names for tuplified functions. - (sra_walk_function, find_candidates_for_sra, scan_use, scan_copy, - scan_ldst, instantiate_element, decide_instantiations, - mark_all_v_defs_1, sra_build_assignment, sra_build_bf_assignment, - sra_build_elt_assignment, generate_copy_inout, - generate_element_copy, generate_element_zero, - generate_one_element_init, generate_element_init_1): Tuplified. - (insert_edge_copies): Removed. - (insert_edge_copies_seq): New function. - (sra_insert_before, sra_insert_after, sra_replace, - sra_explode_bitfield_assignment, sra_sync_for_bitfield_assignment, - scalarize_use, scalarize_copy, scalarize_init, mark_no_trap, - scalarize_ldst, scalarize_parms, scalarize_function): Tuplified. - (tree_sra, tree_sra_early): Enabled - (sra_init_cache): Removed extra space. - * tree-flow.h (insert_edge_copies_seq): New declaration. - * gimple.h (gimple_asm_input_op_ptr, gimple_asm_output_op_ptr, - gimple_return_retval_ptr): New functions. - * passes.c (init_optimization_passes): Enabled pass_sra, - pass_early_sra. - -2008-04-11 Doug Kwan <dougkwan@google.com> - - * ipa-pure-const.c (get_asm_expr_operands): Tuplify. - (get_asm_expr_operands): Tuplify. - (check_call): Tuplify. Add code to handle return value assignment. - (scan_function): Remove. Original code is tuplified and split into - two new functions scan_function_op and scan_function_stmt. - (scan_function_op): New function. - (scan_function_stmt): New function. - (analyze_function): Tuplify and re-enable previously disabled code. - * passes.c (init_optimization_passes): Re-enable pass_ipa_pure_const. - -2008-04-11 Oleg Ryjkov <olegr@google.com> - - * builtins.c (fold_call_stmt): Return the proper value. - * tree-ssa-ccp.c (maybe_fold_stmt_addition): Modify arguments to - allow this function to be called on a GIMPLE_ASSIGN. - (fold_stmt_r): Update the call to maybe_fold_stmt_addition. - (fold_gimple_assign): Manually call maybe_fold_stmt_addition to - fold a POINTER_PLUS_EXPR. - -2008-04-11 Doug Kwan <dougkwan@google.com> - - * tree-ssa-phiprop.c (File): Uncomment all previously disabled code. - (struct phiprop_d): Change type of vop_stmt to gimple. - (phivn_valid_p): Tuplify. - (phiprop_insert_phi): Tuplify. - (propagate_with_phi): Tuplify. - (tree_ssa_phiprop_1): Tuplify. - (tree_ssa_phiprop): Tuplify. - * passes.c (init_optimization_passes): Re-enable pass_phiprop. - -2008-04-11 Rafael EspÃndola <espindola@google.com> - - * tree-ssa-math-opts.c (execute_cse_sincos_1): fix warning. - -2008-04-10 Diego Novillo <dnovillo@google.com> - - http://gcc.gnu.org/ml/gcc-patches/2008-04/msg00913.html - - * ipa-inline.c (cgraph_clone_inlined_nodes): Change uses - of DECL_SAVED_TREE with gimple_body. - (cgraph_decide_inlining_incrementally): Likewise. - * gimple-iterator.c (gsi_insert_seq_before_without_update): - Do nothing if SEQ is NULL. - (gsi_insert_seq_after_without_update): Likewise. - * tree-ssa-live.c (mark_all_vars_used_1): Do not handle - EXPR trees. - (remove_unused_locals): Mark the gimple_block of every - statement as used. - * tree-inline.c (remap_gimple_stmt): Forward declare. - (remap_decls): Tidy comments. - (remap_gimple_seq): New. - (copy_gimple_bind): New. - (remap_gimple_stmt): Call it. - Handle High GIMPLE statements. - (copy_bb): Regimplify operands on COPY_GSI instead of - GSI. - (copy_cfg_body): Tidy. - (copy_generic_body): Remove unused function. - (clone_body): Tuplify. - * c-common.c (c_warn_unused_result): Remove assertion for - FUNCTION_TYPE. - * gimple.c (gimple_seq_copy): Rename from - gimple_seq_deep_copy. Update all users. - (walk_gimple_stmt): Assert that STMT has no substatements - in the default case. - (gimple_copy_1): Merge into gimple_copy. - (gimple_copy): Always do deep copying. - Handle statements with substatements. - (gimple_shallow_copy): Remove unused function. - (gimple_deep_copy): Remove. Update all users. - * gimple.h: Tidy comments and structure fields - everywhere. - (gimple_has_substatements): New. - (walk_stmt_fn): Change last argument to struct walk_stmt_info *. - Update all users. - -2008-04-10 Oleg Ryjkov <olegr@google.com> - - * tree.h (struct tree_base): Added a new flag default_def_flag. - (SSA_NAME_IS_DEFAULT_DEF): Changed to use the new flag. - -2008-04-08 Doug Kwan <dougkwan@google.com> - - * gimplify.c (gimple_push_cleanup): Initialize cleanup_stmts to NULL. - -2008-04-08 Doug Kwan <dougkwan@google.com> - - * tree-tailcall.c (struct tailcall): Remove call_block and replace - call_bsi by call_gsi. - (independent_of_stmt_p): Change type of parameter 'at' to GIMPLE and - change all tree using code to GIMPLE using equivalent. - Remove parameter block_stmt_iterator type parameter bsi with - gimple_stmt_iterator type parameter gsi. Replace uses of bsi with - that of gsi in function body as appropriate. - (process_assignment): Remove parameter 'ass' and change type of - parameter 'stmt' to GIMPLE. Change all tree using code to GIMPLE - using equivalent. - (propagate_through_phis, eliminate_tail_call, optimize_tail_call): - Change all tree using code to GIMPLE using equivalent. - (find_tail_calls): Change all tree using code to GIMPLE using - equivalent. Remove code that handles GIMPLE_MODIFY_STMT containing - a CALL_EXPR. - (add_successor_phi_arg, adjust_return_value_with_ops, - update_accumulator_with_ops, adjust_accumulator_values, - create_tailcall_accumulator): New functions from refactoring of - duplicated logic. - (adjust_accumulator_values, adjust_return_value): Refactor. - (tree_optimize_tail_calls_1): Refactor and change all tree using code - to GIMPLE using equivalent. Remove code to reverse phi list. - * passes.c (init_optimization_passes): Re-enable pass_tail_recursion - and pass_tail_calls. - -2008-04-04 Doug Kwan <dougkwan@google.com> - - * tree-ssa-math-opts.c (struct occurrence): Change field type of - recip_def_stmt to gimple. - (is_division_by): Tuplify. - (insert_reciprocals): Tuplify. - (replace_reciprocals): Tuplify. - (execute_cse_reciprocals_1): Tuplify. - (execute_cse_reciprocals): Tuplify. - (maybe_record_sincos): Use vector of gimples instead of vector of - trees. - (execute_cse_sincos_1): Tuplify. When adjusting recorded old call - sites, generate new gimple assign statements and remove old gimple - call statements. - (execute_cse_sincos): Tuplify. - (execute_convert_to_rsqrt): Tuplify. - * passes.c (init_optimization_passes): Enable pass_cse_sincos, - pass_cse_reciprocals and pass_convert_to_rsqrt. - -2008-04-04 Aldy Hernandez <aldyh@redhat.com> - - * omp-low.c (gimple_build_cond_empty): New. - (expand_parallel_call): Convert COND_EXPR to GIMPLE_COND. - (expand_omp_for_generic): Same. - (expand_omp_for_static_nochunk): Same. - (expand_omp_for_static_chunk): Same. - (expand_omp_atomic_pipeline): Same. - -2008-04-04 Diego Novillo <dnovillo@google.com> - - http://gcc.gnu.org/ml/gcc-patches/2008-04/msg00413.html - - * tree-ssa-loop-im.c (movement_possibility): Return - MOVE_IMPOSSIBLE if that statement makes no assignment. - * tree-complex.c (get_component_ssa_name): Fix comment. - (set_component_ssa_name): Assert that COMP's definition - is LAST. - * cgraph.c (cgraph_update_edges_for_call_stmt): Tuplify. - (dump_cgraph_node): Likewise. - * tree.c (auto_var_in_fn_p): Fix comment. - * cgraphunit.c (verify_cgraph_node): Remove tuples hack - that avoided verifying nodes. - * gimple-pretty-print.c (dump_gimple_asm): Show the - volatile flag. - - * gimple-dummy.c (optimize_inline_calls): Remove. - (tree_function_versioning): Remove. - (tree_versionalbe_function_p): Remove. - * ipa-inline.c (cgraph_clone_inlined_bodies): Re-format. - (cgraph_decide_inlining): Re-format. - (cgraph_decide_inlining_incrementally): Re-format. - (pass_ipa_inline): Re-format. - * gimplify.c (gimplify_call_expr): Carry all the - CALL_EXPR flags to the newly created GIMPLE_CALL. - (gimplify_asm_expr): Carry ASM_VOLATILE_P and ASM_INPUT_P - over to the new GIMPLE_ASM. - * tree-dfa.c (find_new_referenced_vars): Change argument - to gimple. Update all callers. - * cfgexpand.c (set_expr_location_r): New private. - (gimple_to_tree): Call it. - Set ASM_VOLATILE_P and ASM_INPUT_P for ASM_EXPRs. - Carry flags from GIMPLE_CALL for CALL_EXPRs. - Set TREE_BLOCK on the newly created expression. - * tree-inline.c: Tuplify. - * tree-inline.h: Tuplify. - * tree-optimize.c (execute_fixup_cfg): Tuplify. - * gimple.c (gimple_build_call_vec): Change second - argument type to VEC(tree, heap). Update all callers. - (gimple_build_assign_with_ops): If the LHS is an - SSA_NAME, set SSA_NAME_DEF_STMT on it. - (walk_gimple_seq): Change return type to gimple. Update - all users. - If walk_gimple_stmt returned a value, store it in - WI->CALLBACK_RESULT. - (walk_gimple_op): Walk gimple_call_chain_ptr() and - gimple_call_fn_ptr() for GIMPLE_CALL. - (walk_gimple_stmt): Add new local HANDLED_OPS. - If callback_stmt() sets HANDLED_OPS, return its return - value. - If any call to walk_gimple_seq returns a non-NULL value, - return WI->CALLBACK_RESULT. - (gimple_copy_1): New function. - (gimple_deep_copy): Rename from gimple_copy. Update all - users. - Call gimple_copy_1. - (gimple_shallow_copy): New. - (gimple_regimplify_operands): New. - * gimple.h (GF_ASM_INPUT): Define. - (GF_ASM_VOLATILE): Define. - (GF_CALL_CANNOT_INLINE): Define. - (GF_CALL_FROM_THUNK): Define. - (GF_CALL_RETURN_SLOT_OPT): Define. - (GF_CALL_VA_ARG_PACK): Define. - (gimple_stmt_iterator): Move earlier in the file. - (gimple_omp_return_nowait_p): Fix return expression. - (gimple_omp_section_last_p): Likewise. - (gimple_omp_parallel_combined_p): Likewise. - (gimple_call_noreturn_p): Likewise. - (gimple_call_nothrow_p): Likewise. - (gimple_asm_volatile_p): Likewise. - (gimple_try_catch_is_cleanup): Likewise. - (gimple_assign_set_rhs1): assert that RHS is a gimple - operand. - (is_gimple_call): New. Change all users that tested - gimple_code() == GIMPLE_CALL. - (gimple_call_fn_ptr): New. - (gimple_call_chain_ptr): New. - (gimple_call_set_chain): Accept NULL values for CHAIN. - (gimple_call_set_tail): Add bool argument specifying the - value of the flag. Update all users. - (gimple_asm_set_volatile): Likewise. - (gimple_call_set_cannot_inline): Rename from - gimple_call_mark_uninlinable. Add bool argument - specifying the value of the flag. Update all users. - (gimple_call_set_return_slot_opt): New. - (gimple_call_return_slot_opt_p): New. - (gimple_call_set_from_thunk): New. - (gimple_call_from_thunk_p): New. - (gimple_call_va_arg_pack_p): New. - (gimple_call_copy_flags): New. - (gimple_asm_set_input): New. - (gimple_asm_input_p): New. - (gimple_asm_clear_volatile): Remove. - (walk_stmt_fn): Add second argument bool *. Update all - users. - (struct walk_stmt_info): Add new field callback_result. - * tree-cfg.c (gimple_split_block): Tuplify. - (gimple_block_ends_with_condjump_p): Tuplify. - (need_fake_edge_p): Tuplify. - (gimple_flow_call_edges_add): Tuplify. - (gimple_purge_dead_abnormal_call_edges): Tuplify. - (gimple_purge_dead_eh_edges): Remove ATTRIBUTE_UNUSED. - (gimple_cfg_hooks): Add gimple_block_ends_with_condjump_p - and gimple_flow_call_edges_add - * passes.c (init_optimization_passes): Enable - pass_cleanup_cfg, pass_inline_parameters, - pass_ipa_inline and pass_apply_inline. - (execute_todo): Re-enable check for TODO_update_ssa_any - if need_ssa_update_p() returns true. - * tree-ssa-operands.c (ssa_operands_active): Return false - if cfun is NULL. - - -2008-04-04 Rafael EspÃndola <espindola@google.com> - - Merge with mainline @133632. - - * configure.ac (ACX_PKGVERSION): Update revision merge string. - * configure: Regenerate. - -2008-04-04 Rafael EspÃndola <espindola@google.com> - - Merge with mainline @133631. - - * configure.ac (ACX_PKGVERSION): Update revision merge string. - * configure: Regenerate. - -2008-04-04 Rafael EspÃndola <espindola@google.com> - - Merge with mainline @133630. - - * configure.ac (ACX_PKGVERSION): Update revision merge string. - * configure: Regenerate. - -2008-04-03 Aldy Hernandez <aldyh@redhat.com> - - * omp-low.c (expand_omp_sections): Use - gimple_omp_sections_control. - (lower_omp_sections): Same. - * gimplify.c (gimplify_omp_workshare): Adjust OMP clauses before - creating gimple tuple. - Add gimple tuple to sequence. - Set OMP_SECTIONS_CONTROL in newly created tuple. - * gimple.h (gimple_statement_omp_sections): Add control. - (gimple_omp_sections_control): New. - (gimple_omp_sections_control_ptr): New. - (gimple_omp_sections_set_control): New. - -2008-04-03 Oleg Ryjkov <olegr@google.com> - - * tree-nested.c (convert_nl_goto_receiver): Changed to hadle gimple - statements instead of trees. - (lower_nested_functions): Pass convert_nl_goto_receiver as the first - parameter to walk_all_functions. - -2008-04-03 Rafael EspÃndola <espindola@google.com> - - Merge with mainline @133624. - - * configure.ac (ACX_PKGVERSION): Update revision merge string. - * configure: Regenerate. - -2008-04-03 Rafael EspÃndola <espindola@google.com> - - Merge with mainline @133612. - - * configure.ac (ACX_PKGVERSION): Update revision merge string. - * configure: Regenerate. - -2008-04-03 Aldy Hernandez <aldyh@redhat.com> - - * tree-pretty-print.c (dump_generic_node): Remove - OMP_{RETURN,CONTINUE} cases. - * tree.h (OMP_RETURN_NOWAIT): Remove. - * omp-low.c (dump_omp_region): Rename OMP_{CONTINUE,RETURN} to - GIMPLE_OMP_{CONTINUE,RETURN}. - (expand_omp_for_generic): Handle new arguments to - GIMPLE_OMP_CONTINUE. - (expand_omp_for_static_nochunk): Same. - (expand_omp_for_static_chunk): Same. - (expand_omp_sections): Same. - (expand_omp): Rename all OMP_* to GIMPLE_OMP_*. - (lower_omp_sections): Rename OMP_CONTINUE to GIMPLE_OMP_CONTINUE. - (lower_omp_for): Same. - * tree-gimple.c (is_gimple_stmt): Remove OMP_{RETURN,CONTINUE} - cases. - * gsstruct.def: Add GSS_OMP_CONTINUE. - * gimple-pretty-print.c (dump_gimple_omp_continue): New. - (dump_gimple_omp_return): New. - (dump_gimple_stmt): Add cases for GIMPLE_OMP_{CONTINUE,RETURN}. - * gimplify.c (gimplify_expr): Remove cases for - OMP_{CONTINUE,RETURN}. - * tree.def (DEFTREECODE): Remove OMP_{RETURN,CONTINUE}. - * tree-cfgcleanup.c (cleanup_omp_return): Rename - OMP_SECTIONS_SWITCH to GIMPLE_OMP_SECTIONS_SWITCH. - * gimple.c (gss_for_code): GIMPLE_OMP_RETURN returns GSS_BASE. - GIMPLE_OMP_CONTINUE return GSS_OMP_CONTINUE. - (gimple_size): Adjust size of GIMPLE_OMP_{RETURN,CONTINUE}. - (gimple_build_omp_continue): Change arguments. - (walk_gimple_op): Walk GIMPLE_OMP_CONTINUE operands. - (walk_gimple_stmt): Remove GIMPLE_OMP_CONTINUE case. - * gimple.h (struct gimple_statement_omp_continue): New. - (union gimple_statement_d): Add gimple_omp_continue. - (gimple_build_omp_continue): Change argument types in prototype. - (gimple_omp_return_set_nowait): Rename OMP_RETURN to - GIMPLE_OMP_RETURN. - (gimple_omp_continue_control_def): New. - (gimple_omp_continue_control_def_ptr): New. - (gimple_omp_continue_set_control_def): New. - (gimple_omp_continue_control_use): New. - (gimple_omp_continue_control_use_ptr): New. - (gimple_omp_continue_set_control_use): New. - * tree-cfg.c (make_edges): Rename OMP_ to GIMPLE_OMP_. - (gimple_redirect_edge_and_branch): Same. - * tree-ssa-operands.c (get_expr_operands): Remove OMP_CONTINUE - case. - -2008-04-02 Doug Kwan <dougkwan@google.com> - - * tree-complex.c (expand_complex_comparison): Set condition code - correctly for the NE_EXPR case. - * cfgexpand.c (gimple_to_tree): Generate assignment to return value - if necessary. - -2008-04-02 Rafael EspÃndola <espindola@google.com> - - Merge with mainline @133597. - - * configure.ac (ACX_PKGVERSION): Update revision merge string. - * configure: Regenerate. - -2008-04-02 Rafael EspÃndola <espindola@google.com> - - Merge with mainline @133527. - - * configure.ac (ACX_PKGVERSION): Update revision merge string. - * configure: Regenerate. - -2008-04-02 Rafael EspÃndola <espindola@google.com> - - Merge with mainline @133519. - - * configure.ac (ACX_PKGVERSION): Update revision merge string. - * configure: Regenerate. - -2008-04-02 Rafael EspÃndola <espindola@google.com> - - Merge with mainline @133453. - - * configure.ac (ACX_PKGVERSION): Update revision merge string. - * configure: Regenerate. - -2008-04-01 Doug Kwan <dougkwan@google.com> - Bill Maddox <maddox@google.com>. - - * value-prof.c (interesting_stringop_to_profile_p) Call - validate_gimple_arglist instead of validate_arglist. - * tree.h (validate_arglist): New declaration. - * builtins.c (expand_builtin_setjmp_receiver, expand_builtin_longjmp, - expand_builtin_nonlocal_goto, expand_builtin_nonlocal_goto, - expand_builtin_update_setjmp_buf, expand_builtin_prefetch, - expand_builtin_apply, expand_builtin_return, expand_builtin_mathfn, - expand_builtin_mathfn_2, expand_builtin_mathfn_3, - expand_builtin_interclass_mathfn, expand_builtin_sincos, - expand_builtin_cexpi, expand_builtin_int_roundingfn, - expand_builtin_int_roundingfn_2, expand_builtin_pow, - expand_builtin_powi, expand_builtin_strlen, expand_builtin_strlen, - expand_builtin_strstr, expand_builtin_strchr, expand_builtin_strrchr, - expand_builtin_memcpy, expand_builtin_memcpy, - expand_builtin_mempcpy_args, expand_builtin_bcopy, expand_movstr, - expand_builtin_stpcpy, expand_builtin_strncpy, builtin_memset_gen_str, - expand_builtin_bzero, expand_builtin_memchr, expand_builtin_memcmp, - expand_builtin_strcmp, expand_builtin_strncmp, expand_builtin_strcat, - expand_builtin_strncat, expand_builtin_strspn, expand_builtin_alloca, - expand_builtin_bswap, expand_builtin_unop, expand_builtin_fputs, - expand_builtin_fabs, expand_builtin_copysign, - expand_builtin___clear_cache, expand_builtin_init_trampoline, - expand_builtin_adjust_trampoline, expand_builtin_signbit, - expand_builtin, validate_arg, expand_builtin_object_size, - expand_builtin_object_size, expand_builtin_memory_chk) Re-enable code - previously disabled for GIMPLE. - (expand_builtin_memcpy, expand_builtin_memset_args): Re-enable code - previously disabled for GIMPLE. Look up tree attribute for original - GIMPLE statement. - (validate_arglist): Use old interface of tree node instead of GIMPLE - statement. - (validate_gimple_arglist): New function. - * cfgexpand.c (gimple_to_tree): Set GIMPLE statement tree attribute - for builtin function calls. - * tree-flow.h (struct tree_ann_common_d): New field stmt. - * gimple.h (validate_gimple_arglist): New declaration. - (validate_arglist): Moved to tree.h. - -2008-03-31 Oleg Ryjkov <olegr@google.com> - - * gimplify.c (gimplify_switch_expr): Verify the return value from - gimplify_expr. - -2008-03-31 Rafael EspÃndola <espindola@google.com> - - Merge with mainline @133452. - - * configure.ac (ACX_PKGVERSION): Update revision merge string. - * configure: Regenerate. - -2008-03-31 Rafael EspÃndola <espindola@google.com> - - Merge with mainline @133440. - - * configure.ac (ACX_PKGVERSION): Update revision merge string. - * configure: Regenerate. - -2008-03-31 Rafael EspÃndola <espindola@google.com> - - Merge with mainline @133423. - - * configure.ac (ACX_PKGVERSION): Update revision merge string. - * configure: Regenerate. - -2008-03-30 Rafael EspÃndola <espindola@google.com> - - Merge with mainline @133342. - - * configure.ac (ACX_PKGVERSION): Update revision merge string. - * configure: Regenerate. - -2008-03-28 Rafael EspÃndola <espindola@google.com> - - Merge with mainline @133341. - - * configure.ac (ACX_PKGVERSION): Update revision merge string. - * configure: Regenerate. - -2008-03-28 Oleg Ryjkov <olegr@google.com> - - * tree-eh.c (replace_goto_queue_1): Do a deep copy of the replacement - sequence. - (maybe_record_in_goto_queue): Set is_label flag when recording - GIMPLE_GOTOs. - (do_return_redirection, do_return_redirection): Changed to set - cont_stmt. - (lower_try_finally_onedest): Fix the code that assumes that gotos - themselves(instead of the labels) are recorded in the goto_queue. - (lower_try_finally_copy): Likewise. - (lower_try_finally_switch): Likewise, also fix the VEC_* operations. - * gimple.h (gimple_build_switch): Fixed comment. - -2008-03-28 Doug Kwan <dougkwan@google.com> - - * omp-low.c (expand_omp_sections): Fix build breakage due to an - uninitialized variable. - -2008-03-28 Rafael EspÃndola <espindola@google.com> - - Merge with mainline @133315. - - * configure.ac (ACX_PKGVERSION): Update revision merge string. - * configure: Regenerate. - -2008-03-28 Diego Novillo <dnovillo@google.com> - - * omp-low.c (expand_omp_for_static_chunk): Initialize - V_MAIN and V_BACK. - (expand_omp_for): Initialize VIN. - -2008-03-28 Rafael EspÃndola <espindola@google.com> - - Merge with mainline @133313. - - * configure.ac (ACX_PKGVERSION): Update revision merge string. - * configure: Regenerate. - -2008-03-27 Doug Kwan <dougkwan@google.com> - - * c-decl.c (merge_decls): Also copy gimple bodies of decls. - * gimplify.c (gimplify_call_expr): Do not exit early when - gimplifying __builtin_va_start(). - -2008-03-27 Oleg Ryjkov <olegr@google.com> - - * gimple.c (walk_gimple_op): Add a check for assignments with more - than one operand on the LHS. - -2008-03-27 Aldy Hernandez <aldyh@redhat.com> - - * tree.c (empty_body_p): Remove. - * tree.h (empty_body_p): Remove prototype. - * omp-low.c (struct omp_context): Convert to tuples. - (struct omp_context): Comment and convert to tuples. - (scan_omp_op): New. - (is_parallel_ctx): Convert to tuples. - (extract_omp_for_data): Same. - (workshare_safe_to_combine_p): Same. - (get_ws_args_for): Same. - (determine_parallel_type): Same. - (use_pointer_for_field): Same. - (dump_omp_region): Same. - (debug_all_omp_regions): Same. - (new_omp_region): Same. - (new_omp_context): Same. - (scan_sharing_clauses): Same. - (create_omp_child_function): Same. - (scan_omp_parallel): Same. - (scan_omp_for): Same. - (scan_omp_sections): Same. - (scan_omp_single): Same. - (check_omp_nesting_restrictions): Same. - (scan_omp_1_op): New. - (scan_omp_1_stmt): Rename from scan_omp_1. Rewrite for tuples. - (scan_omp): Convert to tuples. - (build_omp_barrier): Same. - (maybe_lookup_ctx): Same. - (lower_rec_input_clauses): Same. - (lower_lastprivate_clauses): Same. - (lower_reduction_clauses): Same. - (lower_copyprivate_clauses): Same. - (lower_send_clauses): Same. - (lower_send_shared_vars): Same. - (expand_parallel_call): Same. - (remove_exit_barrier): Same. - (remove_exit_barriers): Same. - (optimize_omp_library_calls): Same. - (expand_omp_parallel): Same. - (expand_omp_for_generic): Comment out, and convert to tuples. - (expand_omp_for_static_nochunk): Convert to tuples. - (expand_omp_for_static_chunk): Same. - (expand_omp_for): Same. - (expand_omp_sections): Same. - (expand_omp_synch): Same. - (expand_omp_atomic_fetch_op): Same. - (expand_omp_atomic_pipeline): Same. - (expand_omp_atomic_mutex): Same. - (expand_omp_atomic): Same. - (expand_omp): Same. - (build_omp_regions_1): Same. - (execute_expand_omp): Enable. - (execute_lower_omp): Enable and convert to tuples. - * gimple-dummy.c (omp_reduction_init): Remove. - * tree-flow.h (struct omp_region): Convert 'type' to tuples. - (new_omp_region): Adjust prototype for tuples. - * gimple.c (empty_stmt_p): New. - (empty_body_p): New. - * gimple.h (empty_body_p): New prototype. - (gimple_has_location): Remove fixmes. - * tree-cfg.c (gimple_block_label): Remove ATTRIBUTE_UNUSED. - -2008-03-27 Rafael EspÃndola <espindola@google.com> - - Merge with mainline @133311. - - * configure.ac (ACX_PKGVERSION): Update revision merge string. - * configure: Regenerate. - -2008-03-27 Rafael EspÃndola <espindola@google.com> - - * gcc/tree-nested.c (save_tmp_var): Use gsi_insert_after_without_update - instead of gsi_insert_after. - -2008-03-26 Jakub Staszak <kuba@et.pl> - - * gimple.h (gimple_uid, gimple_set_uid): Defined. - (gimple_statement_base): Field UID added. - * tree-ssa-dse.c (execute_simple_dse): #if 0 removed, bitmap_empty_p - condition added. (memory_ssa_name_same, memory_address_same, - get_kill_of_stmt_lhs, dse_possible_dead_store_p, dse_optimize_stmt, - dse_record_phis, dse_finalize_block, tree_ssa_dse): Tuplified. - * passes.c (init_optimization_passes): pass_simple_dse and pass_dse - enabled. - * testsuite/gcc.dg/tree-ssa/ssa-dse-10.c: {dg-final} changed. - * testsuite/gcc.dg/tree-ssa/pr30375.c: {dg-final} changed. - -2008-03-26 Rafael EspÃndola <espindola@google.com> - * gcc/tree-ssa-operands.c (ssa_operands_active): Assert that cfun is - not NULL. - * gcc/tree-nested.c (init_tmp_var): Use - gsi_insert_before_without_update instead of gsi_insert_before. - -2008-03-25 Rafael EspÃndola <espindola@google.com> - - Merge with mainline @133309. - - * configure.ac (ACX_PKGVERSION): Update revision merge string. - * configure: Regenerate. - -2008-03-25 Rafael EspÃndola <espindola@google.com> - - Merge with mainline @133306. - - * configure.ac (ACX_PKGVERSION): Update revision merge string. - * configure: Regenerate. - -2008-03-25 Bill Maddox <maddox@google.com> - - * tree-ssa-dom.c (loop_depth_of_name): Tuplify. - * tree-ssa-copy.c (stmt_may_generate_copy, - copy_prop_visit_assignment, copy_prop_visi_cond_stmt, - copy_prop_visit_stmt, copy_prop_visit_phi_node, - init_copy_prop, execute_copy_prop): Tuplify. - * passes.c (init_optimization_passes): - Enable pass_copy_prop. - -2008-03-25 Rafael EspÃndola <espindola@google.com> - - Merge with mainline @133257. - - * configure.ac (ACX_PKGVERSION): Update revision merge string. - * configure: Regenerate. - -2008-03-25 Oleg Ryjkov <olegr@google.com> - - * gimple.c (gimple_build_bind): Added a new parameter - the - containing block. - * gimple.h (gimple_build_bind): Changed the header accordingly. - * gimplify.c (gimplify_bind_expr, gimplify_function_tree): Updated - the callers of gimple_build_bind. - (gimplify_body): Updated the call to gimple_build_bind and moved - the copying of block information into gimplify_bind_expr. - -2008-03-25 Rafael EspÃndola <espindola@google.com> - - Merge with mainline @133255. - - * configure.ac (ACX_PKGVERSION): Update revision merge string. - * configure: Regenerate. - -2008-03-25 Rafael EspÃndola <espindola@google.com> - - Merge with mainline @133251. - - * configure.ac (ACX_PKGVERSION): Update revision merge string. - * configure: Regenerate. - -2008-03-25 Rafael EspÃndola <espindola@google.com> - - Merge with mainline @133250. - - * configure.ac (ACX_PKGVERSION): Update revision merge string. - * configure: Regenerate. - -2008-03-24 Rafael EspÃndola <espindola@google.com> - - Merge with mainline @133246. - - * configure.ac (ACX_PKGVERSION): Update revision merge string. - * configure: Regenerate. - -2008-03-24 Rafael EspÃndola <espindola@google.com> - - Merge with mainline @133222. - - * configure.ac (ACX_PKGVERSION): Update revision merge string. - * configure: Regenerate. - -2008-03-24 Andrew Pinski <pinskia@gmail.com> - - * passes.c (init_optimization_passes): Enable pass_split_crit_edges. - -2008-03-24 Rafael EspÃndola <espindola@google.com> - - Merge with mainline @133169. - - * configure.ac (ACX_PKGVERSION): Update revision merge string. - * configure: Regenerate. - -2008-03-21 Rafael EspÃndola <espindola@google.com> - - Merge with mainline @133168. - - * configure.ac (ACX_PKGVERSION): Update revision merge string. - * configure: Regenerate. - -2008-03-21 Rafael EspÃndola <espindola@google.com> - - Merge with mainline @133167. - - * configure.ac (ACX_PKGVERSION): Update revision merge string. - * configure: Regenerate. - -2008-03-20 Oleg Ryjkov <olegr@google.com> - - * tree-eh.c (lower_try_finally): Correctly set the lowered sequence. - -2008-03-20 Jakub Staszak <kuba@et.pl> - Oleg Ryjkov <olegr@google.com> - - * tree-ssa-sink.c (is_hidden_global_store): Tuplified. - * tree-ssa-dce.c (mark_stmt_necessary, mark_operand_necessary, - mark_stmt_if_obviously_necessary, - mark_control_dependent_edges_necessary, - find_obviously_necessary_stmts, propagate_necessity, - remove_dead_phis, eliminate_unnecessary_stmts, tree_dce_init, - tree_dce_done): Tuplified. - * tree-flow.h (is_hidden_global_store): Tuplified the declaration. - * passes.c (init_optimization_passes): Enabled pass_dce and - pass_cd_dce. - -2008-03-20 Oleg Ryjkov <olegr@google.com> - - * tree-complex.c (init_dont_simulate_again, complex_visit_stmt, - update_complex_components, expand_complex_operations_1): Consider - GIMPLE_CALLs with a lhs, not only GIMPLE_ASSIGNs. - * gimplify.c (get_tmp_var_for): Removed. - (gimplify_call_expr): Remove call to get_tmp_var_for, set - gimple_register on a new lhs in some cases. - -2008-03-20 Rafael EspÃndola <espindola@google.com> - - Merge with mainline @133162. - - * configure.ac (ACX_PKGVERSION): Update revision merge string. - * configure: Regenerate. - -2008-03-20 Rafael EspÃndola <espindola@google.com> - - Merge with mainline @133161. - - * configure.ac (ACX_PKGVERSION): Update revision merge string. - * configure: Regenerate. - -2008-03-20 Rafael EspÃndola <espindola@google.com> - - Merge with mainline @133140. - - * configure.ac (ACX_PKGVERSION): Update revision merge string. - * configure: Regenerate. - -2008-03-20 Rafael EspÃndola <espindola@google.com> - - Merge with mainline @133138. - - * configure.ac (ACX_PKGVERSION): Update revision merge string. - * configure: Regenerate. - -2008-03-18 Bill Maddox <maddox@google.com> - - * builtins.c (fold_builtin_object_size): - Enable call to compute_builtin_object_size, previously - stubbed out awaiting tuplification. - * tree-ssa-ccp.c (valid_gimple_rhs_p, valid_gimple_call_p, - move_ssa_defining_stmt_for_defs, update_call_from_tree): - Deleted, moved to tree-ssa-propagate.c. - (get_maxval_strlen): Use gimple_assign_single_p. - Handle assignment with unary NOP correctly. - * tree-ssa-propagate.c (valid_gimple_rhs_p, valid_gimple_call_p, - move_ssa_defining_stmt_for_defs, update_call_from_tree): - Moved here from tree-ssa-ccp.c. - * tree-ssa-propagate.h (valid_gimple_rhs_p, valid_gimple_call_p, - move_ssa_defining_stmt_for_defs, update_call_from_tree): Declared. - * gimple-dummy.c (compute_builtin_object_size): Removed dummy. - * tree_object_size.c (addr_object_size, alloc_object_size) - Tuplified. - (pass_through_call, compute_builtin_object_size): Tuplified. - (expr_object_size): Tuplified. Some cases broken out. - (plus_expr_object_size): Deleted. - (call_object_size, unknown_object_size, plus_stmt_object_size): - New functions. Handle cases broken out from expr_object_size. - (cond_expr_object_size): Fix comment. - (collect_object_sizes_for): Tuplify. - (check_for_plus_in_loops_1, check_for_plus_in_loops): Tuplify. - (compute_object_sizes): Tuplify. - * gimple.c (gimple_assign_single_p, gimple_assign_unary_nop_p): - New functions. - * gimple.h (gimple_assign_single_p, gimple_assign_unary_nop_p): - Declare. - * passes.c (init_optimization_passes): Enable pass_object_sizes. - -2008-03-18 Diego Novillo <dnovillo@google.com> - Oleg Ryjkov <olegr@google.com> - - * gimplify.c (gimplify_body): Copy the block information from - the tree function body to gimple function body. - (gimplify_function_tree): Correctly wrap the function body - into the try/finally block if creating one. - * gimple.c (gimple_seq_has_side_effects): Removed. - * gimple.h (gimple_seq_has_side_effects): Removed declaration. - * tree-cfg.c (remove_useless_stmts_tf, remove_useless_stmts_tc): - Modified to use gimple_seq_empty_p instead of - gimple_seq_has_side_effects. - -2008-03-18 Aldy Hernandez <aldyh@redhat.com> - - * gimple.c (walk_gimple_stmt): Collapse common code. - Add case for GIMPLE_WITH_CLEANUP_EXPR. - -2008-03-17 Zdenek Dvorak <ook@ucw.cz> - - * gimple-iterator.c (gsi_for_stmt): Use gsi_start_phis. - (gsi_start_phis): New function. - * gimple.h (gsi_start_phis): Declare. - * tree-into-ssa.c (initialize_flags_in_bb, rewrite_initialize_block, - rewrite_add_phi_arguments, rewrite_update_init_block, - prepare_block_for_update): Use gsi_start_phis. - * tree-complex.c (init_dont_simulate_again, update_phi_components): - Ditto. - * tree-ssa-loop-manip.c (find_uses_to_rename_bb, - verify_loop_closed_ssa, split_loop_exit_edge, - tree_transform_and_unroll_loop): Ditto. - * tree-scalar-evolution.c (loop_closed_phi_def, - analyze_scalar_evolution_for_all_loop_phi_nodes, scev_const_prop): - Ditto. - * tree-phinodes.c (reserve_phi_args_for_new_edge, remove_phi_args): - Ditto. - * tree-ssa-copyrename.c (rename_ssa_copies): Ditto. - * tree-ssa-ccp.c (ccp_initialize): Ditto. - * tree-ssa-loop-ivopts.c (find_bivs, mark_bivs, - find_interesting_uses_outside, find_interesting_uses, - determine_set_costs): Ditto. - * tree-ssa-propagate.c (simulate_block, ssa_prop_init, - substitute_and_fold): Ditto. - * tree-ssa-alias.c (dump_points_to_info, create_structure_vars): Ditto. - * gimple-pretty-print.c (dump_phi_nodes): Ditto. - * tree-data-ref.c (stmts_from_loop): Ditto. - * tree-ssa-coalesce.c (build_ssa_conflict_graph, - create_outofssa_var_map, coalesce_partitions): Ditto. - * tree-dfa.c (collect_dfa_stats): Ditto. - * tree-cfgcleanup.c (phi_alternatives_equal, remove_forwarder_block, - remove_forwarder_block_with_phi, merge_phi_nodes): Ditto. - * tree-ssa-live.c (remove_unused_locals, calculate_live_on_exit, - verify_live_on_entry): Ditto. - * tree-ssa.c (ssa_redirect_edge, flush_pending_stmts, verify_ssa, - execute_late_warn_uninitialized, execute_update_addresses_taken): - Ditto. - * tree-outof-ssa.c (eliminate_build, eliminate_virtual_phis, - rewrite_trees, remove_ssa_form, insert_backedge_copies): - Ditto. - * cfgloop.c (find_subloop_latch_edge_by_ivs): Ditto. - * tree-ssa-structalias.c (compute_points_to_sets, ipa_pta_execute): - Ditto. - * tree-cfg.c (remove_phi_nodes_and_edges_for_unreachable_block, - reinstall_phi_args, verify_stmts, gimple_make_forwarder_block, - add_phi_args_after_copy_edge, gimple_lv_adjust_loop_header_phi): - Ditto. - -2008-03-16 Zdenek Dvorak <ook@ucw.cz> - - * tree-ssa-loop-ivopts.c: Tuplify. - * gimple-dummy.c (multiplier_allowed_in_address_p, multiply_by_cost, - tree_ssa_iv_optimize): Removed. - * tree-ssa-phiopt.c (empty_block_p): Tuplify. - * gimple.h (gimple_cond_lhs_ptr, gimple_cond_rhs_ptr): New. - * passes.c (init_optimization_passes): Enable pass_iv_optimize. - - * gimplify.c (gimplify_omp_workshare, gimplify_expr): Avoid using - uninitialized sequence. - -2008-03-13 Bill Maddox <maddox@google.com> - - * tree.h (fold_call_stmt, gimple_fold_builtin_snprintf_chk): - Declare new functions. - * builtins.c (fold_builtin_object_size): Disable call to - compute_builtin_object_size, which has not been converted. - (gimple_rewrite_call_expr, gimple_fold_builtin_sprintf_chk, - gimple_fold_builtin_snprintf_chk, gimple_fold_builtin_varargs, - fold_call_stmt): New functions. - * tree-chrec.h (build_polynomial_chrec): Silence uninitialized - variable warning. - * tree-ssa-ccp.c (likely_value): Recognize additional cases - of constant values. - (surely_varying_stmt_p): Note that return statements are not - interesting to CCP as they no longer contain assignments. - (ccp_fold): Add missing spaces. - (valid_gimple_call_p): New function. - (get_maxval_strlen): Don't trip over unary operator. - (ccp_fold_builtin): Use fold_call_stmt and - gimple_fold_builtin_snprintf_chk. Enable disabled - call now that target has been converted for tuples. - Add missing spaces. - (move_ssa_defining_stmt_for_defs): New function. - (update_call_from_tree): New function. - (fold_gimple_call): Use update_call_from_tree. - (fold_stmt_inplace): Assert that operand folding tree - walk goes to completion, i.e., does not return non-null. - (optimize_stack_restore, optimize_stdarg_builtin): - Convert to tuples - (convert_to_gimple_builtin): Removed. - (gimplify_and_update_call_from_tree): New function. - Replaces convert_to_gimple_builtin. - (execute_fold_all_builtins): Convert to tuples. - * tree-ssa-propagate.c (replace_uses_in): Removed - replaced_address argument. Made function static. - (replace_vuses_in): Removed replaced_address argument. - (substitute_and_fold): Removed replaced_address boolean, - which was set but never examined. - * tree-ssa-propagate.h (replace_uses_in): Removed declaration. - * gimple-iterator.c (update_modified_stmt): Moved to - head of file to avoid a forward declaration. - (update_modified_stmts): New function. - (gsi_insert_seq_before_without_update, - gsi_insert_before_without_update, - gsi_insert_seq_after_without_update, - gsi_insert_after_without_update): New functions. - (gsi_insert_before, gsi_insert_seq_before, - gsi_insert_after, gsi_insert_seq_after): Call the - _without_update variants. - * gimplify.c (gimplify_seq_add_stmt, gimplify_seq_add_seq): - New functions. - (gimple_pop_condition, gimplify_return_expr, gimplify_loop_expr, - gimplify_switch_expr, gimplify_case_label_expr, - gimplify_self_mod_expr, gimplify_call_expr, - gimplify_modify_expr_to_memcpy, gimplify_modify_expr_to_memset, - gimplify_init_ctor_eval_range, gimpllify_modify_expr_complex_part, - gimplify_modify_expr, gimplify_asm_expr, gimplify_cleanup_point_expr, - gimple_push_cleanup, gimplify_omp_parallel, gimplify_omp_atomic, - gimplify_expr, gimplify_body, gimplify_function_tree): When adding - to statement sequences in the gimplifier, do not update operands. - * tree-dfa.c (find_new_referenced_vars): Convert to tuples. - * tree-flow.h (find_new_referenced_vars): Declare with new signature. - * gimple.h (gimple_return_set_retval): Fix argument validation. - (gsi_insert_seq_before_without_update, - gsi_insert_before_without_update, - gsi_insert_seq_after_without_update, - gsi_insert_after_without_update): Declare new functions. - * gimple.c (gimple_build_return): Rely on gimple_return_set_retval - to perform argument validation. - * passes.c (init_optimization_passes): Enable pass_fold_builtins. - -2008-03-13 Oleg Ryjkov <olegr@google.com> - - * tree-cfg.c (gimplify_val): Removed. - (gimplify_build1, gimplify_build2, gimplify_build3): Use - force_gimple_operand_gsi instead of gimplify_val. - * tree-complex.c (extract_component): Use force_gimple_operand_gsi - instead of gimplify_val. - * tree-vect-generic.c (expand_vector_parallel): Ditto. - -2008-03-13 Diego Novillo <dnovillo@google.com> - Oleg Ryjkov <olegr@google.com> - - * tree-ssa-operands.c (get_expr_operands): Handle FILTER_EXPR and - EXC_PTR_EXPR. - -2008-03-12 Diego Novillo <dnovillo@google.com> - Oleg Ryjkov <olegr@google.com> - - * cfgexpand.c (gimple_to_tree): Record the correct type when - converting GIMPLE_CALL. - -2008-03-12 Zdenek Dvorak <ook@ucw.cz> - - * tree-ssa-loop-im.c (stmt_cost, rewrite_bittest, - determine_invariantness_stmt, gather_mem_refs_stmt): - Use gimple_assign_rhs_code. - * cfgexpand.c (gimple_to_tree): Ditto. - * tree-inline.c (estimate_num_insns): Ditto. - * tree-vect-generic.c (expand_vector_operations_1): Ditto. - * tree-ssa-ccp.c (likely_value, ccp_fold, evaluate_stmt, - * gimple.c (gimple_fold, gimple_assign_set_rhs_with_ops): Ditto. - * tree-ssa-structalias.c (handle_ptr_arith): Ditto. - fold_gimple_assign): Ditto. - * value-prof.c (gimple_divmod_fixed_value_transform): Ditto. - * tree-ssa-loop-ch.c (copy_loop_headers): Ditto. - * tree-ssa-propagate.c (stmt_makes_single_load, - substitute_and_fold): Ditto. - * tree-ssa-loop-niter.c (chain_of_csts_start): Exclude memory loads. - (get_val_for): Assert that the statement is an assignment. - (derive_constant_upper_bound_assign, - expand_simple_operations): Use gimple_assign_rhs_code. - * tree-ssa-loop-manip.c (create_iv, ip_normal_pos, - standard_iv_increment_position, determine_exit_conditions, - tree_transform_and_unroll_loop): Tuplify. - * tree-scalar-evolution.c (interpret_expr): Fail for chrecs. - (interpret_gimple_assign, follow_ssa_edge_in_rhs): Use - gimple_assign_rhs_code. - * tree-gimple.c (gimple_assign_rhs_code): New function. - * tree-gimple.h (gimple_assign_rhs_code): Declare. - * tree-ssa-loop-ivopts.c (single_dom_exit): Enable. - * gimple-dummy.c (compute_data_dependences_for_loop, dump_ddrs, - free_data_refs, free_dependence_relations, - gimple_duplicate_loop_to_header_edge, tree_ssa_prefetch_arrays, - estimated_loop_iterations_int): Removed. - * tree-ssa-loop-ivcanon.c (tree_num_loop_insns): Tuplify. - * predict.c, tree-data-ref.c, tree-ssa-loop-prefetch.c: Tuplify. - * tree-data-ref.h (struct data_reference, struct rdg_vertex): Change - the type of stmt to gimple. - (get_references_in_stmt, create_data_ref, rdg_vertex_for_stmt, - stores_from_loop, remove_similar_memory_refs, - have_similar_memory_accesses): Declaration changed. - * gimple-iterator.c (gsi_insert_seq_on_edge_immediate): New. - * gimple-pretty-print.c (dump_gimple_assign): Dump nontemporal - move. Use gimple_assign_rhs_code. - (dump_unary_rhs, dump_binary_rhs): Use gimple_assign_rhs_code. - * gimplify.c (gimplify_modify_expr): Set lhs of the assignment to - the new SSA name. - * tree-ssa-coalesce.c (build_ssa_conflict_graph, - create_outofssa_var_map): Use gimple_assign_copy_p. - * tree-predcom.c (mark_virtual_ops_for_renaming): Enable. - * tree-inline.c (estimate_num_insns): Use gimple_assign_rhs_code. - * tree-flow.h (mark_virtual_ops_for_renaming): Declaration changed. - * gimple.h (struct gimple_statement_base): Change unused_4 flag - to nontemporal_move flag. - (gimple_assign_nontemporal_move_p, gimple_assign_set_nontemporal_move): - New functions. - (gsi_insert_seq_on_edge_immediate): Declare. - (gimple_assign_rhs2): Return NULL if the statement does not have two - operands. - (gimple_assign_subcode): Removed. - * tree-cfg.c (verify_types_in_gimple_assign): Use - gimple_assign_rhs_code. - (gimple_lv_adjust_loop_header_phi, gimple_lv_add_condition_to_bb): - Tuplify. - (gimple_cfg_hooks): Enable lv_add_condition_to_bb and - lv_adjust_loop_header_phi hooks. - * passes.c (init_optimization_passes): Enable pass_profile, - pass_check_data_deps and pass_loop_prefetch. - -2008-03-11 Diego Novillo <dnovillo@google.com> - - * tree-ssa-operands.h: Added declaration of add_to_addressable_set. - * tree-ssa-operands.h (add_to_addressable_set): New function. - (gimple_add_to_addresses_taken): Moved most of the logic to - add_addressable_set. - * tree-ssa-structalias.c (update_alias_info): Record the variables - whose address is taken inside a phi node. - -2008-03-11 Aldy Hernandez <aldyh@redhat.com> - - * tree-phinodes.c (allocate_phi_node): Update for tuples. - * gimplify.c (gimplify_function_tree): Dump memory stats. - * gimple.c: Declare gimple_alloc_counts, gimple_alloc_sizes, - and gimple_alloc_kind_names. - (gimple_alloc): Gather statistics for tuples. - (gimple_build_asm_1): Same. - (gimple_seq_alloc): Same. - (dump_gimple_statistics): New. - * gimple.h: Define gimple_alloc_kind. - (gimple_alloc_kind): New. - (dump_gimple_statistics): Protoize. - * tree-ssa-copy.c (replace_exp_1): Mark for_propagation as unused - (merged from mainline). - -2008-03-11 Diego Novillo <dnovillo@google.com> - - Merge with mainline @133081. - - * configure.ac (ACX_PKGVERSION): Update revision merge string. - * configure: Regenerate. - -2008-03-06 Diego Novillo <dnovillo@google.com> - - Merge with mainline @132948 - - * configure.ac (ACX_PKGVERSION): Update revision merge string. - * configure: Regenerate. - -2008-03-06 Diego Novillo <dnovillo@google.com> - - * config/rs6000/rs6000.c (rs6000_alloc_sdmode_stack_slot): - Call walk_gimple_op. - * tree-complex.c (expand_complex_div_wide): Call - split_block with STMT. - -2008-03-06 Diego Novillo <dnovillo@google.com> - - * gimple.h (struct gimple_statement_base): Rename field - 'locus' to 'location'. Update all users. - (gimple_location): Rename from gimple_locus. Update all - users. - (gimple_set_location): Rename from gimple_set_locus. - Update all users. - (gimple_has_location): Rename from gimple_location_empty_p. - Change sign of return value. Update all users. - * gimplify.c (tree_annotate_all_with_location): Rename - from tree_annotate_all_with_locus. - (annotate_all_with_location): Rename from - annotate_all_with_locus. - -2008-03-05 Diego Novillo <dnovillo@google.com> - - * gimple.c (gimple_set_lhs): Remove return keywords. - -2008-03-05 David Daney <ddaney@avtrex.com> - - * builtins.c (expand_builtin___clear_cache): Disable call to - validate_arglist. - * config/mips/mips.c (mips_gimplify_va_arg_expr): Tuplify. - -2008-03-05 Bill Maddox <maddox@google.com> - - * tree-ssa-ccp.c (dump_lattice_value, debug_lattice_value): - Re-enable functions #if'd out. - (test_default_value, likely_value, surely_varying_stmt_p, - ccp_initialize, ccp_visit_phi_node, ccp_fold, evaluate_stmt, - visit_assignment, visit_cond_stmt, ccp_visit_stmt): - Convert to tuples. - (fold_gimple_call): Don't trip over call that simplifies to - another call, not a constant. - * tree-ssa-propagate.c (ssa_prop_init): Initialize in-worklist - flag for phi nodes as well as statements. - (valid_gimple_expression_p): Add fixme comment to remove this. - function. It currently has static uses, but asserts when called. - (stmt_makes_single_load, stmt_makes_single_store): - Convert to tuples - (replace_phi_args_in): Convert to tuples. Fix typo in comment. - * gimple.c (gimple_copy_no_def_use, gimple_get_lhs, - gimple_set_lhs): New function. - * gimple.h (gimple_copy_no_def_use, gimple_get_lhs, - gimple_set_lhs): Declare new function. - * tree-cfg.c (replace_uses_by): Add comment regarding empty - operands. - * passes.c (init_optimization_passes): Enable pass_ccp and - pass_store_ccp. - -2008-03-05 David Daney <ddaney@avtrex.com> - - * tree-phinodes.c (allocate_phi_node): Fix syntax errors from - previous commit. - -2008-03-05 Rafael EspÃndola <espindola@google.com> - - * tree-phinodes.c (allocate_phi_node): free free_phinodes[bucket] - if empty. - -2008-03-05 Diego Novillo <dnovillo@google.com> - - http://gcc.gnu.org/ml/gcc/2008-03/msg00256.html - - * fold-const.c (tree_binary_nonnegative_warnv_p): Fix - invalid C90 declaration. - (tree_single_nonnegative_warnv_p): Likewise. - * gimplify.c (gimplify_bind_expr): Likewise. - (gimplify_return_expr): Likewise. - -2008-03-04 Zdenek Dvorak <ook@ucw.cz> - - * tree-ssa-loop-niter.c, tree-scalar-evolution.c: Tuplified. - * tree-ssa-loop-manip.c (split_loop_exit_edge): Ditto. - * tree-chrec.c (chrec_fold_plus, chrec_apply, chrec_convert_1, - convert_affine_scev, chrec_convert_rhs, chrec_convert, - chrec_convert_aggressive): Pass statements as gimple. - * tree-scalar-evolution.h (get_loop_exit_condition, simple_iv): - Type changed. - * tree-chrec.h (chrec_convert, chrec_convert_rhs): Ditto. - * tree-ssa-loop-ivopts.c (abnormal_ssa_name_p, - idx_contains_abnormal_ssa_name_p, contains_abnormal_ssa_name_p, - expr_invariant_in_loop_p, tree_int_cst_sign_bit): Enabled. - * gimple-dummy.c (chrec_dont_know, chrec_known, chrec_not_analyzed_yet, - analyze_scalar_evolution, chrec_contains_symbols_defined_in_loop, - estimate_numbers_of_iterations, expr_invariant_in_loop_p, - free_numbers_of_iterations_estimates, - free_numbers_of_iterations_estimates_loop, get_loop_exit_condition, - instantiate_parameters, nowrap_type_p. scev_const_prop. scev_finalize, - scev_initialize, scev_probably_wraps_p, scev_reset, - tree_int_cst_sign_bit, number_of_iterations_exit, loop_niter_by_eval, - substitute_in_loop_info): Removed. - * tree-ssa-loop.c (tree_loop_optimizer_init): Merged into... - (tree_ssa_loop_init): ... here. Enable scev_initialize call. - (tree_ssa_loop_done): Enable scev finalization. - * gimple-iterator.c (gsi_insert_seq_nodes_before): Allow inserting - at the end of basic block. - (gsi_for_stmt): Handle phi nodes. - * cfgloop.h (struct nb_iter_bound): Change type of stmt field to gimple. - * tree-flow.h (scev_probably_wraps_p, convert_affine_scev, - stmt_dominates_stmt_p): Types changed. - * Makefile.in (gt-tree-scalar-evolution.h): Enable. - * gimple.c (extract_ops_from_tree): Export. - (gimple_copy): Do not share bitmaps. - * gimple.h (extract_ops_from_tree): Declare. - (gimple_call_set_lhs): Allow lhs to be NULL. - * tree-cfg.c (add_phi_args_after_copy_edge, - add_phi_args_after_copy_bb): Tuplify. - * passes.c (init_optimization_passes): Enable pass_ch, pass_scev_cprop. - -2008-03-04 Oleg Ryjkov <olegr@google.com> - - * tree-ssa-dse.c (execute_simple_dse): Commented out. - * passes.c (init_optimization_passes): Disabling pass_simple_dse. - -2008-03-04 Bill Maddox <maddox@google.com> - - * tree-cfg.c (remove_useless_stmts_1): - Correctly distinguish try-catch and try-finally. - -2008-03-04 Oleg Ryjkov <olegr@google.com> - - * tree-ssa-dse.c (execute_simple_dse): Tuplified. - * gimplify.c (gimplify_return_expr): Copy the NO_WARNING flag - to the newly created expr from the tree. - * tree-cfg.c (gimplify_build1): Tuplified. - * passes.c (init_optimization_passes): Enabled - pass_warn_function_return, pass_update_address_taken, - pass_simple_dse and pass_build_alias passes. - -2008-03-04 Rafael EspÃndola <espindola@google.com> - - * fold-const.c (tree_simple_nonnegative_warnv_p): New. - (tree_unary_nonnegative_warnv_p): New. - (tree_binary_nonnegative_warnv_p): New. - (tree_single_nonnegative_warnv_p): New. - (tree_invalid_nonnegative_warnv_p): New. - (tree_expr_nonnegative_warnv_p): Redefine in term of the new functions. - -2008-03-04 Aldy Hernandez <aldyh@redhat.com> - - * gimple.c (walk_gimple_seq): Do not set wi->gsi. - (walk_gimple_stmt): Set wi->gsi. - * tree-cfg.c (verify_stmt): Use walk_gimple_op instead of - walk_gimple_stmt. - (verify_stmts): Same. - -2008-03-04 Diego Novillo <dnovillo@google.com> - - http://gcc.gnu.org/ml/gcc-patches/2008-03/msg00219.html - - * expr.c (expand_expr_real): Call lookup_expr_eh_region. - * tree-eh.c (lookup_stmt_eh_region_fn): - (lookup_stmt_eh_region): Fix comment. - (lookup_expr_eh_region): Handle missing cfun and missing - EH table. - (record_in_finally_tree): Fix comment. - (collect_finally_tree_1): Remove handler for - GIMPLE_SWITCH. - (maybe_record_in_goto_queue): Remove local variable - NEW_IS_LABEL. - Record GIMPLE_GOTOs instead of their label. - (verify_norecord_switch_expr): Retrieve the CASE_LABEL - from the case label expression. - (do_return_redirection): Change sign of assertion. - (lower_try_finally_onedest): Assert that - TF->GOTO_QUEUE[0] contains a GIMPLE statement. - (lower_try_finally_copy): Assert that Q contains a GIMPLE - statement. - (lower_try_finally_switch): Build a new GIMPLE label for - CONT_STMT. - (mark_eh_edge): Tuplify. - (verify_eh_edges): Tuplify. - (tree_can_throw_external): Remove unused function. - (optimize_double_finally): Remove #if 0. - * gimple-pretty-print.c (GIMPLE_NIY): Tidy. - (dump_gimple_resx): Fix format string for - dump_gimple_fmt. - * gimplify.c (gimplify_cleanup_point_expr): Initialize - BODY_SEQUENCE. - * calls.c (emit_call_1): Remove ATTRIBUTE_UNUSED markers. - * cfgexpand.c (gimple_to_tree) <GIMPLE_NOP>: Assign new - expression to T. - <GIMPLE_RESX>: Handle. - Always assign the value from lookup_stmt_eh_region to - ANN->RN. - * tree-cfg.c (start_recording_case_labels): - (recording_case_labels_p): Re-enable. - (get_cases_for_edge): Likewise. - (gimple_verify_flow_info): Re-enable call to - verify_eh_edges. - (gimple_redirect_edge_and_branch): Re-enable handling of - GIMPLE_SWITCH. - (gimple_block_ends_with_call_p): Tuplify. - (struct gimple_cfg_hooks): Enable block_ends_with_call_p - callback. - -2008-03-04 Rafael EspÃndola <espindola@google.com> - - * fold-const.c (tree_unary_nonzero_warnv_p): New. - (tree_binary_nonzero_warnv_p): New. - (tree_single_nonzero_warnv_p): New. - (tree_expr_nonzero_warnv_p): Redefine using the new functions. - -2008-03-04 Aldy Hernandez <aldyh@redhat.com> - - * gimple.c (walk_gimple_op): Update comment. - (walk_gimple_stmt): Same. - -2008-03-03 Aldy Hernandez <aldyh@redhat.com> - - * cgraphbuild.c (build_cgraph_edges): Use walk_gimple_op instead of - walk_gimple_stmt. - * tree-ssa-alias-warnings.c (find_references_in_function): Same. - * tree-ssa-ccp.c (fold_stmt): Change walk_gimple_stmt call to - walk_gimple_op. - * tree-nrv.c (tree_nrv): Same. - * tree-ssa-alias.c (count_uses_and_derefs): Same. - * cfgexpand.c (discover_nonconstant_array_refs_r): Same. - * tree-nested.c (convert_nonlocal_reference_stmt): Make first - argument a GSI. - (convert_local_reference_op): Same. - (convert_nl_goto_reference): Same. - (convert_tramp_reference_stmt): Same. - (convert_gimple_call): Same. - * tree-inline.c (inline_forbidden_p_stmt): Same. - * tree-ssa.c (execute_early_warn_uninitialized): Change - walk_gimple_stmt call to walk_gimple_op. - * gimple.c (walk_gimple_seq): Pass GSI to walk_gimple_stmt. - (walk_gimple_stmt): Move operand walking code to... - (walk_gimple_op): ...here. - (walk_gimple_stmt): First argument is now a GSI. - * gimple.h: Change walk_stmt_fn argument to a GSI. - (walk_gimple_stmt): Make first argument is a GSI. - (walk_gimple_op): New prototype. - * tree-cfg.c (verify_stmt): Change argument to a GSI. Adjust - accordingly. - -2008-02-29 Zdenek Dvorak <ook@ucw.cz> - - * tree-ssa-alias.c (is_escape_site): Detect pure/const functions - correctly. - -2008-02-28 Zdenek Dvorak <ook@ucw.cz> - - * tree-ssa-loop-im.c: Tuplify. - * tree-ssa-loop-manip.c (add_exit_phis_edge, find_uses_to_rename_stmt, - find_uses_to_rename_bb, check_loop_closed_ssa_use, - check_loop_closed_ssa_stmt, verify_loop_closed_ssa): Ditto. - * gimple-dummy.c (rewrite_into_loop_closed_ssa, tree_ssa_lim, - verify_loop_closed_ssa, replace_exp): Removed. - * tree-ssa-loop.c (tree_ssa_loop_init, tree_ssa_loop_done): Comment - out scev initialization and finalization. - * gimple-iterator.c (gsi_remove): Rename remove_eh_info to - remove_permanently. Do not free operands if remove_permanently - is false. - (gimple_find_edge_insert_loc): Use gsi_last_bb. - * tree-eh.c (operation_could_trap_p): Factored out of ... - (tree_could_trap_p): ... here. - * tree-ssa-copy.c (replace_exp): Enable. - * tree-flow.h (movement_possibility): Declaration changed. - (operation_could_trap_p): Declare. - * Makefile.in (tree-ssa-loop-im.o): Add pointer-set.h dependency. - (gimple.o): Add FLAGS_H dependency. - * gimple.c: Include flags.h. - (gimple_could_trap_p): New function. - * gimple.h (gimple_could_trap_p): Declare. - * tree-cfg.c (replace_uses_by): Check that op is not null. - * passes.c (init_optimization_passes): Enable pass_lim. - -2008-02-28 Rafael EspÃndola <espindola@google.com> - - * tree-outof-ssa.c (insert_backedge_copies): Don't build - uninitialized assignment. - -2008-02-28 Rafael EspÃndola <espindola@google.com> - - * tree-dfa.c (dump_dfa_stats): cast dfa_stats.max_num_phi_args to long. - -2008-02-26 Diego Novillo <dnovillo@google.com> - - * tree-ssa-copyrename.c (rename_ssa_copies): Do not mix - declarations with code. - * tree-ssa-coalesce.c (create_outofssa_var_map): Likewise. - * tree-dfa.c (dump_dfa_stats): Use %ld for - dfa_stats.max_num_phi_args. - -2008-02-26 Bill Maddox <maddox@google.com> - - * tree-ssa-ccp.c (maybe_fold_stmt_addition): - Reinstated this function for tuples as-is. - (valid_gimple_rhs_p): New function. Mostly lifted from - valid_gimple_epxression_p, which is likely obsolete. - (fold_stmt_r): Reinstated commented-out cases for - tuples. Replaced call to obsolete function set_rhs. - (get_maxval_strlen): Convert to tuples. - (ccp_fold_builtin): Partial conversion to tuples. - (fold_gimple_assign): New function. - (fold_gimple_cond): New function. - (fold_gimple_call): New function. - (fold_stmt): Convert to tuples. - (fold_stmt_inplace): Convert to tuples. - * tree-ssa-propagate.c (substitute_and_fold): - Update call to fold_stmt for revised argument signature. - * gimple-dummy.c (fold_stmt): Removed dummy definition. - * gimplify.c (gimplify_call_expr): Removed obsolete - manipulation of TREE_NOTHROW flag. - * cfgexpand.c (gimple_to_tree): Set nothrow flag - of call expression based on call statement flags. - Handle GIMPLE_NOP statement. - * tree-flow.h (notice_special_calls, fold_stmt): - Update prototypes for tuples. - * gimple.c (gimple_cond_set_condition_from_tree): - New function. - (gimple_seq_has_side_effects): New function. - * gimple.h (gimple_cond_set_condition_from_tree, - gimple_seq_has_side_effects): New prototypes. - (gimple_call_nothrow_p): New function. - (gsi_stmt_ptr): Add comment regarding usage of this - function vs. gsi_replace. - * tree-cfg.c (struct rus_data): Convert to tuples. - (remove_useless_stmts_1, remove_useless_stmts_warn_notreached, - remove_useless_stmts_cond, remove_useless_stmts_tf, - remove_useless_stmts_tc, remove_useless_stmts_goto, - remove_useless_stmts_label, notice_special_calls, - remove_useless_stmts): Convert to tuples. - (update_call_expr_flags): Removed. - * passes.c (init_optimization_passes): Enable - pass_remove_useless_stmts. - -2008-02-25 Bill Maddox <maddox@google.com> - - * tree-into-ssa.c (rewrite_initialize_block): - Avoid declaration following statement in block. - * tree-nrv.c (tree_nrv): - Avoid declaration following statement in block. - * tree-eh.c (collect_finally_tree): Fix typo in comment. - Avoid cast to union type. - (replace_goto_queue_cond_clause, replace_goto_queue_1, - maybe_record_in_goto_queue, verify_norecord_switch_expr, - lower_try_finally_fallthru_label): Avoid cast to union type. - * fortran/Make-lang.in: Add -Wno-missing-format-attribute - to fortran-warn options to avoid conflict with -Wno-format. - * gimplify.c (gimplify_switch_expr): Change assignment - to initialiation. - (gimplify_case_label_expr): Avoid declaration following - statement in block. - * tree-ssa-coalesce.c (create_outofssa_var_map): Avoid - declaration following statement in block. - * tree-ssa.c (ssa_redirect_edge, flush_pending_stmts): - Avoid declaration following statements in block. - * Makefile.in: Add -Wno-missing-format-attribute - to builtins.o-warn and expr.o-warn options to avoid conflict - with -Wno-format. Removed fortran/*-warn options, -Wno-format - and -Wno-uninitialized, which belong in fortran/Make-lang.in, - and are applied to all fortran files there. - -2008-02-25 Oleg Ryjkov <olegr@google.com> - - http://gcc.gnu.org/ml/gcc-patches/2008-02/msg01236.html - - * tree-ssa-copyrename.c: Include gimple.h - Tuplify. - * tree-ssa.c (warn_uninit): Pass &LOCUS to warning(). - * passes.c (init_optimization_passes): Enable - pass_early_warn_uninitialized, pass_rebuild_cgraph_edges - and pass_early_inline. - -2008-02-25 Diego Novillo <dnovillo@google.com> - - * Makefile.in (tree-ssa-copyrename.o): Add dependency on - gimple.h. - -2008-02-25 Diego Novillo <dnovillo@google.com> - - * tree-cfgcleanup.c (tree_forwarder_block_p): Revert - previous change. - -2008-02-25 Diego Novillo <dnovillo@google.com> - - http://gcc.gnu.org/ml/gcc-patches/2008-02/msg01217.html - - * tree-ssa-alias-warnings.c: Tuplify. - * cgraphunit.c (cgraph_process_new_functions): Remove - calls to gimple_unreachable. - (cgraph_expand_function): Likewise. - * omp-low.c (execute_expand_omp): Return 0 after call to - gimple_unreachable. - * tree-scalar-evolution.c (scev_const_prop): Likewise. - (execute_lower_omp): Likewise. - * tree-ssa-dse.c (execute_simple_dse): Likewise. - * tree-ssa-dom.c (tree_ssa_dominator_optimize): Likewise. - (eliminate_degenerate_phis): Likewise. - * tree-ssa-propagate.c (get_rhs): Likewise. - (valid_gimple_expression_p): Likewise. - (set_rhs): Likewise. - (fold_predicate_in): Likewise. - * tree-nrv.c (execute_return_slot_opt): Likewise. - * predict.c (tree_estimate_probability): Likewise. - * tree-parloops.c (parallelize_loops): Likewise. - * tree-if-conv.c (main_tree_if_conversion): Likewise. - * tree-ssa-phiopt.c (tree_ssa_phiopt): Likewise. - (tree_ssa_cs_elim): Likewise. - * tree-sra.c (tree_sra): Likewise. - (tree_sra_early): Likewise. - * tree-predcom.c (tree_predictive_commoning): Likewise. - * tree-ssa-copy.c (execute_copy_prop): Likewise. - * lambda-code.c (gcc_loop_to_lambda_loop): Likewise. - (perfect_nest_p): Likewise. - (can_convert_to_perfect_nest): Likewise. - (perfect_nestify): Likewise. - * tree-optimize.c (execute_fixup_cfg): Likewise. - * tree-object-size.c (compute_object_sizes): Likewise. - * tree-cfg.c (remove_useless_stmts): Likewise. - (gimple_duplicate_sese_tail): Likewise. - (move_sese_region_to_fn): Likewise. - (gimple_purge_dead_abnormal_call_edges): Likewise. - (execute_warn_function_return): Likewise. - * value-prof.c (gimple_histogram_value): Remove calls to - gimple_unreachable. - (gimple_stringop_fixed_value): Likewise. - * tree-flow-inline.h (op_iter_next_use): Likewise. - * tree-dfa.c (dump_variable): Likewise. - * tree-ssa-copy.c (may_propagate_copy): Likewise. - (may_propagate_copy_into_asm): Likewise. - (merge_alias_info): Likewise. - (replace_exp_1): Likewise. - * tree-ssa.c (delete_tree_ssa): Likewise. - * tree-cfg.c (make_edges): Likewise. - (remove_useless_stmts): Likewise. - (gimple_duplicate_sese_tail): Likewise. - (move_sese_region_to_fn): Likewise. - (gimple_purge_dead_abnormal_call_edges): Likewise. - (execute_warn_function_return): Likewise. - * passes.c (finish_optimization_passes): Likewise. - (init_optimization_passes): Likewise. - * tree-ssa-operands.c (add_call_clobber_ops): Likewise. - * tree-eh.c (lookup_expr_eh_region): New. - (tree_can_throw_external): Return false after call to - gimple_unreachable. - (maybe_clean_or_replace_eh_stmt): Re-enable. - Call stmt_could_throw_p. - * expr.c (expand_expr_real): Call lookup_expr_eh_region. - * profile.c: Tuplify. - * calls.c: Include tree-flow.h. - (emit_call_1): Call lookup_expr_eh_region. - (expand_call): Likewise. - * cfgexpand.c (gimple_to_tree): Call SET_EXPR_LOCATION on - generated expression tree T. - Set EH region number on T's annotation. - * common.opt (fgimple-conversion=): Add RejectNegative - and Joined attributes. - * tree-inline.c (unsave_r): Abort if *TP is a - STATEMENT_LIST. - (unsave_expr_now): Re-enable. - * tree-flow.h (struct tree_ann_common_d): Add field RN. - * Makefile.in (builtins.o-warn): Add -Wno-format. - (expr.o-warn): Likewise. - (fortran/check.o-warn): Likewise. - (fortran/interface.o-warn): Likewise. - (fortran/resolve.o-warn): Likewise. - (fortran/simplify.o-warn): Likewise. - (fortran/target-memory.o-warn): Likewise. - (calls.o): Add dependency on tree-flow.h - * gimple.c (gimple_build_asm_1): Call ggc_alloc_string to - copy STRING. - * gimple.h (gimple_filename): New. - (gimple_lineno): New. - * passes.c (init_optimization_passes): Disable - pass_remove_useless_stmts pass_mudflap_1, - pass_warn_function_return and pass_lower_omp. - * config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Tuplify. - (rs6000_alloc_sdmode_stack_slot): Likewise. - * tree-cfgcleanup.c (tree_forwarder_block_p): Fix test - for PHI_WANTED. - -2008-02-25 Rafael EspÃndola <espindola@google.com> - - * tree-cfgcleanup.c (tree_forwarder_block_p): fix thinko. - -2008-02-24 Rafael EspÃndola <espindola@google.com> - - * gimple-iterator.c (gsi_split_seq_before): Don't abort if at the - beginning. - -2008-02-23 Diego Novillo <dnovillo@google.com> - - http://gcc.gnu.org/ml/gcc-patches/2008-02/msg01025.html - - * gimplify.c (gimplify_one_sizepos): Call gimplify_expr with - STMT_P. - -2008-02-22 Zdenek Dvorak <ook@ucw.cz> - - * gimple.c (gimple_assign_copy_p): Do not consider unary operations - to be copies. - -2008-02-22 Diego Novillo <dnovillo@google.com> - - * Makefile.in (fortran/parse.o-warn, - fortran/simplify.o-warn): New. - -2008-02-22 Diego Novillo <dnovillo@google.com> - - http://gcc.gnu.org/ml/gcc-patches/2008-02/msg00961.html - - Revert - - 2008-02-20 Zdenek Dvorak <ook@ucw.cz> - - * tree-tailcall.c: Tuplify. - * gimplify.c (force_gimple_operand): Remove ATTRIBUTE_UNUSED. - * gimple.c (gimple_assign_copy_p): Do not - consider unary operations to be copies. - (copy_or_nop_cast_stmt_rhs): New. - * gimple.h (copy_or_nop_cast_stmt_rhs): Declare. - -2008-02-21 Rafael EspÃndola <espindola@google.com> - - * gimple.h (gimple_cond_true_p): Define. - (gimple_cond_false_p): Define. - (gimple_cond_single_var_p): Define. - -2008-02-21 Rafael EspÃndola <espindola@google.com> - - * tree-tailcall.c (adjust_accumulator_values): Check that a phi was - found. - -2008-02-21 Rafael EspÃndola <espindola@google.com> - - * tree-tailcall.c (adjust_accumulator_values): Initialize phi. - -2008-02-20 Zdenek Dvorak <ook@ucw.cz> - - * tree-tailcall.c: Tuplify. - * gimplify.c (force_gimple_operand): Remove ATTRIBUTE_UNUSED. - * gimple.c (gimple_assign_copy_p): Do not consider unary operations - to be copies. - (copy_or_nop_cast_stmt_rhs): New. - * gimple.h (copy_or_nop_cast_stmt_rhs): Declare. - -2008-02-20 Oleg Ryjkov <olegr@google.com> - - * gimplify.c (gimplify_expr): Save locus into the right - sequence. - -2008-02-20 Rafael EspÃndola <espindola@google.com> - - * passes.c (init_optimization_passes): Enable pass_mark_used_blocks - and pass_cleanup_cfg_post_optimizing. - * tree-optimize.c (execute_cleanup_cfg_post_optimizing): call cleanup_tree_cfg. - -2008-02-20 Rafael EspÃndola <espindola@google.com> - - * passes.c (init_optimization_passes): Enable pass_nrv. - * tree-nrv.c (finalize_nrv_r): data is now a walk_stmt_info. - (tree_nrv): port to gimple. - -2008-02-19 Oleg Ryjkov <olegr@google.com> - - * gimple-pretty-print.c: Introduce support for TDF_RAW - flag. - (dump_gimple_fmt): New function. - (dump_gimple_assign, dump_gimple_return): Update to print - RAW gimple. - (dump_gimple_call_args): New function. - (dump_gimple_call, dump_gimple_switch, dump_gimple_cond, - dump_gimple_label, dump_gimple_bind, dump_gimple_try): - Update to print RAW gimple. - (dump_gimple_catch, dump_gimple_eh_filter, - dump_gimple_resx): New functions. - (dump_gimple_omp_for, dump_gimple_asm, dump_gimple_phi): - Update to print RAW gimple. - (dump_gimple_omp_parallel, dump_gimple_omp_atomic_load, - dump_gimple_omp_atomic_store): New, code moved from - dump_gimple_stmt, then added support to print RAW gimple. - (gimple_dump_stmt): Some code refactored into helper - subroutines. - * tree-cfg.c(dump_function_to_file): Print RAW gimple when - TDF_RAW is set. - -2008-02-19 Diego Novillo <dnovillo@google.com> - - http://gcc.gnu.org/ml/gcc-patches/2008-02/msg00793.html - - * tree-complex.c (expand_complex_div_wide): Call gsi_bb. - * tree.h (std_gimplify_va_arg_expr): Change gimple_seq - arguments to gimple_seq *. - Update all users. - (gimplify_parameters): Change return type to gimple_seq. - Update all users. - * target.h (struct gcc_target)<gimplify_va_arg_expr>: - Change gimple_seq arguments to gimple_seq *. - Update all users. - * tree-phinodes.c (free_phinodes): Convert to VEC. - Update all users. - * omp-low.c (lower_rec_input_clauses): Change gimple_seq - arguments to gimple_seq *. Update all users. - (lower_reduction_clauses): Convert sub_list to - gimple_seq. - (lower_regimplify): Convert PRE to gimple_seq. - (lower_regimplify): Call gimple_seq_insert_before instead - of tsi_link_before. - * tree-gimple.h (get_initialized_tmp_var, - get_formal_tmp_var, gimplify_expr, gimplify_type_sizes, - gimplify_one_sizepos, gimplify_stmt, gimplify_and_add, - gimplify_va_arg_expr): Change gimple_seq arguments to - gimple_seq *. Update all users. - * gimple-iterator.c: Include value-prof.h. - (gsi_link_seq_before): Remove. Update all users. - (gsi_link_seq_after): Remove. Update all users. - (gsi_link_after): Remove. Update all users. - (gsi_link_before): Remove. Update all users. - (update_bb_for_stmts): New. - (gsi_insert_seq_nodes_before): New. - (gsi_insert_seq_nodes_after): New. - (gsi_insert_seq_before): Re-write. Call - gsi_insert_seq_nodes_before. - (gsi_insert_seq_after): Re-write. Call - gsi_insert_seq_nodes_after. - (gsi_replace): Re-enable EH updating. - (update_modified_stmt): Move earlier in the file. - (gsi_insert_after): Re-write. Call - gsi_insert_seq_nodes_after. - (gsi_insert_before): Re-write. Call - gsi_insert_seq_nodes_before. - (gsi_remove): Move from gimple.h. Re-write. - * langhooks.h (struct lang_hooks): Change gimple_seq - arguments for gimplify_expr to gimple_seq *. - Update all users. - * coretypes.h (struct gimple_seq_d): Rename from struct - gimple_sequence. Update all users. - (struct gimple_seq_node_d): New. - (gimple_seq_node): New. - (const_gimple_seq_node): New. - * tree-flow.h (force_gimple_operand): Change gimple_seq - argument to gimple_seq *. Update all users. - * c-common.h (c_gimplify_expr): Change gimple_seq - argument to gimple_seq *. Update all users. - * Makefile.in (build): - * gimple.c (gimple_seq_cache): New. - (gimple_seq_alloc): Take sequences from gimple_seq_cache, - if possible. - (gimple_seq_free): New. - (gimple_seq_add_stmt): Rename from gimple_seq_add. - Change gimple_seq argument to gimple_seq *. Update all users. - (gimple_seq_add_seq): Rename from gimple_seq_append. - Update all users. - (gimple_remove): Remove. Update all users. - (gimple_seq_reverse): Remove unused function. - (gimple_set_bb): Only update block-to-labels map if - CFUN->CFG exists. - * gimple.h (struct gimple_seq_node_d): New. - (struct gimple_seq_d): Change fields 'first' and 'last' - to type gimple_seq_node. Update all users. - Add field 'next_free'. - (gimple_seq_first): Change return type to - gimple_seq_node. Update all users. - (gimple_seq_first_stmt): New. - (gimple_seq_last): Change return type to gimple_seq_node. - Update all users. - (gimple_seq_last_stmt): New. - (gimple_seq_set_first): Change second argument to type - gimple_seq_node. Update all users. - (gimple_seq_set_last): Change second argument to type - gimple_seq_node. Update all users. - (gimple_seq_init): Remove. Update all users. - (struct gimple_statement_base): Remove field 'next' and - 'prev'. Update all users. - (struct gimple_statement_omp): Change fields of type - struct gimple_sequence to type gimple_seq. Update all - users. - (struct gimple_statement_bind): Likewise. - (struct gimple_statement_catch): Likewise. - (struct gimple_statement_eh_filter): Likewise. - (struct gimple_statement_try): Likewise. - (struct gimple_statement_wce): Likewise. - (struct gimple_statement_omp_for): Likewise. - (gimple_set_prev): Remove. Update all users. - (gimple_set_next): Remove. Update all users. - (gimple_next): Remove. Update all users. - (gimple_prev): Remove. Update all users. - (gimple_seq_bb): New. - (gimple_catch_handler_ptr): New. - (gimple_stmt_iterator): Remove field 'stmt'. - Add field 'ptr'. Update all users. - (gsi_remove): Move to gimple-iterator.c - * tree-cfg.c (pass_build_cfg): Re-enable PROP_gimple_leh. - * Makefile.in (builtins.o-warn, expr.o-warn, dse.o-warn, - ebitmap.o-warn, lower-subreg.o-warn, tree-chrec.o-warn): - Change -Wno-error to -Wno-uninitialized. - -2008-02-19 Rafael EspÃndola <espindola@google.com> - - * tree-eh.c (collect_finally_tree): handle GIMPLE_SWITCH. - -2008-02-19 Aldy Hernandez <aldyh@redhat.com> - - * gimple.h (gimple_cond_invert): Remove prototype. - (update_stmt_if_modified): Fix typo in comment. - * gimple.c (walk_gimple_asm): Fix typo in comment. - -2008-02-13 Bill Maddox <maddox@google.com> - - * tree-inline.c (estimate_operator_cost): - Removed operators superseded by tuplified statement forms. - Small cosmetic reordering of a few switch cases. - -2008-02-13 Oleg Ryjkov <olegr@google.com> - - * tree.h: New function declaration. - * gimple-dummy.c (tree_inlinable_function_p): Removed. - * ipa-inline.c (compute_inline_parameters): Removed - gcc_unreachable (). - * calls.c (gimple_alloca_call_p): New function. - * tree-inline.c (inline_forbidden_p_1): Split in two and removed. - (inline_forbidden_p_op, inline_forbidden_p_stmt): New functions. - (inline_forbidden_p): Tuplified. - (estimate_operator_cost): Added missing cases. - * passes.c (init_optimization_passes): Enabled pass_inline_parameters, - pass_ipa_function_and_variable_visibility, pass_ipa_early_inline, - pass_inline_parameters, pass_rebuild_cgraph_edges passes. - -2008-02-13 Diego Novillo <dnovillo@google.com> - - http://gcc.gnu.org/ml/gcc-patches/2008-02/msg00459.html - - * gimple.def (GIMPLE_TRY): Tidy comment. - * gimple-pretty-print.c (dump_gimple_stmt): Handle TDF_VOPS and - TDF_MEMSYMS. - -2008-02-13 Diego Novillo <dnovillo@google.com> - - http://gcc.gnu.org/ml/gcc-patches/2008-02/msg00455.html - - * tree-complex.c (update_complex_components): Handle - GIMPLE_CALL and GIMPLE_ASSIGN. - (expand_complex_libcall): Set SSA_NAME_DEF_STMT on LHS. - * tree-ssa-operands.c (maybe_add_call_clobbered_vops): - Rename from get_call_expr_operands. Update all users. - Convert to handle GIMPLE_CALL instead of CALL_EXPR. - (get_modify_stmt_operands): Remove. Update all users. - (get_expr_operands): Do not handle CALL_EXPR, COND_EXPR, - VEC_COND_EXPR, GIMPLE_MODIFY_STMT, BLOCK, EXC_PTR_EXPR - and FILTER_EXPR. - (parse_ssa_operands): Call maybe_add_call_clobbered_vops - after parsing operands if STMT is a GIMPLE_CALL. - -2008-02-12 Zdenek Dvorak <ook@ucw.cz> - Bill Maddox <maddox@google.com> - - http://gcc.gnu.org/ml/gcc-patches/2008-02/msg00429.html - - * tree-inline.h (estimate_num_insns_fn): Declare. - * cgraphunit.c (cgraph_process_new_functions): - Use estimate_num_insns_fn. - * ipa-inline.c (compute_inline_parameters): Ditto. - * gimple-dummy.c (estimate_move_cost, estimate_num_insns): - Removed. - * tree-inline.c (struct eni_data, estimate_num_insns_1): - Removed. - (estimate_num_insns): Rewritten. - (operation_cost, estimate_num_insns_fn): New functions. - * gimple.c (gimple_copy): Unshare operands. Update - operand caches. - * gimple.h (gimple_set_no_warning): New. - (gimple_cond_set_true_label, gimple_cond_set_false_label): - Allow setting the label to NULL. - * tree-ssa-operands.c (copy_virtual_operands): Handle statements - without virtual operands. - -2008-02-12 Zdenek Dvorak <ook@ucw.cz> - - http://gcc.gnu.org/ml/gcc-patches/2008-02/msg00429.html - - * tree-into-ssa.c (update_ssa): Remove ATTRIBUTE_UNUSED. - * tree-ssa-loop-ch.c: Tuplified. - * gimple-iterator.c (gsi_commit_one_edge_insert): Ditto. - * tree-cfg.c (gimple_redirect_edge_and_branch, - gimple_try_redirect_by_replacing_jump, gimple_merge_blocks, - gimple_block_label, gimple_redirect_edge_and_branch_force, - gimple_duplicate_bb): Ditto. - (make_cond_expr_edges): Remove the labels. - (cleanup_dead_labels): Handle conditions without labels. - (gimple_make_forwarder_block): Do not reverse the list - of phi nodes. - (gimple_duplicate_sese_region): Enable ssa updates. - (gimple_cfg_hooks): Enable edge redirection and bb duplication. - * gimple-pretty-print.c (dump_gimple_cond): Do not dump - branches if labels are null. - (dump_implicit_edges): Dump implicit GIMPLE_COND edges. - -2008-02-12 Diego Novillo <dnovillo@google.com> - - http://gcc.gnu.org/ml/gcc-patches/2008-02/msg00429.html - - * tree-vrp.c (range_includes_zero_p): Partially re-enable. - (ssa_name_nonnegative_p): Partially re-enable. - (ssa_name_nonzero_p): Likewise. - * gimple-dummy.c (ssa_name_nonzero_p): Remove. - (ssa_name_nonnegative_p): Remove. - * tree-cfg.c (gimple_split_block): Convert to tuples. - -2008-02-12 Aldy Hernandez <aldyh@redhat.com> - - Merge with mainline @132177 - - * configure.ac (ACX_PKGVERSION): Update revision merge string. - * configure: Regenerate. - -2008-02-08 Diego Novillo <dnovillo@google.com> - - http://gcc.gnu.org/ml/gcc-patches/2008-02/msg00273.html - - * gimplify.c (gimplify_call_expr): Remove code to set - TREE_SIDE_EFFECTS. - * gimple.c (gimple_has_side_effects): New. - * gimple.h (gimple_has_side_effects): Declare. - * tree-cfg.c (stmt_can_make_abnormal_goto): Call. - -2008-02-07 Diego Novillo <dnovillo@google.com> - - * gimple.h (gimple_call_num_args): Rename from - gimple_call_nargs. Update all users. - -2008-02-07 Aldy Hernandez <aldyh@redhat.com> - - * gimplify.c: Remove various FIXMEs that have been resolved. - -2008-02-06 Aldy Hernandez <aldyh@redhat.com> - - * gimple.def: Add GIMPLE_OMP_ATOMIC_{LOAD,STORE} entires. - * gsstruct.def: Add GSS_OMP_ATOMIC_{LOAD,STORE} entries. - * gimple-pretty-print.c (dump_gimple_stmt): Add case for - GIMPLE_OMP_ATOMIC_{LOAD,STORE}. - * gimplify.c (gimplify_omp_atomic): Enable and convert to tuples. - * tree.def: Add FIXME notes. - * gimple.c (gss_for_code): Add cases for - GIMPLE_OMP_ATOMIC_{LOAD,STORE}. - (gimple_size): Same. - (gimple_build_omp_atomic_load): New. - (gimple_build_omp_atomic_store): New. - * gimple.h (struct gimple_statement_omp_atomic_{load,store}): New. - (union gimple_statement_d): Add gimple_omp_atomic_{load,store}. - (gimple_omp_atomic_store_set_val): New. - (gimple_omp_atomic_store_val): New. - (gimple_omp_atomic_load_set_lhs): New. - (gimple_omp_atomic_load_lhs): New. - (gimple_omp_atomic_load_set_rhs): New. - (gimple_omp_atomic_load_rhs): New. - * tree-cfg.c (verify_types_in_gimple_seq_2): Add cases for - GIMPLE_OMP_ATOMIC_{LOAD,STORE}. - -2008-02-05 Diego Novillo <dnovillo@google.com> - - http://gcc.gnu.org/ml/gcc-patches/2008-02/msg00161.html - - * gimple-iterator.c (gsi_split_seq_after): Change - argument type to gimple_stmt_iterator. Update all users. - (gsi_for_stmt): Return gimple_stmt_iterator. Update all users. - (gimple_find_edge_insert_loc): Change GSI argument to - gimple_stmt_iterator. Update all users. - * gimple.c (gimple_seq_deep_copy): Change argument to gimple_seq. - Update all users. - * gimple.h (gsi_alloc): Remove. Update all users. - (gsi_start): Return gimple_stmt_iterator. Update all users. - (gsi_start_bb): Likewise. - (gsi_last): Likewise. - (gsi_last_bb): Likewise. - (gsi_end_p): Change argument to gimple_stmt_iterator. - Update all users. - (gsi_one_before_end_p): Likewise. - (gsi_stmt): Likewise. - (gsi_bb): Likewise. - (gsi_seq): Likewise. - (gsi_split_seq_after): Likewise. - (gsi_for_stmt): Likewise. - (gsi_after_labels): Return gimple_stmt_iterator. Update all users. - -2008-02-05 Aldy Hernandez <aldyh@redhat.com> - - * gimple-pretty-print.c (dump_gimple_stmt): Print clauses for - GIMPLE_OMP_PARALLEL. - Handle GIMPLE_OMP_FOR. - (dump_gimple_omp_for): New. - * tree-pretty-print.c (dump_omp_clauses): Remove static. - * diagnostic.h (dump_omp_clauses): Add prototype. - * gimplify.c (gimplify_omp_for): Convert to tuples and enable. - (gimplify_omp_workshare): Same. - (gimplify_expr) [OMP_MASTER, OMP_ORDERED, OMP_CRITICAL]: Same. - -2008-02-04 Oleg Ryjkov <olegr@google.com> - - * tree-gimple.c (get_gimple_rhs_class): Handle - FILTER_EXPR. - * tree-eh.c (union treemple): Declare. - Convert to tuples. - * except.c: - * except.h (lang_protect_cleanup_actions): Change return - type to 'gimple'. Update all users. - * tree-inline.c (count_insns_seq): New. - * tree-inline.h (count_insns_seq): Declare. - * gimple.c (gimple_seq_deep_copy): New. - * gimple.h (gimple_seq_deep_copy): Declare. - (gimple_singleton_p): New. - * passes.c (init_optimization_passes): Enable - pass_lower_eh. - -2008-02-02 Aldy Hernandez <aldyh@redhat.com> - - * tree.h (OMP_CLAUSE_REDUCTION_GIMPLE_INIT): New. - (OMP_CLAUSE_REDUCTION_GIMPLE_MERGE): New. - (struct tree_omp_clause): Add gimple_reduction_{init,merge} fields. - * gimplify.c (gimplify_scan_omp_clauses): Gimplify reduction - init/merge fields into separate sequences. - (gimplify_and_add): Use gimplify_expr directly. - * omp-low.c (lower_rec_input_clauses): Extract reduction info from - gimple tuples in structure. - (lower_reduction_clauses): Same. - -2008-02-01 Diego Novillo <dnovillo@google.com> - - http://gcc.gnu.org/ml/gcc-patches/2008-02/msg00036.html - - * tree-complex.c (expand_complex_comparison): Set the RHS - of the new comparison to boolean_true_node. - * gimplify.c (gimplify_call_expr): Fix creation of new - GIMPLE_CALL. Create the vector of arguments in the same - order as the original expression. - -2008-02-01 Diego Novillo <dnovillo@google.com> - - http://gcc.gnu.org/ml/gcc-patches/2008-02/msg00032.html - - * tree-pas.h (struct tree_opt_pass): Remove field - WORKS_WITH_TUPLES_P. Adjust all users. - * opts.c (decode_options): Force -O0. - * cfgexpand.c (gimple_to_tree): Handle GIMPLE_RETURN, - GIMPLE_ASM, GIMPLE_CALL and GIMPLE_SWITCH. - Show unrecognized tuple when failing. - (expand_gimple_basic_block): Do not use - gimple_stmt_iterator to go through the statements in BB. - Handle GIMPLE_CALL instead of CALL_EXPR. - (gimple_expand_cfg): Rename from tree_expand_cfg. Update - all users. - Remove PROP_gimple_leh. - * gimple.c (walk_gimple_seq): Guard against WI == NULL. - * tree-cfg.c (execute_warn_function_return): Move #if 0 - markers. - * passes.c (init_optimization_passes): Adjust #if 0 - markers to execute pass_expand. - Guard more passes under #if 0. - -2008-02-01 Rafael EspÃndola <espindola@google.com> - - * passes.c (init_optimization_passes): Enable pass_del_ssa. - - * tree-outof-ssa.c (insert_copy_on_edge): Port to tuples. - (eliminate_build): Likewise. - (eliminate_virtual_phis): Likewise. - (rewrite_trees): Likewise. Remove stmt_ann_t ann. - (stmt_list): Changed from tree to gimple_seq. - (identical_copies_p): Port to tuples. - (identical_stmt_lists_p): Likewise. - (init_analyze_edges_for_bb): Likewise. - (fini_analyze_edges_for_bb): Likewise. - (process_single_block_loop_latch): Likewise. - (analyze_edges_for_bb): LIkewise. - (remove_ssa_form): Likewise. - (insert_backedge_copies): - (rewrite_out_of_ssa):Likewise. - (pass_del_ssa): flip works_with_tuples_p. Don't require PROP_alias. - - * tree-ssa-coalesce.c (build_ssa_conflict_graph): Port to tuples. - (abnormal_corrupt): Port to tuples. - (fail_abnormal_edge_coalesce): Port to tuples. - (create_outofssa_var_map):Port to tuples. - (coalesce_partitions): Port to tuples. - -2008-02-01 Rafael EspÃndola <espindola@google.com> - - * tree-ssa-operands.c (free_stmt_operands): Only free - with_ops.addresses_taken if stmt has ops. - -2008-01-31 Rafael EspÃndola <espindola@google.com> - - * tree-optimize.c (pass_free_cfg_annotations): Flip - works_with_tuples_p. - * passes.c (init_optimization_passes): Enable - pass_free_cfg_annotations. - -2008-01-30 Diego Novillo <dnovillo@google.com> - - http://gcc.gnu.org/ml/gcc-patches/2008-01/msg01461.html - - * tree-into-ssa.c (compute_global_livein): Initialize - PHI with call to gsi_stmt. - (rewrite_update_init_block): Likewise. - * tree-complex.c (expand_complex_comparison): Initialize - TYPE. - (expand_complex_operations_1): Initialize BR and BI. - * ebitmap.h (ebitmap_iter_init): Initialize OURN. - * Makefile.in (dse.o-warn, ebitmap.o-warn, - lower-subreg.o-warn, tree-chrec.o-warn, varasm.o-warn): - New. - -2008-01-30 Rafael EspÃndola <espindola@google.com> - - * gimplify.c (gimplify_scan_omp_clauses): Comment out - pop_gimplify_context calls - -2008-01-30 Rafael EspÃndola <espindola@google.com> - - * gimple.h (gsi_after_labels): Add. - -2008-01-30 Rafael EspÃndola <espindola@google.com> - - * Makefile.in (tree-complex.o): Uncomment gt-tree-vect-generic.h. - (GTFILES): Add tree-vect-generic.c. - * passes.c (init_optimization_passes): Enable pass_lower_vector. - * tree-vect-generic.c: uncomment all the file. - (elem_op_func): Use gimple_stmt_iterator instead of - block_stmt_iterator. - (tree_vec_extract): Likewise. Rename bsi to gsi. - (do_unop): Likewise. - (do_binop): Likewise. - (do_plus_minus): Likewise. - (do_negate): Likewise. - (expand_vector_piecewise): Likewise. - (expand_vector_parallel): Likewise. - (expand_vector_addition): Likewise. - (expand_vector_operation): Likewise. Remove "tree rhs" param. Add - "gimple assign" param. Use gimple_assign_rhs1|2 instead of - TREE_OPERAND. - (expand_vector_operations_1): Use gimple_stmt_iterator instead of - block_stmt_iterator. Rename bsi to gsi. Use gsi_stmt instead of - bsi_stmt. Use gimple_assign_* instead of GIMPLE_STMT_OPERAND. Use - gimple_assign_set_rhs_from_tree instead of setting *p_rhs. - (gate_expand_vector_operations): Use gimple_stmt_iterator instead - of block_stmt_iterator. Use gsi_* instead of bsi_* - (pass_lower_vector): flip works_with_tuples_p - (pass_lower_vector_ssa) flip works_with_tuples_ - -2008-01-29 Rafael EspÃndola <espindola@google.com> - - http://gcc.gnu.org/ml/gcc-patches/2008-01/msg01434.html - - * gimple.c (gimple_assign_set_rhs_with_ops): Fix - allocation of operand vector. - -2008-01-29 Diego Novillo <dnovillo@google.com> - - http://gcc.gnu.org/ml/gcc-patches/2008-01/msg01434.html - - * tree-into-ssa.c (prepare_block_for_update): Initialize - PHI. - * tree.c (build_gimple_modify_stmt): Fix documentation. - - * tree-complex.c: Convert to tuples. - (pass_lower_complex_O0): Re-enable. - - * ipa-cp.c (constant_val_insert): Disable. - * tree-gimple.c (get_gimple_rhs_class): Handle SSA_NAME. - - * tree-ssa-propagate.c: Fix documentation to refer to - prop_simulate_again_p. - (add_ssa_edge): Call prop_simulate_again_p. - (simulate_stmt): Likewise. - (simulate_block): Fix loop iterating over PHI nodes. - * tree-ssa-propagate.h (prop_set_simulate_again): New. - (prop_simulate_again_p): New. - * gimple-iterator.c (gsi_insert_seq_after): Re-write to - avoid use of gimple_stmt_iterator. - (gimple_find_edge_insert_loc): Move from tree-cfg.c. - Re-enable. - (gsi_commit_edge_inserts): Likewise. - (gsi_commit_one_edge_insert): Likewise. - (gsi_insert_on_edge): Likewise. - (gsi_insert_on_edge_immediate): Likewise. - (gsi_insert_seq_on_edge): New. - * gimplify.c (gimplify_cond_expr): Call - gimple_cond_get_ops_from_tree. - * tree-optimize.c (pass_all_optimizations): Enable. - * gimple.c (gimple_cond_get_ops_from_tree): New. - (gimple_build_cond_from_tree): New. - * basic-block.h (struct edge_def): Replace field - edge_def_insns.t with gimple_seq edge_def_insns.g. - Update all users. - * gimple.h (gimple_stmt_iterator): - * tree-cfg.c (change_bb_for_stmt): - * passes.c (init_optimization_passes): Move #if0 around - to disable passes in groups instead of individually. - (execute_function_todo): Re-enable call to update_ssa. - -2008-01-25 Aldy Hernandez <aldyh@redhat.com> - - * gimple-pretty-print.c (dump_gimple_stmt): Handle - GIMPLE_OMP_PARALLEL. - * gimplify.c (pop_gimplify_context): Add comment. - (gimplify_and_return_first): New. - (gimplify_scan_omp_clauses): Remove unused 'gs'. - Remove #if 0. - (gimplify_omp_parallel): Convert to tuples. - (gimplify_omp_workshare): Remove redundant retval. - (gimplify_expr): Adapt to lack of retval for gimplify_omp_variable and - gimplify_omp_workshare. - Abort on OMP_ATOMIC_{LOAD,STORE} case. - -2008-01-21 Diego Novillo <dnovillo@google.com> - - Merge with mainline @131695 - - * configure.ac (ACX_PKGVERSION): Update revision merge - string. - * configure: Regenerate. - -2008-01-15 Diego Novillo <dnovillo@google.com> - - http://gcc.gnu.org/ml/gcc-patches/2008-01/msg00674.html - - * tree-into-ssa.c (mark_def_sites): Force operand scan. - * gimple.def (GIMPLE_ASSIGN): Move into section of - statements with memory operands. - * gimple-dummy.c (remove_unused_locals): Remove. - * tree-flow-inline.h (noreturn_call_p, - mark_stmt_modified, update_stmt, update_stmt_if_modified, - stmt_modified_p): Remove. - * tree-ssa-live.c: Convert to tuples. - * gimple.c (gimple_set_modified): Replace - mark_stmt_modified. Update all callers. - (gimple_remove): Call free_stmt_operands. - * gimple.h: Include tree-ssa-operands.h - Move extern function declarations earlier in the file. - (GIMPLE_CHECK2): Remove. - (GIMPLE_RANGE_CHECK): Remove. - (struct gimple_statement_with_ops): Fix GTY markers. - (struct gimple_statement_with_memory_ops): Likewise. - (gimple_modified_p): Replace stmt_modifed_p. Update all - users. - (update_stmt): Move from tree-flow-inline.h. Update all - users. - (update_stmt_if_modified): Likewise. - (gimple_has_ops): Use range GIMPLE_COND ... GIMPLE_RETURN - (gimple_has_mem_ops): Use range GIMPLE_ASSIGN ... GIMPLE_RETURN - (gimple_num_ops): Call gimple_has_ops. - (gimple_ops): Likewise. - (gimple_op): Likewise. - (gimple_op_ptr): Likewise. - (gimple_set_op): Likewise. - (gimple_set_addresses_taken): Remove. Update all users. - (gimple_add_to_addresses_taken): Likewise. - (gimple_call_noreturn_p): Replace noreturn_call_p. - Update all users. - (gimple_phi_arg): Assert that INDEX is smaller than - CAPACITY. - * passes.c (init_optimization_passes): Enable - pass_referenced_vars, pass_reset_cc_flags and pass_build_ssa. - * tree-ssa-operands.c (gimple_set_stored_syms): Do not - free the STORES field if SYMS is empty. - (gimple_set_loaded_syms): Likewise. - (finalize_ssa_stmt_operands): Only call - finalize_ssa_vdefs and finalize_ssa_vuses if STMT has - memory operands. - (get_expr_operands): Handle CASE_LABEL_EXPR. - (free_stmt_operands): Free bitmaps ADDRESSES_TAKEN, - STORES and LOADS. - (gimple_add_to_addresses_taken): Rename from - add_to_addressable_set. - -2008-01-14 Aldy Hernandez <aldyh@redhat.com> - - * tree-dfa.c (dump_dfa_stats): Add %z modifier to size_t argument. - -2008-01-11 Andrew MacLeod <amacleod@redhat.com> - Diego Novillo <dnovillo@google.com> - - http://gcc.gnu.org/ml/gcc-patches/2008-01/msg00493.html - - * tree.h (struct ssa_use_operand_d): Replace field STMT - with a union field LOC containing the fields STMT and - SSA_NAME. - Update all users. - * tree-flow.h (struct immediate_use_iterator_d): Document - how immediate use iteration works. - -2008-01-10 Diego Novillo <dnovillo@google.com> - - http://gcc.gnu.org/ml/gcc-patches/2008-01/msg00444.html - - * Makefile.in (tree-complex.o): Remove gt-tree-vect-generic.h - -2008-01-10 Diego Novillo <dnovillo@google.com> - - http://gcc.gnu.org/ml/gcc-patches/2008-01/msg00436.html - - * tree-ssa-operands.h (PHI_RESULT_PTR): Call - gimple_phi_result_ptr. - (PHI_ARG_DEF_PTR): Call gimple_phi_arg_imm_use_ptr. - (free_ssa_operands): Remove. - (copy_virtual_operands, create_ssa_artificial_load_stmt, - add_to_addressable_set, discard_stmt_changes, - FOR_EACH_PHI_OR_STMT_USE, FOR_EACH_PHI_OR_STMT_DEF): Convert - to use 'gimple'. - * tree-into-ssa.c: Convert to use 'gimple'. - (rewrite_uses_p): New. Use instead of REWRITE_THIS_STMT. - (set_rewrite_uses): New. Use instead of REWRITE_THIS_STMT. - (register_defs_p): New. Use instead of - REGISTER_DEFS_IN_THIS_STMT. - (set_register_defs): New. Use instead of - REGISTER_DEFS_IN_THIS_STMT. - (REWRITE_THIS_STMT): Remove. - (REGISTER_DEFS_IN_THIS_STMT): Remove. - * tree-pretty-print.c (dump_vops): Remove. Update all - users. - (dump_generic_node): Do not handle PHI_NODE. - * tree.c (tree_node_kind): Remove "phi_nodes" entry. - (tree_code_size): Do not handle PHI_NODE. - (tree_size): Likewise. - (make_node_stat): Likewise. - (tree_node_structure): Likewise. - (phi_node_elt_check_failed): Remove. - * tree.h (PHI_NODE_ELT_CHECK): Remove. - (PHI_RESULT_TREE): Remove. - (PHI_ARG_DEF_TREE): Remove. - (PHI_CHAIN): Remove. - (PHI_NUM_ARGS): Remove. - (PHI_ARG_CAPACITY): Remove. - (PHI_ARG_ELT): Remove. - (PHI_ARG_EDGE): Remove. - (PHI_BB): Remove. - (PHI_ARG_IMM_USE_NODE): Remove. - (struct tree_phi_node): Remove. - (union tree_node): Remove field 'phi'. - (release_phi_node): Change argument to gimple. - (duplicate_ssa_name): Change second argument to gimple. - (swap_tree_operands): Remove. - (enum tree_node_kind): Remove phi_kind entry. - * tree-phinodes.c: Convert to use gimple. - * tree-gimple.c (is_gimple_stmt): Do not handle PHI_NODE. - * cgraphunit.c (cgraph_process_new_functions): Call - gimple_unreachable to mark unconverted sections. - (verify_cgraph_node): Do not ICE if THIS_CFUN is NULL. - Convert statement verification to use gimple. - (cgraph_expand_function): Call gimple_unreachable to mark - unconverted sections. - * tree-ssa-propagate.c: Convert to use gimple. - (STMT_IN_SSA_EDGE_WORKLIST): Use flag GF_PLF_1 as marker. - (DONT_SIMULATE_AGAIN): Remove. Use gimple_visited. - * gimple-dummy.c: Remove converted functions. - * tree-ssa-alias.c (may_be_aliased): Re-enable. - * tree-flow-inline.h (gimple_phi_arg_imm_use_ptr): Rename - from get_phi_arg_def_ptr. - (bsi_start, bsi_after_labels, bsi_last, bsi_end_p, - bsi_next, bsi_prev, bsi_stmt, bsi_stmt_ptr): Remove. - * tree.def (PHI_NODE): Remove. Update most users. - * tree-dfa.c: Convert to use gimple. - * common.opt (fgimple-conversion): Default to 0. - * tree-ssa.c: Convert to use gimple. - * tree-optimize.c (pass_early_local_passes, - pass_all_early_optimization, pass_init_datastructures): - Enable. - * tree-flow.h (tree_ann_type): Remove STMT_ANN. Update - all users. - (struct stmt_ann_d): Remove. Update all users. - * Makefile.in (GIMPLE_H): Add tree-ssa-operands.h. - (tree-ssa-copy.o, tree-phi-nodes.o, tree-complex.o): - Re-enable. - * gimple.h (enum plf_mask): Define. - (GF_NO_WARNING): Remove - (bb_seq): Return NULL if BB->il.gimple is NULL. - (struct gimple_statement_base): Add bitfields no_warning, - visited, unused_1, unused_2, unused_3, unused_4 and plf. - (gimple_flags, gimple_set_flags, gimple_add_flag): - Remove. Update all users. - (gimple_set_visited): New. - (gimple_visited_p): New. - (gimple_set_plf): New. - (gimple_plf): New. - (gimple_has_volatile_ops): New. - (gimple_set_has_volatile_ops): New. - (gimple_addresses_taken): New. - (gimple_set_addresses_taken): New. - (gimple_add_to_addresses_taken): New. - (gimple_phi_result_ptr): New. - (gsi_stmt_ptr): New. - (gsi_bb): New. - (gsi_seq): New. - * tree-cfg.c (execute_build_cfg): Do not call - gimple_set_body after building the CFG. - (pass_build_cfg): Do not require PROP_gimple_leh. - (gimplify_val): Convert to gimple. - * passes.c (init_optimization_passes): Disable all of - pass_all_early_optimizations. - * tree-ssanames.c: Convert to gimple. - * tree-ssa-operands.c: Convert to gimple. - (gimple_set_stored_syms): New. - (gimple_set_loaded_syms): New. - -2008-01-03 Diego Novillo <dnovillo@google.com> - - Merge with mainline @131303 - - * configure.ac (ACX_PKGVERSION): Update revision merge - string. - * configure: Regenerate. - -2007-12-20 Diego Novillo <dnovillo@google.com> - - * Makefile.in (builtins.o-warn, expr.o-warn): Add - -Wno-error. - -2007-12-05 Diego Novillo <dnovillo@google.com> - - http://gcc.gnu.org/ml/gcc-patches/2007-12/msg00221.html - - * gimple.c (walk_gimple_asm): Guard against WI being - NULL. - (walk_gimple_stmt): Likewise. - -2007-12-05 Diego Novillo <dnovillo@google.com> - - http://gcc.gnu.org/ml/gcc-patches/2007-12/msg00216.html - - * tree.h (gimple_unreachable_1): Declare. - (gimple_unreachable): Define. - Replace calls to gcc_unreachable with gimple_unreachable - in unconverted code. - * gimple-dummy.c (gimple_unreachable_1): New function. - * common.opt (fgimple-only): Remove. - (fgimple-conversion): Define. - * Makefile.in (STRICT_WARN): Add -Wno-return-type. - -2007-11-30 Diego Novillo <dnovillo@google.com> - - Merge with mainline @130470 - - * configure.ac (ACX_PKGVERSION): Update revision merge - string. - * configure: Regenerate. - * tree-inline.c (copy_decl_no_change, - copy_decl_for_dup_finish): Re-enable. - -2007-11-26 Aldy Hernandez <aldyh@redhat.com> - - * gimple.h (gimple_bind_block): Update comment. - -2007-11-19 Diego Novillo <dnovillo@google.com> - - Merge with mainline @130291. - - * configure.ac (ACX_PKGVERSION): Update revision merge string. - * configure: Regenerate. - -2007-11-19 Diego Novillo <dnovillo@google.com> - - * tree-flow-inline.h (get_lineno): Call IS_LOCATION_EMPTY - and LOCATION_LINE instead of accessing location fields - directly. - * gimple-low.c (lower_function_body): Use - UNKNOWN_LOCATION instead of unknown_location. - -2007-11-16 Diego Novillo <dnovillo@google.com> - - * cgraph.c (cgraph_create_edge): Call gimple_body - instead of DECL_SAVED_TREE. - (dump_cgraph_node): Likewise. - * cgraphunit.c (verify_cgraph_node): Likewise. - (cgraph_analyze_functions): Likewise. - (cgraph_mark_functions_to_output): Likewise. - (cgraph_optimize): Likewise. - * tree-eh.c (lower_eh_constructs): Add notes for future - changes to calls to DECL_SAVED_TREE. - (refactor_eh_r): Likewise. - * cfgexpand.c (gimple_to_tree): New function. - (maybe_dump_rtl_for_gimple_stmt): Rename from - maybe_dump_rtl_for_tree_stmt. Convert to tuples. - (label_rtx_for_bb): Convert to tuples. - (expand_gimple_cond): Rename from - expand_gimple_cond_expr. Convert to tuples. - (expand_gimple_tailcall): Convert to tuples. - (expand_gimple_basic_block): Convert to tuples. - (discover_nonconstant_array_refs_r): Convert to tuples. - (discover_nonconstant_array_refs): Convert to tuples. - * tree-mudflap.c (execute_mudflap_function_decls): Add - deprecation comment for DECL_SAVED_TREE call. - * tree-inline.c (copy_generic_body): Call gimple_body - instead of DECL_SAVED_TREE. - (inlinable_function_p): Likewise. - (clone_body): Add deprecation comment for DECL_SAVED_TREE - call. - * tree-cfg.c (remove_useless_stmts_bind): Call - gimple_body instead of DECL_SAVED_TREE. - (remove_useless_stmts): Likewise. - -2007-11-10 Aldy Hernandez <aldyh@redhat.com> - - * tree-cfg.c (verify_types_in_gimple_call): OBJ_TYPE_REF are allowed - as function types. - - [objc] - * objc-act.c (objc_gimplify_expr): Change pre and post to sequences. - * objc-act.h (objc_gimplify_expr): Change prototype accordingly. - - [testsuite] - * lib/objc.exp: Set -I regardless of libobjc. - -2007-11-10 Aldy Hernandez <aldyh@redhat.com> - - * tree-gimple.h (tree_annotate_all_with_locus): New. - * gimple-dummy.c: Add omp_reduction_init and - diagnose_omp_structured_block_errors. - * gimplify.c (tree_should_carry_locus_p): New. - (tree_annotate_one_with_locus): New. - (tree_annotate_all_with_locus): New. - -2007-11-08 Diego Novillo <dnovillo@google.com> - - Merge with mainline @129982 - - * configure.ac (ACX_PKGVERSION): Update revision merge string. - * configure: Regenerate. - -2007-11-01 Diego Novillo <dnovillo@google.com> - - * cgraphbuild.c (initialize_inline_failed): Re-enable. - (build_cgraph_edges): Adapt to use tuples. - (pass_build_cgraph): Re-enable. - (rebuild_cgraph_edges): Adapt to use tuples. - * cgraph.c (cgraph_release_function_body): Also NULLify the - gimple body. - (debug_cgraph_node): New. - (debug_cgraph): New. - * cgraph.h (struct cgraph_edge): Change field CALL_STMT to - type gimple. Update all users. - * cgraphunit.c (cgraph_analyze_functions): If DECL does not - have a struct function entry, discard it. - * gimple.h (GF_CALL_CANNOT_INLINE): New. - (gimple_call_lhs_ptr): New. - (gimple_call_mark_uninlinable): New. - (gimple_call_cannot_inline_p): New. - (struct walk_stmt_info): Add field PSET. - -2007-11-01 Diego Novillo <dnovillo@google.com> - - * tree-optimize.c (tree_rest_of_compilation): Call - gimple_set_body to remove the body if not inlining. - * gimple.c (walk_gimple_stmt): Update documentation. - Pass WI->PSET to every call to walk_tree. - -2007-11-01 Diego Novillo <dnovillo@google.com> - - * langhooks.h (struct lang_hooks_for_callgraph): Remove third - argument from function pointer ANALYZE_EXPR. Update all - users. - -2007-10-30 Diego Novillo <dnovillo@google.com> - - * gimple.c (gimple_build_omp_return): Call - gimple_omp_return_set_nowait if needed. - * gimple.h (GIMPLE_CHECK, GIMPLE_CHECK2, GIMPLE_RANGE_CHECK): - Move earlier in the file. - (GF_NO_WARNING): Change to static const unsigned. - (GF_CALL_TAILCALL): New. - (GF_OMP_PARALLEL_COMBINED): Rename from - OMP_PARALLEL_COMBINED_FLAG. Change to static const unsigned. - Update all users. - (GF_OMP_RETURN_NOWAIT): Rename from OMP_RETURN_NOWAIT_FLAG. - Change to static const unsigned. - Update all users. - (GF_OMP_SECTION_LAST): Rename from OMP_SECTION_LAST_FLAG. - Change to static const unsigned. - Update all users. - (gimple_omp_return_set_nowait): New. - (gimple_call_set_tail): New. - (gimple_call_tail_p): New. - -2007-10-30 Aldy Hernandez <aldyh@redhat.com> - - * gimplify.c (get_tmp_var_for): Remove reference to IS_FORMAL in - opening comment. - (gimplify_return_expr): Return GS_ERROR if we have errored. - (gimplify_statement_list): Handle case where voidify_wrapper returns a - temporary. - (gimplify_call_expr): Return gracefully on error. - (gimplify_cond_expr): Same. - * gimple.h (gimple_call_return_type): Do not error on methods. - -2007-10-29 Diego Novillo <dnovillo@google.com> - Tom Tromey <tromey@redhat.com> - - * gimple.h (gimple_locus): Update comment. - (gimple_set_locus): Likewise. - (gimple_locus_empty_p): Add support for mapped locations. - -2007-10-29 Diego Novillo <dnovillo@google.com> - - * tree-optimize.c (execute_cleanup_cfg_pre_ipa): Re-enable. - * gimple.c (walk_gimple_asm): Tidy comment. - -2007-10-29 Aldy Hernandez <aldyh@redhat.com> - - * tree-gimple.h (build_gimple_eh_filter_tree): Remove. - * gimplify.c (build_gimple_eh_filter_tree): Move from here... - * cp/cp-gimplify.c: ...to here. - (cp_gimplify_init_expr): Convert to tuples. - (gimplify_must_not_throw_expr): Make function return a - gimplify_status and convert to tuples. - (cp_gimplify_expr): Convert MUST_NOT_THROW_EXPR, INIT_EXPR, and - USING_STMT to tuples. - -2007-10-28 Aldy Hernandez <aldyh@redhat.com> - - * gimplify.c (gimplify_body): Make work when body contains more than - a GIMPLE_BIND statement. - -2007-10-26 Diego Novillo <dnovillo@google.com> - - Merge with mainline @129659. - - * configure.ac (ACX_PKGVERSION): Update revision merge string. - * configure: Regenerate. - -2007-10-26 Diego Novillo <dnovillo@google.com> - - * gimple-low.c (lower_builtin_setjmp): Pass ARG to first - call to gimple_build_call. - -2007-10-17 Aldy Hernandez <aldyh@redhat.com> - - * tree-gimple.c (get_gimple_rhs_class): Add case for EXC_PTR_EXPR. - * gimplify.c (gimple_conditional_context): Enable. - (gimplify_cleanup_point_expr): Enable. Adjust for tuples. - (gimple_push_cleanup): Enable. - (gimplify_target_expr): Do not gimplify TARGET_EXPR_CLEANUP before - calling gimple_push_cleanup. - (gimplify_expr): Rename `try' to `try_'. - Enable CLEANUP_POINT_EXPR case. - Gimplify CATCH_EXPR and EH_FILTER_EXPR cases correctly. - -2007-10-17 Aldy Hernandez <aldyh@redhat.com> - - * gimple.c (gimple_size): Handle GIMPLE_WITH_CLEANUP_EXPR. - * gimple.h (struct gimple_statement_catch): Make handler a structure, - not a pointer. - (struct gimple_statement_eh_filter): Make failure a structure, not a - pointer. - document EH_FILTER_MUST_NOT_THROW subcode flag. - (gimple_catch_handler): Handler is now a struct. - (gimple_catch_set_handler): Same. - (gimple_eh_filter_failure): Failure is now a struct. - (gimple_eh_filter_set_failure): Same. - (gimple_eh_filter_must_not_throw): New. - (gimple_eh_filter_set_must_not_throw): New. - (gsi_next): Update comment. - (gsi_prev): Same. - * tree-cfg.c (verify_types_in_gimple_seq_2): Handle GIMPLE_EH_FILTER. - -2007-10-18 Diego Novillo <dnovillo@google.com> - - * gimple-iterator.c (gsi_delink): Remove. - * gimple.h (gsi_delink): Remove. - -2007-10-17 Diego Novillo <dnovillo@google.com> - - * coretypes.h (const_gimple_seq): New typedef. - * gimple.h (gimple_seq_first): Constify argument. - (gimple_seq_last): Likewise. - (gimple_seq_copy): Likewise. - (gimple_seq_empty_p): Likewise. - (gimple_set_prev): Rename from set_gimple_prev. - Update all users. - (gimple_set_next): Rename from set_gimple_next. - Update all users. - (gimple_set_flags): Rename from set_gimple_flags. - Update all users. - (gimple_add_flag): Rename from add_gimple_flag. - Update all users. - (gimple_set_subcode): Rename from set_gimple_subcode. - Update all users. - (gimple_set_block): Rename from set_gimple_block. - Update all users. - (gimple_set_locus): Rename from set_gimple_locus. - Update all users. - (gimple_locus_empty_p): Constify argument. - (gimple_has_ops): Likewise. - (gimple_has_mem_ops): Likewise. - (gimple_def_ops): Likewise. - (gimple_set_def_ops): Rename from set_gimple_def_ops. - Update all users. - (gimple_use_ops): Constify argument. - (gimple_set_use_ops): Rename from set_gimple_use_ops. - Update all users. - (gimple_vuse_ops): Constify argument. - (gimple_set_vuse_ops): Rename from set_gimple_vuse_ops. - Update all users. - (gimple_vdef_ops): Constify argument. - (gimple_set_vdef_ops): Rename from set_gimple_vdef_ops. - Update all users. - (gimple_loaded_syms): Constify argument. - (gimple_stored_syms): Constify argument. - (gimple_modified): Constify argument. - (gimple_set_modified): Rename from set_gimple_modified. - Update all users. - (gimple_omp_return_nowait_p): Constify argument. - (gimple_omp_section_last_p): Constify argument. - (gimple_omp_parallel_combined_p): Constify argument. - (gimple_build_return): Rename from build_gimple_return. - Update all users. - (gimple_build_assign): Rename from build_gimple_assign. - Update all users. - (gimple_build_assign_with_ops): Rename from - build_gimple_assign_with_ops. - Update all users. - (gimple_build_call_vec): Rename from build_gimple_call_vec. - Update all users. - (gimple_build_call): Rename from build_gimple_call. - Update all users. - (gimple_build_cond): Rename from build_gimple_cond. - Update all users. - (gimple_build_label): Rename from build_gimple_label. - Update all users. - (gimple_build_goto): Rename from build_gimple_goto. - Update all users. - (gimple_build_nop): Rename from build_gimple_nop. - Update all users. - (gimple_build_asm): Rename from build_gimple_asm. - Update all users. - (gimple_build_asm_vec): Rename from build_gimple_asm_vec. - Update all users. - (gimple_build_catch): Rename from build_gimple_catch. - Update all users. - (gimple_build_eh_filter): Rename from build_gimple_eh_filter. - Update all users. - (gimple_build_try): Rename from build_gimple_try. - Update all users. - (gimple_build_wce): Rename from build_gimple_wce. - Update all users. - (gimple_build_resx): Rename from build_gimple_resx. - Update all users. - (gimple_build_switch): Rename from build_gimple_switch. - Update all users. - (gimple_build_switch_vec): Rename from - build_gimple_switch_vec. Update all users. - (gimple_build_omp_parallel): Rename from - build_gimple_omp_parallel. Update all users. - (gimple_build_omp_for): Rename from build_gimple_omp_for. - Update all users. - (gimple_build_omp_critical): Rename from - build_gimple_omp_critical. - Update all users. - (gimple_build_omp_section): Rename from - build_gimple_omp_section. Update all users. - (gimple_build_omp_continue): Rename from - build_gimple_omp_continue. Update all users. - (gimple_build_omp_master): Rename from - build_gimple_omp_master. Update all users. - (gimple_build_omp_ordered): Rename from - build_gimple_omp_ordered. Update all users. - (gimple_build_omp_sections): Rename from - build_gimple_omp_sections. Update all users. - (gimple_build_omp_single): Rename from - build_gimple_omp_single. Update all users. - (gimple_set_body): Rename from set_gimple_body. Update all - users. - (gimple_set_bb): Rename from set_gimple_bb. Update all users. - (is_gimple_operand): Constify argument. - (gimple_ops): Likewise. - (gimple_op_ptr): Likewise. - (gimple_call_lhs): Likewise. - (gimple_call_return_type): Likewise. - (gimple_call_chain): Likewise. - (gimple_call_arg_ptr): Likewise. - (gimple_cond_true_label): Likewise. - (gimple_bind_vars): Likewise. - (gimple_bind_set_body): Likewise. - (gimple_bind_block): Likewise. - (gimple_asm_ninputs): Likewise. - (gimple_asm_noutputs): Likewise. - (gimple_asm_nclobbers): Likewise. - (gimple_asm_input_op): Likewise. - (gimple_asm_output_op): Likewise. - (gimple_asm_clobber_op): Likewise. - (gimple_asm_string): Likewise. - (gimple_asm_volatile_p): Likewise. - (gimple_catch_types): Likewise. - (gimple_catch_handler): Likewise. - (gimple_eh_filter_types): Likewise. - (gimple_eh_filter_failure): Likewise. - (gimple_try_kind): Likewise. - (gimple_try_set_eval): Likewise. - (gimple_try_set_cleanup): Likewise. - (gimple_wce_set_cleanup): Likewise. - (gimple_wce_cleanup_eh_only): Likewise. - (gimple_phi_capacity): Likewise. - (gimple_phi_num_args): Likewise. - (gimple_phi_result): Likewise. - (gimple_resx_region): Likewise. - (gimple_switch_num_labels): Likewise. - (gimple_switch_label): Likewise. - (gimple_switch_default_label): Likewise. - (gimple_omp_set_body): Likewise. - (gimple_omp_critical_name): Likewise. - (gimple_omp_for_clauses): Likewise. - (gimple_omp_for_index): Likewise. - (gimple_omp_for_initial): Likewise. - (gimple_omp_for_final): Likewise. - (gimple_omp_for_incr): Likewise. - (gimple_omp_for_set_pre_body): Likewise. - (gimple_omp_parallel_clauses): Likewise. - (gimple_omp_parallel_child_fn): Likewise. - (gimple_omp_parallel_data_arg): Likewise. - (gimple_omp_single_clauses): Likewise. - (gimple_omp_sections_clauses): Likewise. - (gimple_omp_for_cond): Likewise. - (gimple_return_retval): Likewise. - (is_gimple_omp): Likewise. - (gimple_nop_p): Likewise. - (gimple_expr_type): Likewise. - -2007-10-17 Diego Novillo <dnovillo@google.com> - - * tree-ssa-loop-manip.c (gimple_duplicate_loop_to_header_edge): Rename - from tree_duplicate_loop_to_header_edge. - Update all users. - * value-prof.c: Convert and enable all functions in the file. - (gimple_divmod_fixed_value): Rename from - tree_divmod_fixed_value. - (gimple_mod_pow2): Rename from tree_mod_pow2. - (gimple_mod_subtract): Rename from tree_mod_subtract. - (gimple_divmod_fixed_value_transform): Rename from - tree_divmod_fixed_value_transform. - (gimple_mod_pow2_value_transform): Rename from - tree_mod_pow2_value_transform. - (gimple_mod_subtract_transform): Rename from - tree_mod_subtract_transform. - (gimple_stringops_transform): Rename from tree_stringops_transform. - (gimple_ic_transform): Rename from tree_ic_transform. - Update all users. - * value-prof.h (gimple_register_value_prof_hooks): Rename from - tree_register_value_prof_hooks. Update all users. - * tree.h (OMP_DIRECTIVE_P): Remove. Update all users. - (validate_arglist): Move to gimple.h. - * builtins.c: (validate_arglist): Change first argument to - const_gimple. Disable most callers. - * gimple.def: Document all GIMPLE codes. - * tree-gimple.c (is_gimple_operand): New. - (get_gimple_rhs_class)<ADDR_EXPR>: Accept as a - GIMPLE_SINGLE_RHS. - <WITH_SIZE_EXPR>: Likewise. - (get_gimple_rhs_num_ops): New. - (is_gimple_call_addr): Tidy. - * tree-gimple.h (get_gimple_rhs_num_ops): Declare. - * gimple-dummy.c (free_histograms, stringop_block_profile): - Remove. - * gimple-low.c (lower_function_body): Tidy. - * predict.c (gimple_predicted_by_p): Rename from - tree_predicted_by_p. Update all users. - (gimple_predict_edge): Rename from tree_predict_edge. Update - all users. - * gimple-iterator.c (gsi_link_seq_after): Update documentation. - (gsi_link_after): Likewise. - * tree-eh.c (stmt_could_throw_1_p): New. - (stmt_could_throw_p): New. - * gimple-pretty-print.c (dump_unary_rhs): Print ADDR_EXPR as - a single operand. - (dump_gimple_switch): Support NULL case labels. - (dump_gimple_asm): Dump outputs first. - * gimplify.c (compare_case_labels): Make the default label - sort first. - (sort_case_labels): Do not special case the default label. - (gimplify_init_ctor_eval): Gimplify initializer expressions. - (gimplify_modify_expr): Unshare the operands before setting - them on the new GIMPLE_ASSIGN statement. - (gimplify_asm_expr): NULLify the chain on operands before - putting them on the input/output vectors. - * tree-cfgcleanup.c: Convert and enable CFG cleanup functions. - (cleanup_control_expr_graph): Call gimple_fold. - * tree-flow.h (gimple_block_label): Rename from - tree_block_label. Update all users. - (gimple_duplicate_sese_region): Rename from - tree_duplicate_sese_region. Update all users. - (gimple_duplicate_sese_tail): Rename from - tree_duplicate_sese_tail. Update all users. - (gimple_purge_dead_abnormal_call_edges): Rename from - tree_purge_dead_abnormal_call_edges. Update all users. - (gimple_purge_all_dead_eh_edges): Rename from - tree_purge_all_dead_eh_edges. Update all users. - (stmt_could_throw_p): Declare. - (add_stmt_to_eh_region_fn): Move from except.h. - (remove_stmt_from_eh_region_fn): Likewise. - (lookup_stmt_eh_region_fn): Likewise. - (lookup_stmt_eh_region): Likewise. - (verify_eh_edges): Likewise. - * Makefile.in (GIMPLE_H): Add dependencies on GGC_H, TM_H and - TARGET_H. - (ipa-inline.o): Add dependency on TREE_FLOW_H. - (out_object_file): Add dependency on TREE_GIMPLE_H. - * gimple.c (gimple_set_code): Rename from set_gimple_code. - (gimple_size): New. - (gimple_alloc): New. - (gimple_alloc_ops): New. - (build_gimple_with_ops): Call them. - (build_gimple_return): Only call gimple_return_set_retval if - RETVAL is not NULL. - (build_gimple_call): Validate argument FN. - (extract_ops_from_tree): New. - (build_gimple_assign_with_ops): New. - (build_gimple_assign): Call them. - (build_gimple_nop): Call gimple_alloc. - (build_gimple_bind): Likewise. - (build_gimple_asm_1): Tidy. - (build_gimple_asm_vec): Tidy. - (build_gimple_asm): Tidy. - (build_gimple_catch): Call gimple_alloc. - (build_gimple_eh_filter): Likewise. - (build_gimple_try): Likewise. - (build_gimple_wce): Likewise. - (build_gimple_phi): Remove. - (build_gimple_resx): Call gimple_alloc. - (build_gimple_switch_1): Tidy. - (build_gimple_switch): Tidy. - (build_gimple_omp_critical): Call gimple_alloc. - (build_gimple_omp_for): Likewise. - (build_gimple_omp_parallel): Likewise. - (build_gimple_omp_section): Likewise. - (build_gimple_omp_master): Likewise. - (build_gimple_omp_continue): Likewise. - (build_gimple_omp_ordered): Likewise. - (build_gimple_omp_return): Likewise. - (build_gimple_omp_sections): Likewise. - (build_gimple_omp_single): Likewise. - (gimple_check_failed): Change GS to const_gimple. Update all - users. - (gimple_range_check_failed): Likewise. - (walk_gimple_seq): Change return type to tree. Update all - users. - If the call to walk_gimple_stmt returns non-NULL, - return it immediately. - (walk_gimple_asm): Change return type to tree. Update all - users. - If the call to walk_tree returns non-NULL, return it. - (walk_gimple_stmt): Likewise. - (gimple_fold): New. - (gimple_assign_set_rhs_from_tree): New. - (gimple_assign_set_rhs_with_ops): New. - (gimple_copy): New. - * basic-block.h (gimple_predicted_by_p): Rename from - tree_predicted_by_p. Update all users. - (gimple_predict_edge): Rename from tree_predict_edge. Update - all users. - * gimple.h: Add documentation to all inline functions. - (gimple_seq_first): Return NULL if S is NULL. - (gimple_seq_last): Likewise. - (GF_ASM_VOLATILE): Define. - (GF_NO_WARNING): Rename from GIMPLE_NO_WARNING. Update all - users. - (build_gimple_assign_with_ops): Declare. - (build_gimple_asm): Change unsigned arguments to size_t. - Update all users. - (build_gimple_switch): Likewise. - (build_gimple_phi): Remove. - (validate_arglist): Declare. - (gimple_fold): Declare. - (gimple_assign_set_rhs_from_tree): Declare. - (gimple_assign_set_rhs_with_ops): Declare. - (gimple_copy): Declare. - (is_gimple_operand): Declare. - (gimple_num_ops): Change argument to const_gimple. - Return 0 if GS is not one of the statements that has tree - operands. - (gimple_ops): New. - (gimple_op): Change argument to const_gimple. - If GS is not a statement that has tree operands, return NULL. - (gimple_op_ptr): Likewise. - (gimple_assign_subcode): Change argument to const_gimple. - (gimple_assign_operand): Remove. Update all users. - (gimple_assign_set_operand): Remove. Update all users. - (gimple_assign_lhs): Change argument type to const_gimple. - (gimple_assign_rhs1): Likewise. - (gimple_assign_rhs2): Likewise. - (gimple_assign_set_rhs1): Assert that RHS is a valid operand. - (gimple_assign_set_rhs2): Likewise. - (gimple_call_lhs): Call gimple_op. - (gimple_call_set_lhs): Assert that LHS is a valid operand. - Call gimple_set_op. - (gimple_call_set_fn): New. - (gimple_call_fndecl): Change argument type to const_gimple. - Call gimple_call_fn. - (gimple_call_chain): Call gimple_op. - (gimple_call_set_chain): Assert that CHAIN is valid. - Call gimple_set_op. - (gimple_call_nargs): Change argument to const_gimple. - Call gimple_op. - (gimple_call_arg_ptr): Call gimple_op_ptr. - (gimple_call_set_arg): Assert that ARG is valid. - Call gimple_set_op. - (gimple_cond_code): Change argument to const_gimple. - (gimple_cond_lhs): Change argument to const_gimple. - (gimple_cond_set_lhs): Assert that the operand is valid. - Call gimple_set_op. - (gimple_cond_rhs): Change argument to const_gimple. - Call gimple_op. - (gimple_cond_true_label): Call gimple_op. - (gimple_cond_false_label): Likewise. - (gimple_label_label): Likewise. - (gimple_cond_set_true_label): Assert that the operand is - valid. - Call gimple_set_op. - (gimple_cond_set_false_label): Likewise. - (gimple_goto_dest): Change argument to const_gimple. - Call gimple_set_op. - (gimple_goto_set_dest): Assert that the operand is valid. - Call gimple_set_op. - (gimple_asm_ninputs): Change return type to size_t. Update - all users. - (gimple_asm_noutputs): Likewise. - (gimple_asm_nclobbers): Rename from gimple_asm_nclobbered. - Change return type to size_t. - Update all users. - (gimple_asm_set_input_op): Assert that the argument is - valid. - (gimple_asm_set_output_op): Likewise. - (gimple_asm_set_clobber_op): Likewise. - (gimple_asm_volatile_p): New. - (gimple_asm_set_volatile): New. - (gimple_asm_clear_volatile): New. - (gimple_phi_set_capacity): Remove. - (gimple_phi_set_nargs): Remove. - (gimple_expr_type): New. - (struct walk_stmt_info): Remove fields want_bind_expr and - want_return_expr. Update all users. - * tree-cfg.c: Convert all functions for CFG cleanup and - verification. - (gimple_redirect_edge_and_branch): Rename from - tree_redirect_edge_and_branch. - (gimple_try_redirect_by_replacing_jump): Rename from - tree_try_redirect_by_replacing_jump. - (gimple_verify_flow_info): Rename from tree_verify_flow_info. - (gimple_make_forwarder_block): Rename from - tree_make_forwarder_block. - (gimple_cfg2vcg): Rename from tree_cfg2vcg. - (gimple_merge_blocks): Rename from tree_merge_blocks. - (gimple_can_merge_blocks_p): Rename from tree_merge_blocks_p. - (gimple_can_remove_branch_p): Rename from tree_can_remove_branch_p. - (gimple_redirect_edge_and_branch): Rename from - tree_redirect_edge_and_branch. - (gimple_move_block_after): Rename from tree_move_block_after. - (gimple_predict_edge): Rename from tree_predict_edge. - (gimple_predicted_by_p): Rename from tree_predicted_by_p. - (gimple_duplicate_bb): Rename from tree_duplicate_bb. - (gimple_can_duplicate_bb_p): Rename from tree_can_duplicate_bb_p. - (gimple_split_edge): Rename from tree_split_edge. - (gimple_make_forwarder_block): Rename from tree_make_forwarder_block. - (gimple_block_ends_with_call_p): Rename from - tree_block_ends_with_call_p. - (gimple_block_ends_with_condjump_p): Rename from - tree_block_ends_with_condjump_p. - (gimple_flow_call_edges_add): Rename from - tree_flow_call_edges_add. - (gimple_execute_on_growing_pred): Rename from - tree_execute_on_growing_pred. - (gimple_execute_on_shrinking_pred): Rename from - tree_execute_on_shrinking_pred. - (gimple_duplicate_loop_to_header_edge): Rename from - tree_duplicate_loop_to_header_edge. - (gimple_lv_add_condition_to_bb): Rename from - tree_lv_add_condition_to_bb. - (gimple_lv_adjust_loop_header_phi): Rename from - tree_lv_adjust_loop_header_phi. - (struct pass_build_cfg): Enable TODO_verify_stmts and - TODO_cleanup_cfg. - * passes.c (execute_function_todo): Enable call to - cleanup_tree_cfg. - -2007-10-17 Aldy Hernandez <aldyh@redhat.com> - - * gimple.def: Add GIMPLE_WITH_CLEANUP_EXPR. - * gsstruct.def: Add GSS_WCE. - * gimple-iterator.c (gsi_delink): New. - (gsi_split_seq_*): Update comment. - * gimple.c (gss_for_code): Handle GIMPLE_WCE. Adjust whitespace. - (build_gimple_wce): New. - * gimple.h (struct gimple_statement_wce): New. - (union gimple_statement_d): Add gimple_wce. - (build_gimple_wce): Protoize. - (gimple_wce_cleanup): New. - (gimple_wce_set_cleanup): New. - (gimple_wce_cleanup_eh_only): New. - (gimple_wce_set_cleanup_eh_only): New. - (gsi_delink): Protoize. - -2007-10-12 Aldy Hernandez <aldyh@redhat.com> - - * Makefile.in (GIMPLE_H): Depend on TARGET_H. - * gimple.h (gsi_alloc): New. - (_ALLOC_GSI): Remove. - Replace _ALLOC_GSI uses by gsi_alloc. - -2007-10-12 Aldy Hernandez <aldyh@redhat.com> - - * gimple.h (_ALLOC_GSI): New. - Use it throughout when allocating a new gimple_stmt_iterator. - -2007-10-11 Aldy Hernandez <aldyh@redhat.com> - - Merge with mainline @129233. - - * configure.ac (ACX_PKGVERSION): Update revision merge string. - * configure: Regenerate. - -2007-10-11 Aldy Hernandez <aldyh@redhat.com> - - * cfg.c: Include tree-flow.h. - (remove_edge_raw): Call redirect_edge_var_map_clear. - (redirect_edge_succ_nodup): Call redirect_edge_var_map_dup. - * tree-flow-inline.h (redirect_edge_var_map_def): New. - (redirect_edge_var_map_result): New. - * tree-cfgcleanup.c (remove_forwarder_block_with_phi): Replace - PENDING_STMT use with redirect_edge_var_map_*. - * tree-ssa.c (edge_var_maps): New definition. - (redirect_edge_var_map_add): New. - (redirect_edge_var_map_clear): New. - (redirect_edge_var_map_dup): New. - (redirect_edge_var_map_vector): New. - (redirect_edge_var_map_destroy): New. - (ssa_redirect_edge): Replace PENDING_STMT use with - redirect_edge_var_map_*. - (flush_pending_stmts): Same. - (delete_tree_ssa): Destroy edge var map. - * tree-flow.h (struct _edge_var_map): New. - Define edge_var_map vector type. - Declare redirect_edge_var_map_* prototypes. - * Makefile.in (cfg.o): Depend on TREE_FLOW_H. - * tree-cfg.c (reinstall_phi_args): Replace - PENDING_STMT use with redirect_edge_var_map_*. - -2007-10-02 Diego Novillo <dnovillo@google.com> - - Merge with mainline @128957. - - * configure.ac (ACX_PKGVERSION): Update revision merge string. - * configure: Regenerate. - -2007-09-24 Diego Novillo <dnovillo@google.com> - - Merge with mainline @128708. - - * configure.ac (ACX_PKGVERSION): Update revision merge string. - * configure: Regenerate. - -2007-09-24 Diego Novillo <dnovillo@google.com> - - * gimple.h (gimple_code): Change argument type to - const_gimple. - (gimple_flags): Likewise. - (gimple_subcode): Likewise. - (gimple_next): Likewise. - (gimple_prev): Likewise. - (gimple_bb): Likewise. - (gimple_block): Likewise. - (gimple_locus): Likewise. - -2007-09-15 Diego Novillo <dnovillo@google.com> - - * gimple-iterator.c (gsi_replace): Call gsi_insert_before and - gsi_remove to do the replacement. - (gsi_insert_before): Take the basic block from the iterator. - (gsi_insert_after): Likewise. - * gimple-iterator.h: Move inside gimple.h. - * tree-eh.c (make_eh_edge, make_eh_edges): Enable. - * gimple-pretty-print.c (dump_gimple_seq, dump_gimple_cond, - dump_gimple_bind, dump_gimple_try): Do not handle TDF_DETAILS. - (dump_gimple_switch): Fix display of case labels. - (dump_gimple_stmt): Handle TDF_DIAGNOSTIC. - (pp_cfg_jump): New. - (dump_implicit_edges): New. - (gimple_dump_bb_buff): Call it. - * domwalk.c (walk_dominator_tree): - * gimplify.c (gimplify_switch_expr): Fix generation of - GIMPLE_SWITCH labels. - (gimplify_case_label_expr): Emit a label for CASE_LABEL - instead of the CASE_LABEL_EXPR. - * Makefile.in (GIMPLE_H): Add dependency on BASIC_BLOCK_H. - * gimple.c (walk_gimple_stmt): Reverse meaning of return value - of CALLBACK_STMT. Update all users. - Walk sub-statements of statements with bodies. - * gimple.h (GCC_GIMPLE_H): Rename from GCC_GIMPLE_IR_H. - Include vec.h, tm.h, hard-reg-set.h and basic-block.h. - (bb_seq, set_bb_seq): Move from tree-flow-inline.h - (gimple_label_set_label): Do not allow CASE_LABEL_EXPR. - (gsi_start_bb): New. Update all users that were calling - gsi_start (bb_seq ()). - (struct gimple_stmt_iterator): Add field 'bb'. - * tree-cfg.c (build_gimple_cfg): Enable. - (create_bb): Create a new sequence if the given one is NULL. - (make_gimple_switch_edges): Rename from make_switch_expr_edges. - Update all users. - (cleanup_dead_labels): Fix handling of GIMPLE_SWITCH. - (group_case_labels): Likewise. - (verify_types_in_gimple_stmt): Do not allow CASE_LABEL_EXPR in - a GIMPLE_LABEL. - -2007-09-13 Diego Novillo <dnovillo@google.com> - - * tree-pretty-print.c (dump_symbols, dump_generic_bb, - dump_bb_header, dump_bb_end, dump_phi_nodes, pp_cfg_jump, - dump_implicit_edges, dump_generic_bb_buff): Remove. - * value-prof.c (histogram_eq): Enable. - (dump_histograms_for_stmt): Adapt to tuples. - * value-prof.h (struct): - * cfghooks.h (struct cfg_hooks)<dump_bb>: Add int argument. - Update all users. - * gimple-dummy.c (gimple_remove_stmt_histograms, - remove_stmt_from_eh_region): Remove. - * gimple-iterator.h (gsi_start): Support NULL sequences. - * tree-eh.c (add_stmt_to_eh_region): Enable. - (remove_stmt_from_eh_region): Enable. - (lookup_stmt_eh_region): Enable. - (tree_could_throw_p): Enable. - (stmt_can_throw_internal): Enable. - * gimple-pretty-print.c: Include value-prof.h - (dump_gimple_cond): Do not insert a newline initially. - (dump_gimple_bind): Likewise. - (dump_gimple_try): Likewise. - (dump_gimple_asm): Likewise. - (dump_symbols): Move from tree-pretty-print.c - (dump_gimple_phi): New. - (dump_gimple_stmt): Call it.. - (dump_bb_header): Move from tree-pretty-print.c - (dump_bb_end): Likewise. - (dump_phi_nodes): Likewise. - (gimple_dump_bb_buff): New. - (gimple_dump_bb): New. - * Makefile.in (gimple-pretty-print.o): Add dependency - value-prof.h - * tree-cfg.c (fold_cond_expr_cond): Handle cases where - fold_binary returns NULL. - (make_cond_expr_edges): Take locus from the first statement of - the destination blocks. - (tree_dump_bb): Remove. - (gimple_debug_bb): Rename from debug_tree_bb. - Update all users. - (gimple_debug_bb_n): Rename from debug_tree_bb_n. - Update all users. - (gimple_debug_cfg): Rename from debug_tree_cfg. - Update all users. - (gimple_dump_cfg): Rename from dump_tree_cfg. - Update all users. - (is_ctrl_altering_stmt): Call gimple_call_flags to determine - whether the function is const/pure. - * tree-ssa-operands.c (stmt_references_memory_p): Enable. - -2007-09-11 Diego Novillo <dnovillo@google.com> - - * tree.h (struct tree_ssa_name): Add field def_stmt. - (SSA_NAME_DEF_STMT): Return it. - * tree-phinodes.c (create_phi_node): Return gimple. - Update all callers. - (add_phi_args): Change PHI argument to gimple. Update all - callers. - (remove_phi_node): Call gimple_remove. - (phi_reverse): Remove. Update all users. - * tree-ssa-alias-warnings.c: Disable. - * input.h (IS_LOCATION_EMPTY): Fix comparison of LOCATION_LINE. - * fold-const.c: Include gimple.h. - (fold_undefer_overflow_warnings): Change type of argument STMT to - gimple. Update all users. - * cfghooks.h (struct cfg_hooks)<can_merge_blocks_p>: Change - arguments to basic_block. Update all users. - * tree-gimple.c (get_gimple_rhs_class): Change argument to - enum tree_code. Update all users. Move calls to - is_gimple_lvalue and is gimple_val... - (is_gimple_formal_tmp_rhs): ... here. - * tree-ssa-ccp.c (fold_stmt_r): Enable. - (fold_stmt): Enable. - (fold_stmt_inplace): Enable. Adapt to tuples. - * ipa-pure-const.c (analyze_function): Disable. - * tree-ssa-propagate.c (get_rhs): Adapt to tuples. Update all - users. - * gimple-dummy.c (ssa_operands_active): Remove dummy function. - (remove_stmt_from_eh_region, create_phi_node, add_phi_arg, - substitute_in_loop_info, release_defs, push_stmt_changes, - pop_stmt_changes, replace_exp): Add dummy functions. - * predict.c: Disable. - * gimple-iterator.c: Include tm.h and tree-flow.h - (gsi_delink): Remove. Update all users. - (update_modified_stmt): Move from tree-cfg.c. - (gsi_insert_before): New. - (gsi_insert_seq_before): New. - (gsi_insert_after): New. - (gsi_insert_seq_after): New. - (gsi_for_stmt): New. - (gsi_move_after): New. - (gsi_move_before): New. - (gsi_move_to_bb_end): New. - * gimple-iterator.h (gsi_remove): New. - * tree-eh.c (add_stmt_to_eh_region_fn): Add comment - (add_stmt_to_eh_region): Likewise. - (remove_stmt_from_eh_region_fn): Likewise. - (remove_stmt_from_eh_region): Likewise. - (lookup_stmt_eh_region_fn): Likewise. - (lookup_stmt_eh_region): Likewise. - (tree_could_throw_p): Likewise. - (stmt_can_throw_internal): Likewise. - (tree_can_throw_external): Likewise. - * gimple-pretty-print.c (op_gimple_cond): Remove. Update all - users. - * tree-affine.c (tree_to_aff_combination_expand): Disable. - * tree-flow-inline.h (op_iter_init_vdef): Call gimple_code - instead of TREE_CODE. - * gimplify.c (gimplify_cond_expr): Use enum tree_code instead - of enum gimple_cond as the subcode for GIMPLE_COND. - Do not switch around the conditional when the then clause is empty. - (tree_to_gimple_tuple): Remove. Update all users. - (gimplify_omp_for): - (force_gimple_operand_gsi): Rename from force_gimple_operand_bsi. Update all users. - * tree-dfa.c (find_referenced_vars): Disable. - (collect_dfa_stats): Likewise. - (collect_dfa_stats_r): Likewise. - * cfgexpand.c: Disable. - * tree-mudflap.c: Disable. - * print-tree.c: Include diagnostic.h. - (print_node): Call print_gimple_stmt when printing SSA_NAMEs. - * lambda-code.c: Disable. - * tree-profile.c (tree_init_edge_profiler): Disable. - (tree_gen_edge_profiler): Disable. - * tree-flow.h (block_stmt_iterator): Remove. Update all users. - (const_block_stmt_iterator): Likewise. - * Makefile.in (print-tree.o): Add dependency on $(DIAGNOSTIC_H). - (gimple-iterator.o): Add dependency on $(TREE_FLOW_H) and - value-prof.h. - (gimple.o): Likewise. - (fold-const.o): Add dependency on $(GIMPLE_H). - * gimple.c: Include tm.h, hard-reg-set.h, basic-block.h, - tree-flow.h and value-prof.h. - (build_gimple_with_ops): Do not allocate operands if NUM_OPS == 0. - (build_gimple_return): Remove argument RESULT_DECL_P. Update - all users. - (build_gimple_cond): Use enum tree_code instead of enum - gimple_cond as the subcode. Update all users. - (gimple_cond_invert): Remove. Update all users. - (walk_gimple_seq): Add arguments CALLBACK_STMT and - CALLBACK_OP. Update all users. - (walk_gimple_asm): Likewise. - (walk_gimple_stmt): Likewise. - (gimple_remove): New. - (gimple_seq_reverse): New. - (set_gimple_bb): New. - * gimple.h (gimple_statement_base): Split field 'flags' into - fields 'subcode' and 'flags'. Update all users. - (gimple_statement_with_ops): Rename field 'base' to - 'gsbase'. Update all users. - (gimple_statement_omp): Likewise. - (gimple_statement_bind): Likewise. - (gimple_statement_catch): Likewise. - (gimple_statement_eh_filter): Likewise. - (gimple_statement_phi): Likewise. - (gimple_statement_resx): Likewise. - (gimple_statement_try): Likewise. - (gimple_statement_omp_parallel): Likewise. - (enum gimple_cond): Remove. Update all users. - (GIMPLE_NO_WARNING): Define. - (set_gimple_flags): Assert that FLAGS fits in 8 bits. - (add_gimple_flag): Likewise. - (set_gimple_subcode): New. Use instead of set_gimple_flags - everywhere. - (gimple_subcode): New. Use instead of gimple_flags - everywhere. - (gimple_no_warning_p): New. - (gimple_cond_set_code): New. - (gimple_cond_make_false): New. - (gimple_cond_make_true): New. - (gimple_phi_num_args): Rename from gimple_phi_nargs. Update - all users. - * tree-cfg.c (build_gimple_cfg): Return immediately. - (set_bb_for_stmt): Remove. Move functionality to - set_gimple_bb. Update all users. - (factor_computed_gotos): - (bsi_for_stmt): Remove. - (bsi_insert_before): Remove. - (bsi_insert_seq_before): Remove. - (bsi_insert_after): Remove. - (bsi_insert_seq_after): Remove. - (bsi_remove): Remove. - (bsi_move_after): Remove. - (bsi_move_before): Remove. - (bsi_move_to_bb_end): Remove. - (bsi_replace): Remove. - (tree_verify_flow_info): Adapt to tuples. - (tree_make_forwarder_block): Likewise. - (tree_try_redirect_by_replacing_jump): Likewise. - (tree_redirect_edge_and_branch): Likewise. - (tree_purge_dead_eh_edges): Likewise. - (gimple_cfg_hooks): Enable some hooks. - * tree-ssanames.c (make_ssa_name): Change type of STMT to - gimple. Update all users. - * tree-ssa-operands.c (ssa_operands_active): Enable. - -2007-08-31 Diego Novillo <dnovillo@google.com> - - * tree-gimple.c (is_gimple_addressable): Tidy. - * Makefile.in (tree-ssa-structalias.o): Disable dependency on - GTY header file. - (tree-ssa-propagate.o): Likewise. - (tree-phinodes.o): Likewise. - (tree-scalar-evolution.o): Likewise. - (tree-vect-generic.o): Likewise. - * gimple.h (struct gimple_statement_phi): Change type of - fields 'capacity' and 'nargs' to size_t. - Update all users. - * tree-cfg.c (verify_gimple_unary_expr): Remove. Update all - users. - (verify_gimple_binary_expr): Remove. Update all users. - (verify_types_in_gimple_min_lval): Rename from - verify_gimple_min_lval. - (verify_types_in_gimple_reference): Rename from - verify_gimple_reference. - (verify_gimple_tree_expr): Remove. - Move checks to verify_types_in_gimple_assign. - (verify_types_in_gimple_call): Rename from verify_gimple_call. - (verify_types_in_gimple_cond): Rename from verify_gimple_cond. - (verify_types_in_gimple_assign): Rename from verify_gimple_assign. - (verify_types_in_gimple_switch): Rename from verify_gimple_switch. - (verify_types_in_gimple_phi): New. - verify_types_in_gimple_return): Rename from - verify_gimple_return. - (verify_types_in_gimple_stmt): Rename from verify_gimple_stmt. - (verify_types_in_gimple_seq): Rename from verify_gimple_seq. - -2007-08-30 Chris Matthews <chrismatthews@google.com> - Diego Novillo <dnovillo@google.com> - - * gimplify.c (gimplify_body): Call verify_gimple_seq if - ENABLE_TYPES_CHECKING is set. - * gimple.h (is_gimple_omp): New. - * tree-cfg.c (verify_gimple_tree_expr): Rename from - verify_gimple_expr. - Verify tree nodes that should disappear after conversion to - GIMPLE. - Do not handle COND_EXPR, CALL_EXPR. - (verify_gimple_modify_stmt): Remove. - (verify_gimple_call): New. - (verify_gimple_cond): New. - (verify_gimple_assign): New. - (verify_gimple_return): New. - (verify_gimple_switch): New. - (verify_gimple_stmt): Change input argument to type gimple. - Call new verifiers. - (verify_gimple_seq): Rename from verify_gimple_1. - -2007-08-30 Diego Novillo <dnovillo@google.com> - - * gimple-low.c (gimple_try_catch_may_fallthru): Call - gimple_code instead of gimple_flags. - * gimple.c (set_gimple_body): Use gimple_seq instead of gimple - when accessing vector gimple_bodies_vec. - (gimple_body): Likewise. - (gimple_assign_copy_p): New. - * gimple.h (enum gimple_try_kind): New. - (GIMPLE_TRY_CATCH): Move inside enum gimple_try_kind. - (GIMPLE_TRY_FINALLY): Likewise. - (gimple_assign_copy_p): Declare. - (gimple_assign_rhs_code): New. - Update callers that used to call gimple_flags. - (gimple_cond_code): New. - Update callers that used to call gimple_flags. - (gimple_try_kind): New. - (gimple_nop_p): Tidy comment. - * gimple-pretty-print.c (dump_unary_rhs): New. - (dump_gimple_assign): Call it. - -2007-08-30 Diego Novillo <dnovillo@google.com> - - * gimplify.c (gimplify_cond_expr): When gimplifying a ?: call - gimplify_stmt with the expression just built instead of the - original expression. - Use the correct labels when calling build_gimple_cond. - - -2007-08-30 Diego Novillo <dnovillo@google.com> - - * tree-vrp.c: Disable. - * tree-loop-linear.c: Disable. - * tree-into-ssa.c: Disable. - * tree-ssa-loop-im.c: Disable. - * tree-complex.c: Disable. - * cgraphbuild.c: Disable most functions. - * tree-ssa-threadupdate.c: Disable. - * tree-ssa-loop-niter.c: Disable. - * tree-pretty-print.c: Disable. - * tree-ssa-loop-unswitch.c: Disable. - * tree-ssa-loop-manip.c: Disable. - * value-prof.c: Disable. - * tree-tailcall.c: Disable. - * tree-ssa-loop-ch.c: Disable. - * tree-scalar-evolution.c: Disable. - * tree-phinodes.c: Disable. - * omp-low.c: Disable. - * tree-ssa-dse.c: Disable. - * ipa-reference.c: Disable. - * tree-ssa-uncprop.c: Disable. - * tree-ssa-sccvn.c: Disable. - * cgraphunit.c (verify_cgraph_node): Disable basic block traversal. - * tree-ssa-copyrename.c: Disable. - * tree-ssa-ccp.c: Disable most functions. - * tree-ssa-loop-ivopts.c: Disable. - * tree-stdarg.c: Disable. - * tree-ssa-math-opts.c: Disable. - * tree-ssa-dom.c: Disable most functions. - * tree-nrv.c: Disable. - * tree-ssa-propagate.c: Disable. - * gimple-dummy.c: New file. - * tree-ssa-alias.c: Disable most functions. - * tree-ssa-sink.c: Disable. - * expr.c (expand_expr_real): Disable call to - lookup_stmt_eh_region. - * tree-ssa-loop-ivcanon.c: Disable. - * predict.c (strip_builtin_expect): Disable. - (tree_predict_by_opcode): Disable. - (return_prediction): Disable. - (apply_return_prediction): Disable. - (tree_bb_level_predictions): Disable. - (tree_estimate_probability): Disable. - (predict_paths_leading_to): Disable. - * gimple-iterator.c (gsi_replace): Mark unused arguments with - ATTRIBUTE_UNUSED. - * tree-ssa-ifcombine.c: Disable. - * matrix-reorg.c: Disable. - * c-decl.c (c_gimple_diagnostics_recursively): Disable call to - diagnose_omp_structured_block_errors. - * tree-eh.c: Disable most functions. - * tree-vectorizer.c: Disable. - * tree-vectorizer.h (nested_in_vect_loop_p): Disable. - * ipa-type-escape.c: Disable. - * tree-if-conv.c: Disable. - * profile.c: Disable. - * tree-data-ref.c: Disable. - * tree-flow-inline.h (bsi_start): Set bsi.gsi to NULL if the - block is invalid. - (bsi_last): Likewise. - (op_iter_next_use): Disable call to PHI_ARG_DEF_PTR. - * tree-vect-analyze.c: Disable. - * gimplify.c (gimple_conditional_context): Disable. - (gimple_push_cleanup): Disable. - (gimplify_omp_parallel): Disable calls to - push_gimplify_context and pop_gimplify_context. - * tree-ssa-phiopt.c: Disable. - * calls.c (emit_call_1): Disable calls to lookup_stmt_eh_region. - (expand_call): Likewise. - (emit_library_call_value_1): Initialize low_to_save and - high_to_save. - * tree-ssa-coalesce.c: Disable. - * tree-dfa.c (make_rename_temp): Disable call to - mark_sym_for_renaming. - (find_new_referenced_vars_1): Likewise. - (collect_dfa_stats): Disable CFG iteration. - (collect_dfa_stats_r): Disable. - (mark_symbols_for_renaming): Disable. - * cfgexpand.c (maybe_dump_rtl_for_tree_stmt): Disable. - (label_rtx_for_bb): Disable. - (expand_gimple_cond_expr): Disable. - (expand_gimple_tailcall): Disable. - (expand_gimple_basic_block): Disable. - * tree-cfgcleanup.c: Disable. - * tree-ssa-pre.c: Disable. - * tree-ssa-live.c: Disable. - * tree-sra.c: Disable most functions.. - * tree-predcom.c: Disable. - * tree-mudflap.c: Disable. - * ipa-prop.c: Disable. - * tree-ssa-copy.c (may_propagate_copy): Disable. - (propagate_value): Disable. - (execute_copy_prop): Disable. - (do_copy_prop): Disable. - (store_copy_prop): Disable. - * tree-ssa-forwprop.c: Disable. - * tree-ssa-dce.c: Disable. - * tree-vect-patterns.c: Disable. - * tree-ssa-ter.c: Disable. - * tree-ssa.c: Disable. - * lambda-code.c: Disable. - * tree-ssa-loop-prefetch.c: Disable. - * tree-inline.c: Disable most functions. - * tree-optimize.c (execute_fixup_cfg_pre_ipa): Disable. - (execute_fixup_cfg): Disable. - (execute_cleanup_cfg_post_optimizing): Disable. - (execute_fixup_cfg): Disable. - * tree-vect-transform.c: Disable. - * tree-object-size.c: Disable. - * tree-outof-ssa.c: Disable. - * cfgloop.c (find_subloop_latch_edge_by_profile): Disable. - (find_subloop_latch_edge_by_ivs): Disable. - * tree-profile.c: Disable most functions. - * c-gimplify.c (add_block_to_enclosing): Disable. - * tree-vect-generic.c: Disable. - * tree-flow.h (struct function_ann_d): Disable field - reference_vars_info. - * Makefile.in: Force -Werror even during stage 1. - (OBJS-common): Add gimple-dummy.o. - (GTFILES): Remove tree-scalar-evolution.c, - tree-ssa-propagate.c, tree-vect-generic.c, - tree-ssa-structalias.h, tree-ssa-structalias.c, - ipa-reference.h, omp-low.c, tree-phinodes.c, ipa-reference.c - * tree-ssa-structalias.c: Disable. - * tree-cfg.c: Disable most functions. - * passes.c (finish_optimization_passes): Disable call to - end_branch_prob. - (init_optimization_passes): Disable the registration of - several passes. - (execute_function_todo): Disable calls to update_ssa and - need_ssa_update_p. - * tree-ssa-reassoc.c: Disable. - * tree-ssanames.c: Disable. - * tree-ssa-threadedge.c: Disable. - * tree-ssa-operands.c: Disable. - -2007-08-29 Aldy Hernandez <aldyh@redhat.com> - - * tree-ssa-operands.h (pop_stmt_changes, push_stmt_changes): - Argument is gimple. - (struct ssa_operand_iterator_d): Member phi_stmt is gimple. - * value-prof.c (gimple_add_histogram_value): Adjust for tuples. - (gimple_duplicate_stmt_histograms): Same. - * value-prof.h (gimple_add_histogram_value): Same. - (gimple_duplicate_stmt_histograms): Same. - * tree-flow-inline.h (clear_and_done_ssa_iter): Same. - (op_iter_init): Same. - (op_iter_init_phiuse): Same. - * tree-flow.h (stmt_references_memory_p): Same. - * tree-cfg.c (tree_can_merge_blocks_p): Same. - (remove_bb): Same. - (find_taken_edge): Same. - (tree_cfg2vcg): Same. - (first_stmt): Same. - (last_stmt): Same. - (bsi_move_after): Same. - (bsi_move_before): Same. - (tree_find_edge_insert_loc): Same. - Remove code handling a GIMPLE_MODIFY_STMT inside a RETURN_EXPR. - (delete_tree_cfg_annotations): Remove code to remove annotations. - * tree-ssa-operands.c (struct scb_d): Stmt_p is a gimple *. - (push_stmt_changes): Adjust for tuples. - (mark_difference_for_renaming): Same. - (pop_stmt_changes): Same. - (stmt_references_memory_p): Same. - -2007-08-29 Aldy Hernandez <aldyh@redhat.com> - - * tree-ssa-operands.h: Remove DEF_OPS, USE_OPS, VUSE_OPS, - VDEF_OPS, LOADED_SYMS, STORED_SYMS. - * tree-pretty-print.c (dump_generic_node): Adjust accordingly. - (dump_vops): use gimple_v*_ops. Adjust accordingly. - * gimple.def: Add to comment. - * tree-ssa-alias.c (create_structure_vars): Adjust for tuples. - * tree-flow-inline.h (op_iter_init): Make stmt gimple. Use - gimple_*_ops functions. - (op_iter_init_use): Make stmt gimple. - (op_iter_init_def): Same. - (op_iter_init_vdef): Same. - (single_ssa_tree_operand): Same. - (single_ssa_use_operand): Same. - (single_ssa_def_operand): Same. - (zero_ssa_operands): Same. - (num_ssa_operands): Same. - (compare_ssa_operands_equal): Make stmt[12] gimple. - (link_use_stmts_after): Adjust for tuples. - * tree-ssa-structalias.c (update_alias_info): Use - gimple_stored_syms and gimple_loaded_syms. - * gimple.h (gimple_has_mem_ops): New. - (gimple_def_ops): New. - (set_gimple_def_ops): New. - (gimple_use_ops): New. - (set_gimple_use_ops): New. - (gimple_vuse_ops): New. - (set_gimple_vuse_ops): New. - (gimple_vdef_ops): New. - (set_gimple_vdef_ops): New. - (gimple_loaded_syms): New. - (gimple_stored_syms): New. - * tree-ssa-operands.c (finalize_ssa_defs): Adjust for tuples. - (copy_virtual_operands): Same. - (swap_tree_operands): Same. - -2007-08-28 Aldy Hernandez <aldyh@redhat.com> - - * Revert the parts of Kaveh's constification patch.that duplicate - API calls. - -2007-08-27 Diego Novillo <dnovillo@google.com> - - Merge with mainline @127831. - - * configure.ac (ACX_PKGVERSION): Update revision merge string. - * configure: Regenerate. - -2007-08-25 Diego Novillo <dnovillo@google.com> - - * tree.c (build_gimple_modify_stmt_stat): Add depecrate note. - * omp-low.c (scan_omp_1): Disable. - (scan_omp): Likewise. - (lower_omp_for): Likewise. - (lower_omp_parallel): Likewise. - (lower_omp_1): Likewise. - (lower_omp): Likewise. - (diagnose_sb_1): Likewise. - (diagnose_sb_2): Likewise. - (diagnose_omp_structured_block_errors): Likewise. - * tree-gimple.h (_TREE_GIMPLE_H): Rename from _TREE_SIMPLE_H. - (gimplify_body): Return the new GIMPLE body. - (struct walk_stmt_info): Move to gimple.h. - * gimple-low.c (lower_function_body): Assert that the function - body is a single GIMPLE_BIND statement. - Create a new gimple sequence to lower the existing body. - Replace the function body with the new lowered sequence. - (pass_lower_cf): Enable GIMPLE lowering. - (lower_omp_directive): Disable. - (lower_stmt): Do not call lower_omp_directive. - (gimple_stmt_may_fallthru): Factor out of ... - (gimple_seq_may_fallthru): ... here. - * gimple-iterator.c (gsi_replace): New. - * gimple-iterator.h (gsi_replace): Declare. - * gimple-pretty-print.c: Do not include gimple-iterator.h - * gimplify.c (gimplify_asm_expr): Tidy. - Store the whole TREE_LIST node in the inputs and outputs vectors. - (gimple_push_cleanup): Disable completely. - (gimplify_body): Return a GIMPLE_BIND holding the gimplified - body. - Update all users. - (gimplify_function_tree): Create a GIMPLE sequence to hold - the gimplified body. - * tree-flow.h (gimple_stmt_may_fallthru): Declare. - * Makefile.in (GIMPLE_H): Add gimple-iterator.h. - -2007-08-25 Diego Novillo <dnovillo@google.com> - - * tree-nested.c: Re-implement to use GIMPLE tuples. - (init_tmp_var_with_call): New. - (init_tmp_var): Adapt to GIMPLE tuples. - (save_tmp_var): Likewise. - (convert_nl_goto_receiver): Likewise. - (finalize_nesting_tree_1): Likewise. - (gsi_gimplify_val): Likewise. - Rename from tsi_gimplify_val. Update all users. - (walk_asm_expr): Remove. - (walk_stmts): Remove. - (walk_body): Call walk_gimple_seq. - Add new argument callback_op. Update all users. - (walk_function): Add argument callback_op. Update all users. - (convert_nonlocal_reference_op): Rename from - convert_nonlocal_omp_reference. Update all users. - (convert_nonlocal_reference_stmt): New. Handle GIMPLE - statements that used to be tree nodes. - (convert_local_reference_op): Rename from - convert_local_reference. Update all users. - (convert_local_reference_stmt): New. Handle GIMPLE statements - that used to be tree nodes. - (convert_nl_goto_reference): Convert to walk_stmt_fn callback. - Update all users. - (convert_tramp_reference_op): Rename from - convert_tramp_reference. Update all users. - (convert_tramp_reference_stmt): New. Handle GIMPLE statements - that used to be tree nodes. - (convert_gimple_call): Rename from convert_call_expr. Convert - to be a walk_stmt_fn callback. - * gimple.c (gimple_seq_add): Rename from gimple_add. Update - all users. - (walk_gimple_seq): Rename from walk_seq_ops. Update all - users. - (walk_gimple_stmt): Rename from walk_tuple_ops. Update all - users. - Use two callback functions one for statements and another for - operands. If either is NULL do not invoke it. - Allow callbacks to replace operands. - (WALKIT): Remove. - (walk_gimple_asm): New. - * gimple.h: Include ggc.h - (gimple_seq_alloc): New. Use everywhere a GIMPLE sequence is - allocated. - (gimple_op_ptr): New. - (gimple_call_arg_ptr): New. - (gimple_catch_types_ptr): New. - (gimple_eh_filter_types_ptr): New. - (gimple_omp_critical_name_ptr): New. - (gimple_omp_for_clauses_ptr): New. - (gimple_omp_for_index_ptr): New. - (gimple_omp_for_initial_ptr): New. - (gimple_omp_for_final_ptr): New. - (gimple_omp_for_incr_ptr): New. - (gimple_omp_parallel_clauses_ptr): New. - (gimple_omp_parallel_child_fn_ptr): New. - (gimple_omp_parallel_data_arg_ptr): New. - (gimple_omp_single_clauses_ptr): New. - (gimple_omp_sections_clauses_ptr): New. - (walk_stmt_fn): New type. - (struct walk_stmt_info): Move from tree-gimple.h. - Rename field callback to callback_op. - Add new field callback_stmt. - Replace field tsi with gsi of type gimple_stmt_iterator. - (walk_gimple_seq): Declare. - (walk_gimple_stmt): Declare. - * tree-cfg.c (execute_build_cfg): Do not call - build_gimple_cfg. - (pass_build_cfg): Enable. - Disable TODO_verify_stmts and TODO_cleanup_cfg. - -2007-08-22 Aldy Hernandez <aldyh@redhat.com> - - * tree-phinodes.c (reserve_phi_args_for_new_edge): Comment out - call to phi_nodes_ptr. - (remove_phi_node): Same. - * tree-flow-inline.h (get_lineno): Work with empty statements or - empty locations. - (phi_nodes_ptr): Remove. - (phi_arg_index_from_use): Adjust for tuples. - (bsi_stmt_ptr): Add ATTRIBUTE_UNUSED. - (op_iter_init): Remove assertion. - (next_imm_use_stmt): Change NULL_TREE to NULL. - * tree-dfa.c (mark_symbols_for_renaming): Adjust for tuples. - * tree-flow.h: Remove bb_for_stmt prototype. - (mark_symbols_for_renaming): Make argument gimple. - -2007-08-22 Aldy Hernandez <aldyh@redhat.com> - - Change all instances of bb_for_stmt to gimple_bb throughout. - - * gimple.h (gimple_omp_parallel_combined_p): New. - * tree-ssa-operands.h (update_stmt_operands): Argument is now - gimple. - * tree-ssa-threadupdate.c (rederiction_block_p): Use gimple_nop_p - instead of IS_EMPTY_STMT. - * tree-ssa-loop-niter.c: Disable use of COND_EXPR_COND. - * tree-pretty-print.c (dump_bb_header): Adjust for tuples. - * cgraph.c (cgraph_add_new_function): Rename - tree_register_cfg_hooks to gimple_register_cfg_hooks. - * value-prof.c (set_histogram_value): Stmt type is now gimple. - (gimple_histogram_value): Same. - (gimple_remove_histogram_value): Same. - (gimple_remove_stmt_histograms): Same. - * tree.h (struct ssa_use_operand_d): Same. - * value-prof.h (struct histogram_value_t): Same. - Change gimple_*histogram* prototypes to use gimple instead of - tree. - * ipa-cp.c (ipcp_insert_stage): Rename tree_register_cfg_hooks to - gimple_register_cfg_hooks. - * cfghooks.c (gimple_register_cfg_hooks): Rename from - tree_register_cfg_hooks. Initialize cfg_hooks to gimple_cfg_hooks. - (current_ir_type): Rename tree_cfg_hooks to gimple_cfg_hooks. - * input.h (IS_LOCATION_EMPTY): New. - * cfghooks.h: Rename tree_cfg_hooks to gimple_cfg_hooks. Rename - tree_register_cfg_hooks to gimple_register_cfg_hooks. - * omp-low.c (determine_parallel_type): Adjust for tuples. - (expand_omp_parallel): Rename bb_stmt_list to bb_seq. - (expand_omp_for_generic): Call gimple_omp_return_nowait_p. - (expand_omp_for_static_nochunk): Same. - (expand_omp_sections): Call gimple_omp_section_last_p. - (expand_omp_single): Comment out call to find_omp_clause. - Call gimple_omp_return_nowait_p. - * cgraphunit.c: Rename tree_register_cfg_hooks to - gimple_register_cfg_hooks. - * tree-ssa-propagate.c: Comment out non working code. - * matrix-reorg.c (matrix_reorg): Rename tree_register_cfg_hooks to - gimple_register_cfg_hooks. - * tree-eh.c (add_stmt_to_eh_region_fn): Change `t' type to gimple. - Adjust accordingly. - (add_stmt_to_eh_region): Same. - (remove_stmt_from_eh_region_fn): Same. - (remove_stmt_from_eh_region): Same. - (lookup_stmt_eh_region_fn): Same. - (lookup_stmt_eh_region): Same. - (make_eh_edges): Adjust for tuples. - (stmt_can_throw_internal): Rename from tree_can_throw_internal. - Adjust for tuples. - (maybe_clean_or_replace_eh_stmt): Arg types are now gimple. - * tree-vectorizer.c: Rename tree_register_cfg_hooks to - gimple_register_cfg_hooks. - * tree-if-conv.c (combine_blocks): Adjust for tuples. - * profile.c (branch_prob): Same. - * tree-flow-inline.h (bb_for_stmt): Remove. - (get_lineno): Adjust for tuples. - (noreturn_call_p): Same. - (mark_stmt_modified): Same. - (update_stmt): Same. - (update_stmt_if_modified): Same. - (stmt_modified_p): Same. - (link_imm_use_stmt): Same. - (relink_imm_use_stmt): Same. - (single_imm_use): Same. - (gimple_phi_arg_def): New. - (gimple_phi_arg_edge): New. - (phi_nodes): Adjust for tuples. - (phi_nodes_ptr): Same. - (set_phi_nodes): Same. - (bb_seq): Rename from bb_stmt_list and adjust for tuples. - (set_bb_seq): Rename from set_bb_stmt_list and adjust for tuples. - (bsi_start): Adjust for tuples. - (bsi_after_labels): Adjust for tuples. - (bsi_last): Same. - (bsi_next): Same. - (bsi_prev): Same. - (bsi_stmt): Same. - (bsi_stmt_ptr): Same. - (loop_containing_stmt): Same. - (delink_stmt_imm_use): Same. - (first_imm_use_stmt): Same. - (next_imm_use_stmt): Same. - * gimplify.c (force_gimple_operand_bsi): Same. - * coretypes.h (const_gimple): New. - * tree-ssa-phiopt.c (empty_block_p): Call gimple_nop_p. - (conditional_replacement): Comment out COND_EXPR_COND. - (value_replacement): Comment out COND_EXPR_COND. - (minmax_replacement): Same. - (abs_replacement): Same. - * except.h (*eh_region*): Change trees to gimple. - (struct throw_stmt_node): Change stmt type to gimple. - * cfgexpand.c (label_rtx_for_bb): Adjust for tuples. - (expand_gimple_cond_expr): Same. - (expand_gimple_basic_block): Same. - * tree-cfgcleanup.c (split_bbs_on_noreturn_calls): Same. - * tree-ssa-pre.c (realify_fake_stores): Comment out non working - code. - * tree-ssa-forwprop.c (propagate_with_phi): Rename - tree_can_throw_internal stmt_can_throw_internal. - * tree-inline.c (copy_edges_for_bb): Rename - tree_can_throw_internal to stmt_can_throw_internal. - (initialize_cfun): Same. - (copy_cfg_body): Same. - (gimple_expand_calls_inline): Same. - (make_nonlocal_label_edges): Rename tree_can_make_abnormal_goto to - stmt_can_make_abnormal_goto. - * tree-optimize.c (tree_lowering_passes): Rename - tree_register_cfg_hooks to gimple_register_cfg_hooks. - (tree_rest_of_compilation): Same. - * tree-flow.h (struct gimple_df): Make modified_noreturn_calls a - vector of gimple types. - Adjust prototypes for tuples. - (struct block_stmt_iterator): Make iterator a gimple iterator. - (enum bsi_iterator_update): Remove BSI_CHAIN_START and - BSI_CHAIN_END. - * Makefile.in (tree-cfg.o): Depend on GIMPLE_H. - (GTFILES): Move gimple.[hc] entries before tree-flow.h. - * basic-block.h (struct edge_def): Make goto_locus of type - location_t. - (union basic_block_il_dependent): Adjust for tuples. - (gimple_bb_info): Rename from tree_bb_info. Adjust for tuples. - * tree-cfg.c: Include gimple.h. - Adjust prototypes for tuples. - (build_gimple_cfg): Rename from build_tree_cfg. Adjust for - tuples. - (execute_build_cfg): Rename build_tree_cfg call to - build_gimple_cfg. - (factor_computed_gotos): Adjust for tuples. - (make_blocks): Same. - (create_bb): Same. - (fold_cond_expr_cond): Same. - (make_edges): Same. - (make_cond_expr_edges): Same. - (make_switch_expr_edges): Same. - (make_goto_expr_edges): Same. - (cleanup_dead_labels): Same. - (group_case_labels): Same. - (tree_can_merge_blocks_p): Same. - (replace_uses_by): Same. - (tree_merge_blocks): Same. - (is_ctrl): Same. - (is_ctrl_altering_stmt): Same. - (computed_goto_p): Same. - (simple_goto_p): Same. - (stmt_can_make_abnormal_goto): Rename from - tree_can_make_abnormal_goto. - Adjust for tuples. - (stmt_starts_bb_p): Adjust for tuples. - (stmt_ends_bb_p): Same. - (first_stmt): Same. - (last_stmt): Same. - (last_and_only_stmt): Same. - (set_bb_for_stmt): Same. - (change_bb_for_stmt): Same. - (bsi_for_stmt): Same. - (update_modified_stmt): Rename from update_modified_stmts. - Adjust for tuples. - Handle only one statement. - (bsi_insert_before): Adjust for tuples. - (bsi_insert_after): Same. - (bsi_insert_seq_before): New. - (bsi_insert_seq_after): New. - (bsi_remove): Ajust for tuples. - (bsi_replace): Same. - (verify_stmt): Same. - (gimple_split_block): Rename from tree_split_block. - Adjust for tuples. - (tree_purge_dead_abnormal_call_edges): Adjust for tuples. - (tree_cfg_hooks): Same. - * tree-ssa-operands.c (update_stmt_operands): Same. - -2007-08-22 Aldy Hernandez <aldyh@redhat.com> - - * Makefile.in (TREE_GIMPLE_H): Depend on GIMPLE_H. - * gimple-iterator.h: Do not include gimple.h. - * gimple.h (OMP_SECTION_LAST_FLAG): New. - (gimple_omp_return_nowait_p): New. - (gimple_omp_section_last_p): New. - (gimple_switch_set_num_labels): New. - (gimple_nop_p): New. - -2007-08-17 Aldy Hernandez <aldyh@redhat.com> - - Revert this change: - - 2007-08-14 Aldy Hernandez <aldyh@redhat.com> - - * gimple.c (gimple_call_flags): Make sure this is a GIMPLE_CALL. - -2007-08-14 Aldy Hernandez <aldyh@redhat.com> - - * gimple-iterator.c (gsi_split_seq_after): New. - (gsi_split_seq_before): New. - * gimple-iterator.h: Prototype above two functions. - -2007-08-14 Aldy Hernandez <aldyh@redhat.com> - - * gimple.h (gimple_has_ops): New. - (gimple_modified): New. - (set_gimple_modified): New. - (gimple_switch_default_label): Call gimple_switch_label. - (gimple_switch_set_default_label): Call gimple_switch_set_label. - -2007-08-14 Aldy Hernandez <aldyh@redhat.com> - - * gimple.c (gimple_call_flags): Make sure this is a GIMPLE_CALL. - -2007-08-14 Diego Novillo <dnovillo@google.com> - - Merge with mainline @127480. - - * version.c (VERSUFFIX): Update. - -2007-08-09 Diego Novillo <dnovillo@google.com> - - * gimple-low.c: Document conversion to Low GIMPLE. - * Makefile.in (gimple.o): Add dependency on gt-gimple.h - (GTFILES): Add gimple.c. - * gimple.c (gimple_bodies_vec): New. - (gimple_bodies_map): Rename from gimple_bodies. - (gss_for_code): Return GSS_ASM for GIMPLE_ASM. - (walk_tuple_ops): Handle GSS_ASM like GSS_WITH_OPS. - (set_gimple_body): Push body into gimple_bodies_vec and create - a mapping to array index in gimple_bodies_map. - (gimple_body): Corresponding changes to use gimple_bodies_map - and gimple_bodies_vec. - * gimple.h: Create VEC templates for gimple_seq. - -2007-08-08 Aldy Hernandez <aldy@quesejoda.com> - - * gimple-low.c (struct return_statements_t): Declare. - (struct lower_data): Make return_statements a vector. - (lower_function_body): Adjust for tuples. - (pass_lower_cf): Add PROP_gimple_any to properties_required. - (lower_sequence): Rename from lower_stmt_body. - Adjust for tuples. - (lower_omp_directive): Adjust for tuples. - (lower_stmt): Same. - (lower_gimple_bind): Rename from lower_bind_expr. - Adjust for tuples. - (gimple_try_catch_may_fallthru): New. - (gimple_seq_may_fallthru): New. - (lower_gimple_return): Rename from lower_return_expr and adjust - for tuples. - (lower_builtin_setjmp): Adjust for tuples. - * gimple-iterator.c: New. - * gimple-iterator.h: Include gimple.h. - (enum gsi_iterator_update): Declare. - (gsi_link_seq_before): New prototype. - (gsi_link_before): Same. - (gsi_link_seq_after): Same. - (gsi_link_after): Same. - (gsi_delink): Same. - * gimplify.c (gimplify_body): Comment out verify_gimple_1 call. - * tree-flow.h (gimple_seq_may_fallthru): New prototype. - * Makefile.in (OBJS-common): Add gimple-iterator.o. - (gimple-iterator.o): New. - (gimple-pretty-print.o): Do not depend on gimple-iterator.h. - * gimple.c (set_gimple_prev): Move to gimple.h. - (set_gimple_next): Same. - (gimple_call_flags): New. - * gimple.h (struct gimple_sequence): Add GTY marker. - (struct gimple_statement_bind): Add block field. - (set_gimple_prev): New. - (set_gimple_next): New. - (gimple_call_flags): Protoize. - (gimple_call_fndecl): New. - (gimple_bind_block): New. - (gimple_bind_set_block): New. - - -2007-08-08 Diego Novillo <dnovillo@google.com> - - * gimple.h (GIMPLE_CHECK, GIMPLE_CHECK2, GIMPLE_RANGE_CHECK): - Do not return the checked statement. Update all users. - Enable on compilers other than GCC. - -2007-08-07 Chris Matthews <chrismatthews@google.com> - - * gimple_iterator.h (gsi_start): Changed to produce a pointer instead of - struct. Updated clients. - (gsi_last): Same. - (gsi_end_p): Changed to operate on a pointer instead of struct. Updated - clients. - (gsi_one_before_end_p): Same. - (gsi_next): Same. - (gsi_prev): Same. - (gsi_stmt): Same. - -2007-08-07 Diego Novillo <dnovillo@google.com> - - Merge with mainline @127277. - - * version.c (VERSUFFIX): Update. - -2007-08-07 Diego Novillo <dnovillo@google.com> - - * gimple.h (gimple_call_return): New. - * gimplify.c (get_tmp_var_for): Call it. - -2007-08-02 Chris Matthews <chrismatthews@google.com> - - * gimplify.c (gimplify_asm_expr): Created new gimple tuple. - * gimple-pretty-printer.c (dump_gimple_asm): Added function to dump a - GIMPLE_ASM statement. - (dump_gimple_stmt): Updated to use the dump_gimple_asm function. - * gimple.c (gss_for_code): Made asm statements return as with_mem_ops. - (build_gimple_with_ops): Asm statements are added as a specal case for - allocation because they have extra fields that are not - allocated correctly in the current generic op allocator. - (build_gimple_asm_1): Added a helper function to setup the basics of a - GIMPLE_ASM tuple. - (build_gimple_asm_vec): Create a GIMPLE_ASM tuple from vector arguments. - (build_gimple_asm): Changed to call the new helper function. - -2007-08-03 Diego Novillo <dnovillo@google.com> - - * gimple-pretty-print.c (INDENT): Tidy. - (dump_binary_rhs): New. - (dump_gimple_assign): Call it. - * gimplify.c (gimplify_modify_expr_complex_part): If the value - is not interesting, nullify *EXPR_P. - (gimplify_body): Do not add the sequence to the GIMPLE_BIND more - than once. - -2007-08-01 Diego Novillo <dnovillo@google.com> - - * gimplify.c (gimplify_switch_expr): Remove switch_body_seq_. - Change switch_body_seq to struct gimple_sequence. - Adjust all uses. - Call gimplify_stmt instead of gimplify_statement_list - (gimplify_to_stmt_list): Remove. - Update all users. - * tree-mudflap.c: Include gimple.h - (mf_decl_cache_locals): Convert to emit GIMPLE. - (mf_build_check_statement_for): Add FIXME and unreachable - markers to convert to GIMPLE. - * Makefile.in (tree-mudflap.o): Depend on $(GIMPLE_H). - * config/i386/i386.c (ix86_gimplify_va_arg): Adapt to emit - GIMPLE. - -2007-08-01 Diego Novillo <dnovillo@google.com> - - * gimplify.c (gimplify_switch_expr): Do not call sort_case_labels - if there are no labels other than 'default'. - * gimple.h (gimple_num_ops, gimple_op, gimple_set_op): Use - result of GIMPLE_RANGE_CHECK call. - -2007-08-01 Diego Novillo <dnovillo@google.com> - - * DEV-PHASE: Revert to mainline version. - * version.c (VERSUFFIX): Add branch name and revision number - of latest mainline merge. - -2007-07-31 Diego Novillo <dnovillo@google.com> - - Mainline merge (@127100). - * DEV-PHASE: Updated. - -2007-07-31 Diego Novillo <dnovillo@google.com> - - * dominance.c (free_dominance_info): If there is no CFG, - do nothing. - * cfg.c (compact_blocks): Likewise. - -2007-07-30 Diego Novillo <dnovillo@google.com> - - * gimplify.c (get_tmp_var_for): When creating a new temporary - for a GIMPLE_CALL, use the type returned by the function call - instead of the type of the function decl. - * gimple.c (build_gimple_return): Accept NULL and RESULT_DECL - return values. - -2007-07-30 Diego Novillo <dnovillo@google.com> - - * gimplify.c (gimplify_init_constructor): If both sides - of the constructor are in GIMPLE form but the assignment - has not been emitted, emit it. - -2007-07-28 Diego Novillo <dnovillo@google.com> - - * gimplify.c (gimplify_return_expr): Do not create a MODIFY_EXPR - as return argument - * gimple.c (build_gimple_return): Assert that the returned value - is a GIMPLE value. - -2007-07-27 Diego Novillo <dnovillo@google.com> - - * tree-gimple.c (get_gimple_rhs_class): New. - (is_gimple_formal_tmp_rhs): Call it. - * tree-gimple.h (enum gimple_rhs_class): New. - * gimple-iterator.h (gsi_next): Assert that there is nothing - beyond the end of the sequence. - (gsi_prev): Assert that there is nothing before the start of - the sequence. - * gimplify.c (gimplify_switch_expr): Tidy creation of default label. - (gimplify_expr): Fix concatenation of internal sequences to PRE_P. - * gimple.c (get_num_ops_for): Remove. Update users. - (build_gimple_assign): Call get_gimple_rhs_class to determine - how many operands to allocate. - (gimple_add): Assert that GS does not have previous or next - statements. - (gimple_seq_append): Move from gimple.h. - -2007-07-27 Aldy Hernandez <aldy@quesejoda.com> - - * cgraph.c: Fix line wrap. - * cgraph.h: Same. - * tree-pass.h (struct tree_opt_pass): Add works_with_tuples_p - field. - * cgraphunit.c (cgraph_analyze_functions): Remove check for - DECL_SAVED_TREE. - (cgraph_expand_function): Comment out TREE_ASM_WRITTEN assertion. - * tree-optimize.c (tree_lowering_passes): Comment out call to - compact_blocks. - * passes.c (execute_one_pass): Return if pass has not been - converted to tuples. - * tree-vrp.c, regrename.c, fwprop.c, tree-into-ssa.c, - tree-complex.c, see.c, cgraphbuild.c, tracer.c, cgraph.c, - postreload-gcse.c, postreload.c, tree-ssa-loop-ch.c, - tree-tailcall.c, tree-pass.h, ipa-cp.c, final.c, omp-low.c, - tree-ssa-dse.c, ipa-reference.c, tree-ssa-uncprop.c, - auto-inc-dec.c, reorg.c, tree-ssa-copyrename.c, tree-ssa-ccp.c, - df-core.c, mode-switching.c, tree-nomudflap.c, modulo-sched.c, - ipa-pure-const.c, cse.c, web.c, tree-stdarg.c, - tree-ssa-math-opts.c, tree-ssa-dom.c, tree-nrv.c, - tree-ssa-alias.c, loop-init.c, gimple-low.c, tree-ssa-sink.c, - ipa-inline.c, global.c, jump.c, ifcvt.c, predict.c, - tree-ssa-loop.c, recog.c, dse.c, tree-ssa-ifcombine.c, - matrix-reorg.c, c-decl.c, tree-eh.c, regmove.c, local-alloc.c, - function.c, tree-vectorizer.c, gcse.c, ipa-type-escape.c, - tree-if-conv.c, init-regs.c, ipa.c, tree-ssa-phiopt.c, - rtl-factoring.c, lower-subreg.c, bt-load.c, tree-dfa.c except.c, - emit-rtl.c, cfgexpand.c, tree-cfgcleanup.c, cfgcleanup.c, - tree-ssa-pre.c, tree-sra.c, tree-mudflap.c, tree-ssa-copy.c, - cfglayout.c, tree-ssa-forwprop.c, tree-ssa-dce.c, tree-ssa.c, - regclass.c, integrate.c, tree-optimize.c, tree-object-size.c, - combine.c, tree-outof-ssa.c, bb-reorder.c, stack-ptr-mod.c, - var-tracking.c, tree-profile.c, tree-vect-generic.c, reg-stack.c, - sched-rgn.c, tree-ssa-structalias.c, tree-cfg.c, passes.c, - tree-ssa-reassoc.c, combine-stack-adj.c, cfgrtl.c, dce.c, - tree-ssanames.c: Set works_with_tuples_p field to 0. - -2007-07-25 Diego Novillo <dnovillo@google.com> - - * gimple.c: Use ENABLE_GIMPLE_CHECKING instead of - ENABLE_TREE_CHECKING. - (set_gimple_code): New. - (set_gimple_prev): New. - (set_gimple_next): New. - * gimple.h: Use ENABLE_GIMPLE_CHECKING instead of - ENABLE_TREE_CHECKING. - (gimple_code): Inline function replacement for GIMPLE_CODE. - (gimple_flags): Inline function replacement for GIMPLE_SUBCODE_FLAGS. - (gimple_next): Inline function replacement for GIMPLE_NEXT. - (gimple_prev): Inline function replacement for GIMPLE_PREV. - (gimple_locus): Inline function replacement for GIMPLE_LOCUS. - (gimple_locus_empty_p): Inline function replacement for - GIMPLE_LOCUS_EMPTY_P. - (struct gimple_statement_base): Rename field 'subcode_flags' - to 'flags'. - (set_gimple_flags): New. - (gimple_bb): New. - (set_gimple_bb): New. - (set_gimple_block): New. - (set_gimple_locus): New. - (add_gimple_flag): Rename from gimple_add_subcode_flag. - -2007-07-25 Diego Novillo <dnovillo@google.com> - - * tree-gimple.h (build_gimple_eh_filter_tree): Rename from - gimple_build_eh_filter_tree. - * gimple.h (build_gimple_return): Rename from gimple_build_return. - (build_gimple_assign): Rename from gimple_build_assign. - (build_gimple_call_vec): Rename from gimple_build_call_vec. - (build_gimple_call): Rename from gimple_build_call. - (build_gimple_label): Rename from gimple_build_label. - (build_gimple_goto): Rename from gimple_build_goto. - (build_gimple_nop): Rename from gimple_build_nop. - (build_gimple_bind): Rename from gimple_build_bind. - (build_gimple_asm): Rename from gimple_build_asm. - (build_gimple_catch): Rename from gimple_build_catch. - (build_gimple_eh_filter): Rename from gimple_build_eh_filter. - (build_gimple_try): Rename from gimple_build_try. - (build_gimple_phi): Rename from gimple_build_phi. - (build_gimple_resx): Rename from gimple_build_resx. - (build_gimple_switch): Rename from gimple_build_switch. - (build_gimple_switch_vec): Rename from gimple_build_switch_vec. - (build_gimple_omp_parallel): Rename from gimple_build_omp_parallel. - (build_gimple_omp_for): Rename from gimple_build_omp_for. - (build_gimple_omp_critical): Rename from gimple_build_omp_critical. - (build_gimple_omp_section): Rename from gimple_build_omp_section. - (build_gimple_omp_continue): Rename from gimple_build_omp_continue. - (build_gimple_omp_master): Rename from gimple_build_omp_master. - (build_gimple_omp_return): Rename from gimple_build_omp_return. - (build_gimple_omp_ordered): Rename from gimple_build_omp_ordered. - (build_gimple_omp_sections): Rename from gimple_build_omp_sections. - (build_gimple_omp_single): Rename from gimple_build_omp_single. - Update all users. - -2007-07-24 Chris Matthews <chrismatthews@google.com> - - * configure.ac: Added support for ENABLE_GIMPLE_CHECKING and the - --enable-checking=gimple flag. - * config.in: Same. - * configure: Regenerated. - * gimplify.c (cpt_same_type): Same. - (gimple_push_condition): Same. - (gimplify_addr_expr): Same. - (gimplify_expr): Same. - (gimplify_body): Same. - (check_pointer_types_r): Same. - -2007-07-24 Diego Novillo <dnovillo@google.com> - - * gimple.def: Re-organize codes that take tree operands so - they are consecutive. - * gsstruct.def (GSS_LABEL, GSS_ASSIGN_BINARY, GSS_ASSIGN_UNARY_REG, - GSS_ASSIGN_UNARY_MEM, GSS_COND, GSS_GOTO, GSS_SWITCH, GSS_CALL, - GSS_RETURN): Remove. Update al users. - * gimple.c (gss_for_code): New. - (gimple_statement_structure): Call it. - (get_num_ops_for): New. - (gimple_build_with_ops): New. - (gimple_build_return, gimple_build_call_1, gimple_build_assign, - gimple_build_cond, gimple_build_label, gimple_build_goto, - gimple_build_switch_1, ): Call it. - (gss_for_assign): Remove. Update all users. - (gimple_check_failed): Do not assume that subcode is a valid tree - code. - (gimple_range_check_failed): New. - (walk_tuple_ops): Implement in terms of gimple_num_ops and - gimple_op when dealing with GSS_WITH_OPS and GSS_WITH_MEM_OPS - statements. - * gimple.h (struct gimple_statement_with_ops): Add fields 'num_ops' - and 'op'. - (struct gimple_statement_label, gimple_statement_assign_binary, - gimple_statement_assign_unary_reg, gimple_statement_assign_unary_mem, - gimple_statement_cond, gimple_statement_goto, gimple_statement_switch, - gimple_statement_call, gimple_statement_return): Remove. - Update all users. - (gimple_range_check_failed): Declare. - (GIMPLE_RANGE_CHECK): Define. - (gimple_num_ops): New. - (gimple_op): New. - (gimple_set_op): New. - (gimple_assign_rhs1): Rename from gimple_assign_binary_rhs1. - (gimple_assign_set_rhs1): Rename from gimple_assign_binary_set_rhs1. - (gimple_assign_rhs2): Rename from gimple_assign_binary_rhs2. - (gimple_assign_set_rhs2): Rename from gimple_assign_binary_set_rhs2. - (gimple_assign_unary_rhs): Remove. Update all users. - (gimple_assign_unary_set_rhs): Likewise. - (gimple_switch_num_labels): Rename from gimple_switch_nlabels. - (gimple_call_fn, gimple_call_lhs, gimple_call_chain, - gimple_call_set_chain, gimple_call_nargs, gimple_call_arg, - gimple_call_set_arg, gimple_cond_lhs, gimple_cond_set_lhs, - gimple_cond_rhs, gimple_cond_set_rhs, gimple_cond_true_label, - gimple_cond_false_label, gimple_cond_set_true_label, - gimple_cond_set_false_label, gimple_label_label, - gimple_label_set_label, gimple_goto_dest, - gimple_goto_set_dest, gimple_asm_input_op, - gimple_asm_set_input_op, gimple_asm_output_op, - gimple_asm_set_output_op, gimple_asm_clobber_op, - gimple_asm_set_clobber_op, gimple_switch_num_labels, - gimple_switch_index, gimple_switch_set_index, - gimple_switch_default_label, gimple_switch_set_default_label, - gimple_switch_label, gimple_switch_set_label, - gimple_return_retval, gimple_return_set_retval): Implement - using the array of operands in field 'with_ops'. - (gimple_asm_set_ninputs, gimple_asm_set_noutputs, - gimple_asm_set_nclobbered, gimple_asm_set_string): Remove. - Update all users. - - -2007-07-24 Aldy Hernandez <aldyh@redhat.com> - - * tree.c (get_callee_fndecl): Revert previous change. - * gimplify.c (gimplify_call_expr): Use result from - get_callee_fndecl if available. - * c-common.c (c_warn_unused_result): Do not use - get_callee_fndecl. - Add assertion. - -2007-07-24 Diego Novillo <dnovillo@google.com> - - Merge with mainline (@126872) - -2007-07-23 Aldy Hernandez <aldyh@redhat.com> - - * tree.c (get_callee_fndecl): Work when only the CALL_EXPR_FN has - been passed. - * c-common.c (c_warn_unused_result): Use get_callee_fndecl. - -2007-07-23 Aldy Hernandez <aldyh@redhat.com> - - * c-decl.c: Include gimple.h. - (c_gimple_diagnostics_recursively): Call c_warn_unused_result with - tuplified body. - Exit if -fgimple-only. - * gimplify.c (gimplify_call_expr): Call gimple_build_call_vec with - the correct callee. - * c-gimplify.c (c_genericize): Remove exit. - * c-common.c: Include gimple.h. - (c_warn_unused_result): Tuplify. - * c-common.h (c_warn_unused_result): Protoize. - * Makefile.in (c-decl.o): Depend on GIMPLE_H. - (c-common.o): Same. - * gimple.c (gimple_build_catch): Handler is a sequence. - Adjust accordingly. - (gimple_build_eh_filter): Failure is a sequence. - Adjust accordingly. - (walk_tuple_ops): case GIMPLE_CATCH: Walk handler as a sequence. - case GIMPLE_EH_FILTER: Walkder failure as a sequence. - * gimple.h (gimple_statement_catch): Make handler a sequence. - (gimple_statement_eh_filter): Make failure a sequence. - (gimple_build_catch): Make second argument a sequence. - (gimple_build_eh_filter): Same. - (gimple_catch_handler): Return a sequence. - (gimple_catch_set_handler): Make second argument a sequence. - (gimple_eh_filter_failure): Return a sequence. - (gimple_eh_filter_set_failture): Make second argument a sequence. - -2007-07-20 Aldy Hernandez <aldyh@redhat.com> - - * gimplify.c (gimplify_return_expr): Handle an empty ret_expr - gracefully. - -2007-07-19 Aldy Hernandez <aldyh@redhat.com> - - * testsuite/gcc.dg/gimple/instrument.c: New. - * gimplify.c (gimplify_function_tree): Generate tuples for function - instrumentation. - -2007-07-18 Aldy Hernandez <aldyh@redhat.com> - - * gimplify.c (gimple_add_tmp_var): Remove abort. Add comment. - -2007-07-18 Aldy Hernandez <aldyh@redhat.com> - - * gimplify.c (gimple_add_tmp_var): Remove abort. Add comment. - -2007-07-18 Aldy Hernandez <aldyh@redhat.com> - - * gimplify.c (gimplify_and_add): Remove unecessary temporary sequence. - Remove fixme. Add comment. - (gimplify_loop_expr): Tuplefy. - (gimplify_bind_expr): Streamline GIMPLE_TRY_FINALLY tuple. - (gimplify_expr): Tuplefy TRY_*_EXPR cases. - * gimple.c: Fix some spacing. - (gimple_build_try, gimple_omp_build_*): Handle empty sequences. - (gimple_push): Remove. - * gimple.h (gimple_push): Remove. - -2007-07-18 Aldy Hernandez <aldyh@redhat.com> - - * tree-gimple.h (declare_vars): Update arguments. - * gimplify.c (pop_gimplify_context): Enable call to declare_vars. - (declare_vars): Convert to use tuples. - (gimple_add_tmp_var): Same. - * gimple.h (GIMPLE_BLOCK): New. - -2007-07-17 Chris Matthews <chrismatthews@google.com> - - * gimplify.c (gs_build_eh_filter): Renamed to gs_build_eh_filter_tree - to avoid name conflict. - * gimple-pretty-print.c: Renamed to debug_gs_* to debug_gimple_*. - Updated all users. - * gimple.h: Renamed all functions with GS and gs prefixes to GIMPLE and - gimple, and updated users. - Renamed gs_seq_* functions to gimple_seq_*. Updated all users. - * gimple.def: Definitions changed to from GS_* to GIMPLE_*. - -2007-07-16 Chris Matthews <chrismatthews@google.com> - - * gimple.c (gs_build_switch): Changed nlabels to represent total number - of labels including the default. - (gs_build_switch_1): Same. - (walk_tuple_ops): Same. - * gimple-pretty-print.c (dump_gs_switch): Same. - -2007-07-16 Aldy Hernandez <aldyh@redhat.com> - - * gimplify.c (gimplify_ctx): Rename current_bind_expr_seq to - bind_expr_stack and make it a vector. - (push_gimplify_context): Adjust bind_expr_stack for vectors. - (pop_gimplify_context): Same. - (gimple_push_bind_expr): Same. - (gimple_pop_bind_expr): Same. - (gimple_current_bind_expr): Same. - (get_tmp_var_for): Use ``code''. - (gimplify_bind_expr): Remove comment. - (gimplify_case_label_expr): Add whitespace. - * gimple.c (gs_pop): Remove. - * gimple.h: Define vectors of a gimple type. - (gs_pop): Remove prototype. - * Makefile.in (GIMPLE_H): Add vec.h. - -2007-07-15 Diego Novillo <dnovillo@google.com> - - * gimple.c: Rename from gimple-ir.c. - Update all users. - * gimple.h: Rename from gimple-ir.h. - Update all users. - -2007-07-15 Diego Novillo <dnovillo@google.com> - - * gimple-ir.c (gimple_statement_structure): Remove code - after gcc_unreachable call. - * gimplify.c (get_tmp_var_for): New. - (gimplify_call_expr): Call it. - -2007-07-14 Aldy Hernandez <aldyh@redhat.com> - - * testsuite/gcc.dg/gimple/with_size_expr.c: Check for GS_TRY. - * Makefile.in (gimple-ir.o): Add diagnostic.h dependency. - * gimple-pretty-print.c (dump_gs_call): Dump LHS if available. - (dump_gs_try): New. - (dump_gimple_stmt): Add case for GS_TRY. - * gimple-ir.c. Include diagnostic.h. - (gs_build_try): Cleanup and eval are sequences. - Remove catch_p and finally_p arguments. Add catch_finally argument. - (gs_omp_build_critical): Body is a gs_seq. - (gs_omp_build_parallel): Same. - (gs_omp_build_section): Same. - (gs_omp_build_master): Same. - (gs_omp_build_continue): Same. - (gs_omp_build_ordered): Same. - (gs_omp_build_sections): Same. - (gs_omp_build_single): Same. - (gs_omp_build_for): Body and pre_body is a gs_seq. - (gs_push): New. - (gs_pop): New. - (walk_tuple_ops): Walk GS_TRY tuples eval and cleanups correctly. - Dump tuple before we ICE. - * gimple-ir.h (gs_seq_copy): New. - (struct gimple_statement_try): Eval and cleanups are gs_seq's. - (gs_bind_set_body): Use gs_seq_copy. - (gs_try_eval): Return address of eval. - (gs_try_cleanup): Return address of cleanup. - (gs_try_set_eval): Use gs_seq_copy. - (gs_try_set_cleanup): Same. - (gs_omp_set_body): Same. - (gs_omp_for_set_pre_body): Same. - * gimplify.c (struct gimplify_ctx): Rename current_bind_expr to - current_bind_expr_seq, and make it a sequence. - (pop_gimplify_context): Adjust for current_bind_expr_seq. - (gimple_push_bind_expr): Same. - (gimple_pop_bind_expr): Same. - (gimple_current_bind_expr): Same. - (build_stack_save_restore): Generate tuples. - (gimplify_bind_expr): Same. - -2007-07-13 Diego Novillo <dnovillo@google.com> - - * gimple-ir.c (gs_add): Swap arguments. - Update all users. - * gimple-ir.h (gs_seq_append): Likewise. - -2007-07-12 Diego Novillo <dnovillo@google.com> - - * tree.c (create_artificial_label): Move from gimplify.c - (get_name): Likewise. - * tree.h (create_artificial_label, get_name): Move - declarations earlier in the file. - * diagnostic.h (dump_gimple_stmt, print_gimple_stmt, - dump_gimple_seq): Rearrange. - * tree-gimple.h (gimplify_function_tree): Move from tree.h. - * gimple-pretty-print.c (do_niy): Tidy. - (maybe_init_pretty_print): Add comment. - (newline_and_indent): Likewise. - Remove "gimpleir: " prefix. - (debug_gimple_stmt): Add comment. - (dump_gs_seq): Remove. - (dump_gimple_seq): Add argument SPC. - Update all users. - If FLAGS contains TDF_DETAILS, emit "gimpleir:" prefix. - (dump_gs_cond): If FLAGS contains TDF_DETAILS, emit - "gimpleir:" prefix. - (dump_gs_bind): Likewise. - * function.h (struct function): Remove field 'gimplified'. - * gimple-ir.c (gimple_bodies): New private variable. - (set_gimple_body): New. - (gimple_body): New. - * gimple-ir.h: Include pointer-set.h. - Add comment before data structure definitons. - (set_gimple_body): Declare. - (gimple_body): Declare. - * gimplify.c (create_artificial_label): Move to tree.c - (get_name): Likewise. - (gimplify_function_tree): Change return type to void. - Call set_gimple_body after gimplification and nullify - DECL_SAVED_TREE. - Update all callers. - * common.opt (fgimple-only): New option. - * tree-optimize.c (tree_rest_of_compilation): Do not nullify - DECL_SAVED_TREE. - * c-gimplify.c (c_genericize): Restore gimplification logic to - mainline version. - If -fgimple-only was given, exit. - * Makefile.in (GIMPLE_IR_H): Add pointer-set.h - * tree-cfg.c (execute_build_cfg): Nullify GIMPLE body after - building the CFG. - (dump_function_to_file): If DECL_SAVED_TREE is NULL dump the - GIMPLE body of the function. - -2007-07-12 Diego Novillo <dnovillo@google.com> - - * omp-low.c (lower_regimplify): Use a local GIMPLE sequence to - hold the result from gimplification. - * tree-gimple.c (is_gimple_min_val): Reformat. - * tree-gimple.h (enum fallback_t): Document values. - (gimplify_expr): Remove IS_STATEMENT argument. - Update all users. - * langhooks.c (lhd_gimplify_expr): Likewise. - * gimplify.c (gimplify_statement_list): If a temporary - was returned from voidify_wrapper_expr abort to mark the failure. - (gimplify_expr): Remove argument IS_STATEMENT. - Update all users. - Assert that FALLBACK is used with the appropriate GIMPLE_TEST_F - Restore logic to use internal queue. - Do not abort if on return from gimplify_call_expr, *EXPR_P has - a CALL_EXPR. - -2007-07-12 Aldy Hernandez <aldyh@redhat.com> - - * gimple-ir.c (gs_build_switch_1): Allocate one less tree. - (gs_build_switch_1): Offset labels by one. - (gs_switch_label): Same. - (gs_switch_set_label): Same. - -2007-07-12 Aldy Hernandez <aldyh@redhat.com> - - * gimple-ir.c (walk_seq_ops): Rename from walk_tree_seq. - (walk_tuple_ops): Rename from walk_tree_tuple. - * gimple-ir.h, gimplify.c, gimple-ir.c: Rename all calls to - walk_tree_seq and walk_tree_tuple accordingly. - -2007-07-12 Aldy Hernandez <aldyh@redhat.com> - - * gimple-ir.c (gs_build_switch_1): Fix spacing. - Allocate one more tree. - (gs_build_switch): Set labels starting at 1. - (walk_tree_seq): New. - (walk_tree_tuple): New. - * gimple-ir.h: Add prototypes for walk_tree_tuple and walk_tree_seq. - * gimplify.c (check_pointer_types_r): Uncomment. - (gimplify_body): Walk gimple sequence with check_pointer_types_r. - -2007-07-11 Chris Matthews <chrismatthews@google.com> - - * tree-pretty-print.c (dump_generic_node): Removed space before default - label colon. - * tree.h (sort_case_labels): Moved to gimple-ir.h. - * gimplify.c (sort_case_labels): Changed to a vector instead of tree - vector. - (gimplify_switch_expr): Initial implementation with tuples. - (gimplify_expr): Changed gimplify_case_label_expr parameter. - (gimplify_case_label_expr): Added a gs_seq parameter, and put cases in - that. - (dump_gimple_stmt): Removed semicolon. - (dump_gs_label): Refactored from dump_gimple_expr. - (dump_gs_switch): Added. - (gs_build_switch_vec): Added. - * gimple-ir.c (gs_build_switch_1): Added. - (gs_build_switch): Refactored to use gs_build_switch_1. - (gs_build_switch_vec): Added. - * gs_switch.c: New test case. - * gs_switch1.c: New test case. - * gs_switch2.c: New test case. - -2007-07-05 Aldy Hernandez <aldyh@redhat.com> - - * gimple-pretty-print.c (dump_gimple_stmt): Alphabetize cases. - Add case for GS_NOP. - * gimplify.c (gimplify_body): Handle null bodies. - Use GS_CODE instead of GS_SUBCODE_FLAGS. - -2007-07-05 Aldy Hernandez <aldyh@redhat.com> - - * testsuite/gcc.dg/gimple/with_size_expr.c: Clean up dump. - * testsuite/gcc.dg/gimple/gs_bind.c: Clean up dump. - * gimplify.c (struct gimplify_ctx): Make current_bind_expr a tuple. - (pop_gimplify_context): Accept gimple. - Comment out call to declare_vars. - (gimple_current_bind_expr): Return gimple. - (unshare_all_trees): Remove. - (gimplify_self_mod_expr): Remove comment. - (gimplify_cleanup_point_expr): Correct typo in call to gs_seq_init. - (gimplify_body): Remove body local. - Build GS_BIND tuples when needed. - Do not call unshare_all_trees. - Call pop_gimplify_context with appropriate argument. - Comment out call to walk_tree. - * tree-pretty-print.c (print_declaration): Remove static. - * diagnostic.h (print_declaration): Prototype. - * tree-gimple.h (pop_gimplify_context): Accept gimple tuple. - (gimple_current_bind_expr): Return tuple. - * gimple-pretty-print.c (dump_gs_seq): New. - (dump_gs_bind): New. - (dump_gimple_stmt): Add case for GS_BIND. Print semi-colons after - each statement. - -2007-06-29 Aldy Hernandez <aldyh@redhat.com> - - * gimplify.c (gimple_push_condition): Enable. Call gs_seq_init with - address. - (gimplify_cond_expr): Push and pop conditions. Use other GS_COND - predicates when appropriate - -2007-06-28 Aldy Hernandez <aldyh@redhat.com> - - * testsuite/gcc.dg/gimple/gs_goto.c: New. - * testsuite/gcc.dg/gimple/gs_cond.c: New. - * tree-gimple.h (gimplify_stmt): Return bool. - * gimple-pretty-print.c (INDENT): New. - (newline_and_indent): New. - (op_gs_cond): New. - (dump_gs_cond): New. - (dump_gimple_stmt): New. - * gimple-ir.c (gs_cond_invert): New. - * gimple-ir.h (enum gs_cond): Add comment. - (gs_cond_invert): Protoize. - * gimplify.c (gimplify_cond_expr): Rewrite for tuples. - (gimplify_stmt): Return true if we added a statement to the queue. - (gimplify_expr): Enable gimplify_cond_expr. - Build tuples for GOTO_EXPRs and LABEL_EXPRs. - -2007-06-27 Aldy Hernandez <aldyh@redhat.com> - - * gimple-ir.h (gs_seq_last): Return last statement. - * testsuite/gcc.dg/gimple/compound_expr.c: Add checks. - * testsuite/gcc.dg/gimple/gs_call.c: Same. - * testsuite/gcc.dg/gimple/constructors.c: Same. - * testsuite/gcc.dg/gimple/gs_assign.c: Same. - -2007-06-27 Aldy Hernandez <aldyh@redhat.com> - - Put this patch back in. - - 2007-06-22 Aldy Hernandez <aldyh@redhat.com> - - * gimplify.c (gimplify_modify_expr): Return after a successful - call to gimplify_modify_expr_rhs. - -2007-06-26 Aldy Hernandez <aldyh@redhat.com> - - * testsuite/gcc.dg/gimple/gimple.exp: Pass -fdump-tree-gimple-details - * testsuite/gcc.dg/gimple/compound_expr.c: Add dg-final. - * testsuite/gcc.dg/gimple/gs_return.c: Same. - * tree.h (gimplify_function_tree): Add return value. - * diagnostic.h (debug_c_tree): Move under tree-pretty-print.c section. - (dump_gimple_seq): New. - to tests. - * gimple-pretty-print.c (dump_gimple_seq): New. - * gimplify.c (gimplify_function_tree): Add return value. - Remove debug call and exit. - Comment out non-working code. - * c-gimplify.c (c_genericize): Dump gimple IR. Exit. - -2007-06-26 Diego Novillo <dnovillo@google.com> - - * gimple-ir.c (gs_build_call_1): Fix formatting. - -2007-06-26 Diego Novillo <dnovillo@google.com> - - * gimple-pretty-print.c (dump_gs_assign, dump_gs_return, - dump_gs_call): New functions. - (dump_gimple_stmt): Call them. - * gimple-ir.c (gs_build_call_1): Factor out of gs_build_call. - (gs_build_call): Call it. - (gs_build_call_vec): New function. - * gimple-ir.h (struct gimple_statement_call): Change type of - field 'nargs' to size_t. Update all users. - (gs_build_call_vec): Declare. - (gs_call_set_fn): Remove. - (gs_call_set_nargs): Remove. - * gimplify.c: Include "vec.h" - (gimplify_return_expr): Fix formatting - (gimplify_call_expr): Call gs_build_call_vec. - (gimplify_expr): Do not try to test if NULL expressions - are in GIMPLE form. - (gimplify_function_tree): Do not call debug_gimple_seq. - * Makefile.in (gimplify.o): Include vec.h - -2007-06-25 Chris Matthews <chrismatthews@google.com> - - * gimplify.c (gimple_current_bind_expr): Changed to work with gs_seq - accessors - (gimplify_and_add): Same. - (annotate_all_with_locus): Same. - (gimplify_self_mod_expr): Same. - (gimplify_cleanup_point_expr): Same. - (gimplify_expr): Same. - (gimplify_body): Same. - (force_gimple_operand): Same. - (gimplify_init_ctor_eval_range): Added GS_ prefix. - * gimple-iterator.h (gsi_last): Changed to gs_seq accessors. Changed - gimple_stmt_iterator to use a gimple instead of gimple *. - (gsi_one_before_end_p): Same. - (gsi_start): Same. - * gimple-ir.h (gs_cond): Prepended GS_ to names. - (gs_seq_first): Replaced macro. - (gs_seq_last): Same. - (gs_seq_set_first): Same. - (gs_seq_set_last): Same. - (gs_seq_init): Same. - (gs_seq_empty_p): Same. - (gs_assign_operand) Changed opno to be a size_t to match set. - (gs_bind_body): Changed to use gs_seq. - (gs_bind_set_body): Changed to use gs_seq, and gs_seq_set_first, and last. - (gs_asm_ninputs): Renamed. - (gs_asm_noutputs): Renamed. - (gs_asm_nclobbered): Renamed. - (gs_asm_set_ninputs): Renamed. - (gs_asm_set_noutputs): Renamed. - (gs_asm_set_nclobbered): Renamed. - (gs_asm_set_input_op): Renamed. - (gs_asm_input_op): Renamed. - (gs_asm_set_output_op): Renamed. - (gs_asm_output_op): Renamed. - (gs_omp_body): Changed to use gs_seq. - (gs_omp_set_body): Changed to use gs_seq accessors. - (gs_omp_for_pre_body): Changed to use gs_seq. - (gs_omp_for_set_pre_body): Changed to use gs_seq accessors. - (gs_seq_append): Changed to use gs_seq accessors. - * gimple-ir.c (gs_add): Same. - (gs_build_asm): Changed argument names to match accessors, and changed - functions to new accessor names. - (gs_build_cond): Reformatted. - (gs_build_phi): Same. - (gs_build_try): Renamed args to try_p and catch_p. - (gs_build_omp_return): Change to correct arguments, and added a subcode - flag. - * function.c (gimplify-oaraneters): Changed to gs_seq accessors. - -2007-06-22 Aldy Hernandez <aldyh@redhat.com> - - * gimplify.c (gimplify_modify_expr): Return after a successful - call to gimplify_modify_expr_rhs. - -2007-06-21 Aldy Hernandez <aldyh@redhat.com> - - * gimple-ir.h (gs_assign_binary_rhs1): Add assertion for - GSS_ASSIGN_BINARY. - (gs_assign_binary_set_rhs1): Same. - (gs_assign_binary_rhs2): Same. - (gs_assign_binary_set_rhs2): Same. - (gs_assign_unary_rhs): Same. - (gs_assign_unary_set_rhs): Same. - -2007-06-21 Aldy Hernandez <aldyh@redhat.com> - - * gcc.dg/gimple/gimple.exp: New. - * gcc.dg/gimple/compound_expr.c: New. - * gcc.dg/gimple/with_size_expr.c: New. - * gcc.dg/gimple/compound_expr.c: New. - * gcc.dg/gimple/gs_call.c: New. - * gcc.dg/gimple/constructors.c: New. - * gcc.dg/gimple/gs_return.c: New. - * gcc.dg/gimple/gs_assign.c: New. - -2007-06-21 Aldy Hernandez <aldyh@redhat.com> - - * gimple-ir.c (gs_build_cond): Change order of arguments. Make labels - of type tree. - (gs_build_asm): Fix formatting. - * gimple-ir.h (gimple_statement_cond): Make labels of type tree. - (gs_build_cond): Change order and type of arguments. - (gs_build_asm): Fix formatting. - (gs_omp_build_for): Same. - (gs_assign_binary_rhs1): Remove assert. - (gs_assign_binary_set_rhs1): Same. - (gs_assign_binary_rhs2): Same. - (gs_assign_binary_set_rhs2): Same. - (gs_assign_unary_rhs): Same. - (gs_cond_true_label): Return a tree. - (gs_cond_set_true_label): Make label a tree. - (gs_cond_set_false_label): Make label a tree. - (gs_cond_false_label): Return a tree. - * gimplify.c (gimplify_init_ctor_eval_range): Build tuples. - (gimplify_init_ctor_eval): Same. - (gimplify_init_constructor): Enable. Adjust for tuples. - (gimplify_modify_expr_rhs): Uncomment call to - gimplify_init_constructor. - -2007-06-21 Diego Novillo <dnovillo@google.com> - - * gimple.def: Rename from gs.def. - Adjust all users. - -2007-06-21 Diego Novillo <dnovillo@google.com> - - * tree-pretty-print.c (pred_symbol_code, do_gs_niy, - debug_gimple_stmt, debug_gimple_seq, print_gimple_stmt, - dump_gimple_stmt): Move to gimple-pretty-print.c - * diagnostic.h: Add comment for functions in gimple-pretty-print.c - * gimple-pretty-print.c: New file. - * gimple-ir.c (gs_build_return): Fix spacing. - (gs_build_assign): Likewise. - * gimple-ir.h: Fix spacing. - (gs_assign_set_operand): Change OPNO to size_t. - Add assertions for OPNO's value. - (gs_assign_lhs): Rename from gs_assign_operand_lhs. - (gs_assign_binary_rhs1): Rename from gs_assign_operand_rhs. - Assert that GS is GSS_ASSIGN_BINARY - (gs_assign_binary_set_rhs1): Rename from gs_assign_set_rhs. - Assert that GS is GSS_ASSIGN_BINARY. - (gs_assign_binary_set_rhs2): Rename from gs_assign_set_rhs2. - Assert that GS is GSS_ASSIGN_BINARY. - (gs_assign_unary_rhs): New. - (gs_assign_unary_set_rhs): New. - (gs_call_fn, gs_call_lhs, gs_call_chain, gs_call_arg, - gs_cond_lhs, gs_cond_rhs, gs_label_label, gs_goto_dest, - gs_bind_vars, gs_asm_in_op, gs_asm_out_op, gs_asm_clobber_op, - gs_catch_types, gs_catch_handler, gs_eh_filter_types, - gs_eh_filter_failure, gs_try_eval, gs_try_cleanup, - gs_phi_result, gs_switch_index, gs_switch_default_label, - gs_switch_label,gs_omp_critical_name, gs_omp_for_clauses, - gs_omp_for_index, gs_omp_for_initial, gs_omp_for_final, - gs_omp_for_incr, gs_omp_parallel_clauses, - gs_omp_parallel_child_fn, gs_omp_parallel_data_arg, - gs_omp_single_clauses, gs_omp_sections_clauses, - gs_return_retval): Change return type to 'tree'. - * Makefile.in (OBJS-common): Add gimple-pretty-print.o. - (gimple-pretty-print.o): New rule. - -2007-06-20 Aldy Hernandez <aldyh@redhat.com> - - * tree-pretty-print.c (dump_gimple_stmt): Change pred_symbol_code - to op_symbol_code. - -2007-06-19 Aldy Hernandez <aldyh@redhat.com> - - * gimplify.c (gimplify_modify_expr_rhs): Enable. Adjust for tuples. - (gimplify_modify_expr): Call gimplify_modify_expr_rhs. - (gimplify_compound_expr): Enable. Adjust for tuples. Remove comment - that no longer applies. - (gimplify_expr): Enable call to gimplify_compound_expr. - -2007-06-18 Chris Matthews <chrismatthews@google.com> - - * Makefile.in (GTFILES): Added gimeple-ir.h. - - * gimple-ir.c (gs_build_return, gs_build_call, gs_build_assign): - Changed to use new accessors. - (gs_build_cond, gs_build_label, gs_build_goto, - gs_build_nop, gs_build_bind gs_build_asm, gs_build_catch, - gs_build_eh_filter, gs_build_try, gs_build_phi, - gs_build_resx, gs_build_switch, gs_omp_build_critical, - gs_omp_build_for, gs_omp_build_parallel, - gs_omp_build_section, gs_omp_build_master, - gs_omp_build_ordered, gs_omp_continue, - gs_omp_build_ordered, gs_omp_build_return, - gs_omp_build_sections, gs_omp_build_single): New - functions. - - * gimple-ir.h (struct gimple_statement_switch): Changed - default label to be in labels[0]. - - (struct gimple_statement_asm): Corrected the allocation - length. - - (enum gs_cond): New enum. - (gs_assign_set_operand): Changed to work with new accessors. - (gs_assign_operand_lhs, gs_assign_operand_rhs, - gs_assign_operand_set_lhs, gs_assign_set_rhs, - gs_assign_operand_rhs2, gs_assign_set_rhs2, gs_call_fn, - gs_call_set_fn, gs_call_lhs, gs_call_set_lhs, - gs_call_chain, gs_call_set_chain, gs_call_nargs, - gs_call_set_nargs, gs_call_arg, gs_call_set_arg, - gs_cond_lhs, gs_cond_set_lhs, gs_cond_rhs, - gs_cond_set_rhs, gs_cond_true_label, - gs_cond_set_true_label, gs_cond_set_false_label, - gs_cond_false_label, gs_label_label, gs_label_set_label, - gs_goto_dest, gs_goto_set_dest, gs_bind_vars, - gs_bind_set_vars, gs_bind_body, gs_bind_set_body, - gs_asm_ni, gs_asm_set_ni, gs_asm_no, gs_asm_set_no, - gs_asm_nc, gs_asm_set_nc, gs_asm_in_op, gs_asm_set_in_op, - gs_asm_out_op, gs_asm_set_out_op, gs_asm_clobber_op, - gs_asm_set_clobber_op, gs_asm_string, gs_asm_set_string, - gs_catch_types, gs_catch_handler, gs_catch_set_types, - gs_catch_set_handler, gs_eh_filter_types, - gs_eh_filter_failure, gs_eh_filter_set_types, - gs_eh_filter_set_failure, gs_try_eval, gs_try_cleanup, - gs_try_set_eval, gs_try_set_cleanup, gs_phi_capacity, - gs_phi_set_capacity, gs_phi_nargs, gs_phi_set_nargs, - gs_phi_result, gs_phi_set_result, gs_phi_arg, - gs_phi_set_arg, gs_resx_region, gs_resx_set_region, - gs_switch_nlabels, gs_switch_set_nlabels, - gs_switch_index, gs_switch_set_index, - gs_switch_default_label, gs_switch_set_default_label, - gs_switch_label, gs_switch_set_label, gs_omp_body, - gs_omp_set_body, gs_omp_critical_name, - gs_omp_critical_set_name, gs_omp_for_clauses, - gs_omp_for_set_clauses, gs_omp_for_index, - gs_omp_for_set_index, gs_omp_for_initial, - gs_omp_for_set_initial, gs_omp_for_final, - gs_omp_for_set_final, gs_omp_for_incr, - gs_omp_for_set_incr, gs_omp_for_pre_body, - gs_omp_for_set_pre_body, gs_omp_parallel_clauses, - gs_omp_parallel_set_clauses, gs_omp_parallel_child_fn, - gs_omp_parallel_set_child_fn, gs_omp_parallel_data_arg, - gs_omp_parallel_set_data_arg, gs_omp_single_clauses, - gs_omp_single_set_clauses, gs_omp_sections_clauses, - gs_omp_sections_set_clauses, gs_assign_omp_for_cond, - gs_omp_for_cond gs_return_set_retval, - gs_add_subcode_flag): New accessor functions. - (gs_return_retval): Renamed gs_return_operand_retval to match accessor - conventions. - -2007-05-31 Aldy Hernandez <aldyh@redhat.com> - - * gimple-ir.c (gs_build_call): New. - * gimple-ir.h (GS_CALL_LHS): New. - (GS_CALL_FN): New. - (GS_CALL_CHAIN): New. - (GS_CALL_NARGS): New. - (GS_CALL_ARG): New. - (gs_call_lhs): New. - (gs_call_fn): New. - (gs_call_chain): New. - (gs_call_nargs): New. - (gs_call_arg): New. - * gimplify.c (gimplify_modify_expr_to_memcpy): Enable and rewrite for - tuples. - (gimplify_modify_expr_to_memset): Same. - (gimplify_statement_list): Same. - (gimplify_expr): Enable STATEMENT_LIST case. - -2007-05-29 Aldy Hernandez <aldyh@redhat.com> - - Merged revisions 124007-125166 from mainline. - -2007-05-23 Aldy Hernandez <aldyh@redhat.com> - - * builtins.c (std_gimplify_va_arg_expr): Add argument to gimplify_expr. - Remove seq argument. - (gimplify_va_arg_expr): Same. - * tree-gimple.h: Same. - * langhooks.c (lhd_gimplify_expr): Change pre_p and post_p types to - sequences. - * langhooks-def.h (lhd_gimplify_expr): Change - * langhooks.h (struct lang_hooks): Remove argument. - * gimplify.c (internal_get_tmp_var): Adjust calls to gimplify_expr - for new arguments. - (gimplify_switch_expr): Same. - (gimplify_var_or_parm_decl): Same. - (gimplify_compound_lval): Same. - (gimplify_self_mod_expr): Same. - (gimplify_arg): Same. - (gimplify_call_expr): Same. - (gimplify_init_ctor_preeval): Same. - (gimplify_init_constructor): Same. - (gimplify_modify_expr_rhs): Same. - (gimplify_modify_expr): Same. - (gimplify_save_expr): Same. - (gimplify_addr_expr): Same. - (gimplify_asm_expr): Same. - (gimplify_target_expr): Same. - (omp_check_private): Same. - (gimplify_scan_omp_clauses): Same. - (gimplify_omp_parallel): Same. - (gimplify_omp_for): Same. - (goa_stabilize_expr): Same. - (gimplify_omp_atomic): Same. - (gimplify_one_sizepos): Same. - (force_gimple_operand): Same. - (gimplify_expr): Remove seq_p argument. Add new is_statement - argument. Adjust accordingly. Make seq_p required. - -2007-05-07 Aldy Hernandez <aldyh@redhat.com> - - * function.c (gimplify_parameters): Use new GS_SEQ_INIT definition. - * gimple-ir.h (GS_SEQ_INIT): Do not use C99 constructs. - * gimplify.c: Disable non working code throughout. - Pass additional call to gimplify_expr throughout. - (gimplify_ctx): Make conditional_cleanups a sequence. - (gimple_push_condition): Use GS_SEQ_EMPTY_P. - (gimple_pop_condition): Adapt for sequences. - (gimplify_and_add): Use gs_seq_append regardless of side effects. - (internal_get_tmp_var): Use sequences. - (get_formal_tmp_var): Same. - (get_initialized_tmp_var): Same. - (annotate_one_with_locus): Change GS_LOCUS to GS_LOCUS_EMPTY_P. - (gimplify_bind_expr): Use sequences. - Change append_to_statement_list to gimplify_and_add. - (gimplify_return_expr): Add gimplified code to pre_p. - (gimplify_decl_expr): New seq_p parameter. - (gimplify_loop_expr): Adapt for sequences. - Use gimplify_and_add instead of append_to_statement_list. - (gimplify_switch_expr): Same. - (gimplify_compound_lval): Use sequences. - (gimplify_self_mod_expr): Same. - Use gs_seq_append instead of append_to_statement_list. - (gimplify_arg): Use sequences. - (gimplify_call_expr): Same. - (gimplify_cond_expr): Use sequences. - (gimplify_init_ctor_preeval): Use sequences. - (gimplify_init_ctor_eval_range): Same. - Use gimplify_and_add instead of append_to_statement_list. - (gimplify_init_ctor_eval): Use sequences. - (gimplify_init_constructor): Same. - Remove one call to append_to_statement_list. - (gimplify_modify_expr_rhs): Use sequences. - (gimplify_modify_expr_complex_part): Use sequences. - Remove call to tree_to_gimple_tuple. - Build GS_ASSIGN tuple. - (gimplify_modify_expr): Use new argument. Use sequences. - Do not call append_to_statement_list. - Build GS_ASSIGN tuple. - Do not call tree_to_gimple_tuple. - Set *expr_p to NULL when we do not want the value. - (gimplify_compound_expr): Use sequences. - (gimplify_save_expr): Same. - (gimplify_addr_expr): Same. - (gimplify_asm_expr): Same. - (gimplify_cleanup_point_expr): Same. - (gimple_push_cleanup): Same. - Build GS_ASSIGN tuples. - (gimplify_target_expr): Use sequences. - (gimplify_scan_omp_clauses): Same. - Add argument to gimplify_stmt calls. - (gimplify_omp_parallel): Same. - (gimplify_omp_for): Use sequences. - (gimplify_omp_workshare): Same. - (goa_stabilize_expr): Same. - (gimplify_omp_atomic_pipeline): Same. - (gimplify_omp_atomic_mutex): Same. - (gimplify_omp_atomic): Same. - (gimplify_expr): Same. - Call GS_SEQ_INIT with argument. - Use new seq_p argument. - Do not call tree_to_gimple_tuple. - Pass additional argument to gimplify_decl_expr. - Do not pass seq_p argument to gimplify_return_expr. - Call gs_seq_append instead of append_to_statement_list. - Check that all statements have been converted to tuples. - Make pre_p and seq_p sequences coexist. - (gimplify_type_sizes): Use sequences. - (gimplify_one_sizepos): Same. - (gimplify_body): Make parm_stmts a sequence. - Add argument to seq_p. - (gimplify_function_tree): Call debug_gimple_seq. - (force_gimple_operand): Use sequences. - (force_gimple_operand_bsi): Use sequences. - -2007-05-04 Aldy Hernandez <aldyh@redhat.com> - - * omp-low.c (build_omp_barrier): Adjust arguments for sequences. - (lower_rec_input_clauses): Disable non working code. - (lower_regimplify): Pass additional argument to gimplify_expr. - * tree-mudflap.c (mx_register_decls): Disable non working code. - * tree-inline.c (copy_bb): Disable non working code. - (setup_one_parameter): Same. - * tree-cfg.c (make_edges): Same. - -2007-05-04 Aldy Hernandez <aldyh@redhat.com> - - * tree-gimple.h (get_initialized_tmp_var): Adjust prototype - for sequences. - (get_formal_tmp_var): Same. - (gimplify_type_sizes): Same. - (gimplify_one_sizepos): Same. - (gimplify_stmt): Same. - (gimplify_and_add): Same. - (gimplify_va_arg_expr): Same. - * langhooks.h (lang_hooks): Same. - * function.c (gimplify_parm_type): Adjust for sequences. - (gimplify_parameters): Same. - * c-gimplify.c (gimplify_compound_literal_expr): Same. - (c_gimplify_expr): Same. - * tree-flow.h (force_gimple_operand): Same. - * c-common.h (c_gimplify_expr): Adjust prototype for sequences. - * config/i386/i386.c (ix86_gimplify_va_arg): Adjust for sequences. - Change call to append_to_statement_list to gimplify_and_add. - Add parameter to gimplify_expr. - -2007-05-04 Aldy Hernandez <aldyh@redhat.com> - - * gimple-ir.c (gs_code_name): Constify. - (gs_build_assign): New. - (gimple_statement_structure): Abstract code out to... - (gss_for_assign): ...here. - (gs_add): Set the last item correctly. - * gimple-ir.h (GS_LOCUS_EMPTY_P): New. - (GS_SEQ_INIT): Add a cast. - (gimple_statement_base): Make code a gs_code enum. - (gimple_statement_with_ops): Remove address_taken. - (GS_ASSIGN_BINARY_LHS): New. - (GS_ASSIGN_BINARY_RHS1): New. - (GS_ASSIGN_BINARY_RHS2): New. - (GS_ASSIGN_UNARY_REG_LHS): New. - (GS_ASSIGN_UNARY_REG_RHS): New. - (GS_ASSIGN_UNARY_MEM_LHS): New. - (GS_ASSIGN_UNARY_MEM_RHS): New. - (gs_seq_append): New. - Move gs_seq typedef to... - * coretypes.h: ...here. - * gimple-iterator.h (gsi_stmt_ptr): Add FIXME note. - -2007-05-04 Aldy Hernandez <aldyh@redhat.com> - - * tree.h (std_gimplify_va_arg_expr): Change tree * to a sequence - in prototype. - (gimplify_parameters): Return a sequence. - * target.h (gimplify_va_arg_expr): Change tree * to a sequence. - * builtins.c (std_gimplify_va_arg_expr): Same. - Pass additional argument to gimplify_expr. - (gimplify_va_arg_expr): Change tree * to a sequence. - Change append_to_statement_list call to gimplify_and_add. - Pass additional argument to gimplify_expr calls. - -2007-05-04 Aldy Hernandez <aldyh@redhat.com> - - * tree-pretty-print.c (do_gs_niy): New. - (debug_gimple_stmt): New. - (debug_gimple_seq): New. - (print_gimple_stmt): New. - (dump_gimple_stmt): New. - * diagnostic.h: Add prototypes for dump_gimple_stmt, - print_gimple_stmt, debug_gimple_stmt, debug_gimple_seq. - -2007-04-26 Aldy Hernandez <aldyh@redhat.com> - - * tree-gimple.h (annotate_all_with_locus): First argument is now a - sequence. - * gimple-ir.h (GS_LOCUS): New. - (gimple_statement_base): Locus is of type location_t. - * gimplify.c (internal_get_tmp_var): Use sequences. - (should_carry_locus_p): Adjust for gimple ir. - (annotate_one_with_locus): Same. - (annotate_all_with_locus): Same. - (gimplify_stmt): Adjust for sequences. - (gimplify_expr): Same. - -2007-04-25 Aldy Hernandez <aldyh@redhat.com> - - * gimple-ir.h (GS_SEQ_EMPTY_P): New. - Move gs_build_return, gs_add, and gimple_statement_structure - prototypes. - (gs_assign_operand): Fix typos in gss. - Include gimple-iterator.h. - * Makefile.in (GIMPLE_IR_H): Add gimple-iterator.h. - (TREE_GIMPLE_H): Same. - -2007-04-25 Aldy Hernandez <aldyh@redhat.com> - - * gimple-iterator.h (gsi_one_before_end_p): Use GS_SEQ_LAST. - -2007-04-25 Aldy Hernandez <aldyh@redhat.com> - - * gimple-iterator.h: New file. - -2007-04-23 Aldy Hernandez <aldyh@redhat.com> - - * gimple-ir.c: New file. - * gimple-ir.h: New file. - * gsstruct.def: New file. - * gs.def: New file. - * gengtype.c (open_base_files): Add gimple-ir.h. - * tree-gimple.h: Include gimple-ir.h. - Add sequence to gimplify_expr and gimplify_body prototypes. - * gimplify.c: Include gimple-ir.h. - (gimplify_and_add): Adjust for gimple IR. - (gimplify_return_expr): Same. - (gimplify_stmt): Add seq_p argument. - (gimplify_expr): Add seq_p sequence and adjust accordingly. - (gimplify_body): Same. - * coretypes.h: Add gimple_statement_d and gimple definitions. - * Makefile.in (GIMPLE_IR_H): New. - (TREE_GIMPLE_H): Add gimple-ir.h. - (OBJS-common): Add gimple-ir.o. - (gimplify.o): Add GIMPLE_IR_H. - (gimple-ir.o): New. - (build/gencheck.o): Add gs.def. - -Local Variables: -mode: change-log -End: |