X-Git-Url: http://git.sourceforge.jp/view?p=pf3gnuchains%2Fgcc-fork.git;a=blobdiff_plain;f=gcc%2FChangeLog;h=fc24c198d474c77e047b501881117c8d668e7ca2;hp=3fbc38ae7b70e2b6fc33bed41b5184b3b9830f37;hb=8bb2c2a29366f52c14bc6300dea64966823c95bc;hpb=7d1f52b23a4d503ddbb1bb6bd82a2e4a992ad6de diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 3fbc38ae7b7..fc24c198d47 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,17 +1,870 @@ +2006-12-05 Brooks Moses + + * doc/include/texinfo.tex: Update to version 2006-11-08.17. + +2006-12-05 Zdenek Dvorak + + PR tree-optimization/14784 + * tree-ssa-operands.c (access_can_touch_variable): Unrevert the fix. + +2006-12-05 Aldy Hernandez + + Merge from gimple-tuples-branch. + + 2006-12-04 Aldy Hernandez + + * config/s390/s390.c (s390_va_start): Replace MODIFY_EXPR with + GIMPLE_MODIFY_STMT. + (s390_gimplify_va_arg): Same. + * config/sparc/sparc.c (sparc_gimplify_va_arg): Same. + * config/sh/sh.c (sh_va_start): Same. + (sh_gimplify_va_arg_expr): Same. + * config/xtensa/xtensa.c (xtensa_va_start): Same. + (xtensa_gimplify_va_arg_expr): Same. + * config/ia64/ia64.c (ia64_gimplify_va_arg): Same. + * config/pa/pa.c (hppa_gimplify_va_arg_expr): Same. + * config/mips/mips.c (mips_va_start): Same. + (mips_gimplify_va_arg_expr): Same. + + 2006-12-04 Aldy Hernandez + + * Merge from mainline at revision 119445. + + 2006-12-04 Aldy Hernandez + + * config/spu/spu.c (spu_va_start): Change MODIFY_EXPR to + GIMPLE_MODIFY_STMT. + (spu_gimplify_va_arg_expr): Same. + + 2006-12-04 Aldy Hernandez + + * config/stormy16/stormy16.c (xstormy16_expand_builtin_va_start): + Change uses of MODIFY_EXPR to GIMPLE_MODIFY_STMT. + (xstormy16_expand_builtin_va_arg): Same. + + 2006-12-04 Aldy Hernandez + + * config/frv/frv.c (frv_expand_builtin_va_start): Change MODIFY_EXPR + to GIMPLE_MODIFY_STMT. + + 2006-12-04 Aldy Hernandez + + * config/alpha/alpha.c (va_list_skip_additions): Change all + occurrences of MODIFY_EXPR to GIMPLE_MODIFY_STMT. + (alpha_va_start): Same. + (alpha_gimplify_va_arg_1): Same. + (alpha_gimplify_va_arg): Same. + + 2006-12-01 Aldy Hernandez + + * gimplify.c (gimplify_modify_expr): Remove FIXME comment. + + 2006-12-01 Aldy Hernandez + + * tree-ssa-loop-im.c: Rename all PROTECTED_TREE_OPERAND to + GENERIC_TREE_OPERAND, and all PROTECTED_TREE_TYPE to + GENERIC_TREE_TYPE. + * tree-complex.c: Same. + * tree-pretty-print.c: Same. + * tree.c: Same. + * tree.h: Same. + * builtins.c: Same. + * fold-const.c: Same. + * tree-ssa-dom.c: Same. + * tree-ssa-propagate.c: Same. + * tree-ssa-alias.c: Same. + * gimple-low.c: Same. + * dwarf2out.c: Same. + * c-pretty-print.c: Same. + * gimplify.c: Same. + * tree-inline.c: Same. + * tree-outof-ssa.c: Same. + * tree-ssa-structalias.c: Same. + * tree-ssa-reassoc.c: Same. + * stmt.c: Same. + + 2006-11-16 Aldy Hernandez + + * tree.c (build2_stat): Fix comment. + + 2006-11-13 Aldy Hernandez + + * tree-ssa-propagate.c (get_rhs): Use GIMPLE_MODIFY_STMT and + TREE_OPERAND when appropriate. + + 2006-11-04 Aldy Hernandez + + * java/java-tree.h (lang_tree_node): Handle gimple tuples. + (EXPR_WFL_EMIT_LINE_NOTE): Look inside base. + (EXPR_WFL_LINECOL): Use EXPR_LOCUS macro instead of exp.locus. + * java/java-gimplify.c (java_gimplify_expr): Comment on why we do + not handle GIMPLE_MODIFY_STMT in the switch statement. + (java_gimplify_modify_expr): Call build2 with GIMPLE_MODIFY_STMT. + (java_gimplify_new_array_init): Same. + + 2006-11-03 Aldy Hernandez + + * gimplify.c (gimplify_omp_for): Allow gimple statements. + * tree-outof-ssa.c (check_replaceable): Use PROTECTED_TREE_OPERAND. + * fold-const.c (fold_binary): Allow gimple statements. + (fold): Same. + * fortran/trans-array.c (gfc_conv_descriptor_data_set_internal): + Rename from gfc_conv_descriptor_data_set. + Call gfc_add_modify instead of gfc_add_modify_expr. + * fortran/trans-array.h (gfc_conv_descriptor_data_set_internal): + Rename from gfc_conv_descriptor_data_set. + (gfc_conv_descriptor_data_set): New macro. + (gfc_conv_descriptor_data_set_tuples): New macros. + * fortran/trans-openmp.c (gfc_omp_clause_default_ctor): Call + gfc_conv_descriptor_data_set_tuples. + * fortran/trans.c (gfc_add_modify): Rename from gfc_add_modify_expr. + Generate GIMPLE_MODIFY_STMT when appropriate. + * fortran/trans.h (gfc_add_modify): Rename from gfc_add_modify_expr. + (gfc_add_modify_expr): New macro. + (gfc_add_modify_stmt): New macro. + * fortran/f95-lang.c (lang_tree_node): Handle gimple statements. + + 2006-11-02 Aldy Hernandez + + * ada/ada-tree.h (lang_tree_node): Handle gimple tuples. + * ada/trans.c (gnat_gimplify_expr): Replace MODIFY_EXPR with + GIMPLE_MODIFY_STMT. + + 2006-11-01 Aldy Hernandez + + * Merge from mainline at revision 118200. + + 2006-10-09 Aldy Hernandez + + * tree-inline.c (copy_bb): Check for GIMPLE_MODIFY_STMT, and adjust + accordingly. + + 2006-10-09 Aldy Hernandez + + * tree.h (TREE_CHAIN, TREE_TYPE): Add versions for non GCC or not + enable checking. + Also, add __extension__ to GCC versions. + * tree-mudflap.c (mf_xform_derefs_1): Add parentheses around TREE_TYPE. + * tree-inline.c (copy_tree_r): Initialize chain to assuage the warning + patrol. + + 2006-10-05 Aldy Hernandez + + * tree-complex.c (expand_complex_libcall): Adjust for + GIMPLE_MODIFY_STMT. + (expand_complex_comparison): Same. + * tree-pretty-print.c (dump_generic_node): Is_expr should include + GIMPLE_STMT_P statements. + * value-prof.c (tree_divmod_fixed_value_transform): Adjust for + GIMPLE_MODIFY_STMT. + (tree_mod_pow2_value_transform): Same. + (tree_mod_subtract_transform): Same. + * tree.c (build2_stat): Check for gimplified function in cfun. + * tree.h (DECL_GIMPLIFIED): Delete. + (struct tree_function_decl): Remove gimplified_flag. + * omp-low.c (lower_omp_for): Adjust for GIMPLE_MODIFY_STMT. + * cp/cp-gimplify.c (cp_gimplify_expr): Adjust for GIMPLE_MODIFY_STMT. + (cxx_omp_clause_apply_fn): Adjust for GIMPLE_MODIFY_STMT. + (cxx_omp_clause_copy_ctor): Same. + (cxx_omp_clause_assign_op): Same. + * c-pretty-print.c (pp_c_conditional_expression): Same. + (pp_c_expression): Same. + * langhooks.c (lhd_omp_predetermined_sharing): Same. + * function.h (struct function): Add gimplified field. + * tree-if-conv.c (add_to_dst_predicate_list): Adjust for + GIMPLE_MODIFY_STMT. + (find_phi_replacement_condition): Same. + * gimplify.c (gimplify_modify_expr_to_memcpy): Same. + (gimplify_modify_expr_to_memset): Same. + (gimplify_init_ctor_eval_range): Same. + (gimplify_modify_expr_complex_part): Same. + (tree_to_gimple_tuple): Same. + (gimplify_modify_expr): Same. + (gimple_push_cleanup): Same. + (gimplify_omp_for): Same. + (gimplify_omp_atomic_pipeline): Same. + (gimplify_omp_atomic_mutex): Same. + (gimplify_expr): Same. + (gimplify_one_sizepos): Same. + (gimplify_function_tree): Same. + * tree-vect-patterns.c (vect_recog_dot_prod_pattern): Same. + (vect_recog_widen_sum_pattern): Same. + * tree-vect-transform.c (get_initial_def_for_reduction): Same. + (vect_create_epilog_for_reduction): Same. + (vectorizable_reduction): Same. + + 2006-09-28 Aldy Hernandez + + * tree-ssa-math-opts.c (replace_reciprocal): Use GIMPLE_STMT_OPERAND. + * tree-if-conv.c (if_convertible_gimple_modify_stmt_p): Same. + (ifc_temp_var): Same. + * tree-vect-analyze.c (vect_determine_vectorization_factor): Check + for gimple statements. + (vect_analyze_operations): Same. + (exist_non_indexing_operands_for_use_p): Use GIMPLE_STMT_OPERAND. + * gimplify.c (gimplify_return_expr): Handle gimple statements. + * lambda-code.c (can_put_in_inner_loop): Same. + (can_put_after_inner_loop): Same. + * tree-vect-transform.c (vect_create_addr_base_for_vector_ref): Same. + (vect_create_data_ref_ptr): Same. + (vect_init_vector): Same. + (vect_get_vec_def_for_operand): Same. + (vect_create_epilog_for_reduction): Same. + (vectorizable_reduction): Same. + (vectorizable_assignment): Same. + (vectorizable_operation): Same. + (vectorizable_load): Same. + (vectorizable_condition): Same. + * config/rs6000/rs6000.c (rs6000_va_start): Do not create MODIFY_EXPRs. + (rs6000_gimplify_va_arg): Same. + + 2006-09-25 Aldy Hernandez + + * tree-vrp.c (simplify_div_or_mod_using_ranges): Use + GIMPLE_STMT_OPERAND. + (simplify_abs_using_ranges): Same. + * tree-complex.c (expand_complex_operations_1): Use + PROTECTED_TREE_OPERAND. + * tree-ssa-loop-niter.c (simplify_replace_tree): Check for gimple + stmt. + (get_val_for): Use GIMPLE_STMT_OPERAND. + * tree-tailcall.c (adjust_accumulator_values): Same. + (adjust_return_value): Same. + * tree.c (walk_tree): Use IS_GIMPLE_STMT_CODE_CLASS on default + case. Remove special case for tcc_gimple_stmt. + * tree.h (CAN_HAVE_LOCATION_P): New. + * tree-ssa-loop-ivopts.c (expr_invariant_in_loop_p): Check for + GIMPLE_STMT_P. + * tree-stdarg.c (va_list_counter_bump): Use GIMPLE_STMT_OPERAND. + * tree-ssa-dom.c (propagate_rhs_into_lhs): Same. + * tree-nrv.c (execute_return_slot_opt): Same. + * tree-ssa-alias.c (count_uses_and_derefs): Check for GIMPLE_STMT_P. + * tree-vn.c (set_value_handle): Same. + (get_value_handle): Same. + * c-decl.c (add_stmt): Use CAN_HAVE_LOCATION_P. + * tree-vectorizer.c (find_loop_location): Same. + * c-typeck.c (c_process_expr_stmt): Same. + (c_finish_stmt_expr): Same. + * gimplify.c (should_carry_locus_p): Same. + (tree_to_gimple_tuple): Delete definition and use of unecessary + variable save_tree_block. + * tree-ssa-pre.c (phi_translate): Check for GIMPLE_STMT_P. + (create_expression_by_pieces): Use GIMPLE_STMT_OPERAND. + (realify_fake_stores): Same. + * tree-ssa-forwprop.c (forward_propagate_addr_into_variable_arr): + Use TREE_OPERAND. + * tree-inline.c (copy_body_r): Check for EXPR_P and GIMPLE_STMT_P. + (copy_tree_r): Check for IS_GIMPLE_STMT_CODE_CLASS. + * tree-cfg.c (move_stmt_r): Use EXPR_P. Check for GIMPLE_STMT_P. + * c-parser.c (c_parser_typeof_specifier): Use CAN_HAVE_LOCATION_P. + (c_parser_statement_after_labels): Same. + (c_parser_paren_condition): Same. + (c_parser_for_statement): Same. + (c_parser_omp_for_loop): Same. + * tree-ssa-reassoc.c (linearize_expr): Use GIMPLE_STMT_OPERAND. + (linearize_expr_tree): Same. + * dwarf2out.c (reference_to_unused): Check for GIMPLE_STMT_P. + * function.c (instantiate_expr): Same. + + 2006-09-22 Aldy Hernandez + + * tree.c (expr_location): Use GIMPLE_STMT_LOCUS. + (set_expr_location): Same. + (expr_locus): Same. + (set_expr_locus): Same. + (expr_filename): Same. + (expr_lineno): Same. + (tree_block): Use GIMPLE_STMT_BLOCK. + (protected_tree_operand): Use GIMPLE_STMT_OPERAND. + * tree.h (struct gimple_stmt): Remove prev and next. + (GIMPLE_STMT_OPERAND_CHECK): New. + (TREE_TO_GIMPLE_STMT): Delete. + (GIMPLE_STMT_TO_TREE): Delete. + (GIMPLE_STMT_OPERAND): Use union, not cast. + (GIMPLE_STMT_LOCUS): New. + (GIMPLE_STMT_BLOCK): New. + * gimplify.c (tree_to_gimple_tuple): Use union. Do not cast + to tree_base. + * tree-cfg.c (verify_gimple_tuples_1): Call gcc_unreachable. + + 2006-09-21 Aldy Hernandez + + * tree-into-ssa.c (REGISTER_DEFS_IN_STMT): Change common.base + to base. + * tree-tailcall.c (adjust_return_value): Same. + * tree.c (tree_code_size): Remove GIMPLE_STATEMENT_LIST case. + (copy_node_stat): Change common.base to base. + (tree_node_structure): Return TS_GIMPLE_STATEMENT for tcc_gimple_stmt. + Remove GIMPLE_STATEMENT_LIST case. + * tree.h (struct gimple_stmt): Make operands of type tree. + (TREE_CODE, TREE_SET_CODE, TREE_ADDRESSABLE, CALL_EXPR_TAILCALL, + CASE_LOW_SEEN, TREE_STATIC, CLEANUP_EH_ONLY, CASE_HIGH_SEEN, + TREE_NO_WARNING, TREE_CONSTANT_OVERFLOW, TREE_SYMBOL_REFERENCED, + TYPE_REF_CAN_ALIAS_ALL, TREE_OVERFLOW, TREE_PUBLIC, + TYPE_CACHED_VALUES_P, TREE_SIDE_EFFECTS, FORCED_LABEL, + TREE_THIS_VOLATILE, TREE_THIS_NOTRAP, TREE_READONLY, + TREE_CONSTANT, TYPE_SIZES_GIMPLIFIED, DECL_UNSIGNED, + BIT_FIELD_REF_UNSIGNED, TYPE_UNSIGNED, TREE_ASM_WRITTEN, TREE_USED, + TREE_NOTHROW, CALL_EXPR_RETURN_SLOT_OPT, DECL_BY_REFERENCE, + CALL_FROM_THUNK_P, TYPE_ALIGN_OK, TREE_PRIVATE, TREE_PROTECTED, + TREE_DEPRECATED, IDENTIFIER_TRANSPARENT_ALIAS, TREE_INVARIANT, + TREE_LANG_FLAG_*, SSA_NAME_OCCURS_IN_ABNORMAL_PHI, + SSA_NAME_IN_FREE_LIST, TYPE_VOLATILE, TYPE_READONLY, BINFO_VIRTUAL_P): + Change common.base to base. + (GIMPLE_STATEMENT_LIST*): Remove. + (union tree_node): Add base. Remove gimple_statement_list. + Remove pointer from gstmt. + * tree-ssa-propagate.c (set_rhs): Change common.base to base. + * treestruct.def: Add TS_BASE. Remove TS_GIMPLE_STATEMENT_LIST. + * tree-vn.c (vn_compute): Change common.base to base. + * tree-eh.c (verify_eh_throw_stmt_node): Same. + * tree-flow-inline.h (var_ann): Same. + (function_ann): Same. + (stmt_ann): Same. + (mark_non_addressable): Same. + * gimplify.c (tree_to_gimple_tuple): Same. + * tree.def (DEFTREECODE): Remove GIMPLE_STATEMENT_LIST. + * tree-dfa.c (create_var_ann): Change common.base to base. + (create_function_ann): Same. + (create_stmt_ann): Same. + (create_tree_ann): Same. + (collect_dfa_stats_r): Same. + * tree-ssa-pre.c (NECESSARY): Change common.base to base. + * tree-ssa-dce.c (NECESSARY): Same. + * tree-ssa.c (delete_tree_ssa): Same. + * tree-optimize.c (execute_free_cfg_annotations): Same. + * tree-flow.h: Same. + + 2006-09-19 Aldy Hernandez + + * tree.c (tree_code_size): Handle GIMPLE_STATEMENT_LIST. + (tree_node_structure): Handle GIMPLE_STATEMENT_LIST and + GIMPLE_MODIFY_STMT. + * tree.h (struct gimple_stmt): Add prev and next fields. + (GIMPLE_STMT_TO_TREE): Cast, do not call GIMPLE_STMT_CHECK. + (GIMPLE_STATEMENT_LIST_HEAD): New. + (GIMPLE_STATEMENT_LIST_TAIL): New. + (struct gimple_statement_list): New. + (union tree_node): Add gimple_stmt_list and gstmt. + * treestruct.def: Add TS_GIMPLE_STATEMENT_LIST, TS_GIMPLE_STATEMENT. + * tree.def: Add GIMPLE_STATEMENT_LIST. + + 2006-09-06 Aldy Hernandez + + * tree-dump.c (dequeue_and_dump): Handle GIMPLE_MODIFY_STMT. + * tree-vrp.c (build_assert_expr_for): Change uses of + MODIFY_EXPR to GIMPLE_MODIFY_STMT and adjust accordingly. + (find_assert_locations): Same. + (remove_range_assertions): Same. + (stmt_interesting_for_vrp): Same. + (vrp_visit_assignment): Same. + (vrp_visit_stmt): Same. + (simplify_cond_using_ranges): Same. + * tree-into-ssa.c (REGISTER_DEFS_IN_THIS_STMT): Adjust for new + tree structure. + * tree-ssa-loop-im.c (movement_possibility): Change uses of + MODIFY_EXPR to GIMPLE_MODIFY_STMT and adjust accordingly. + (stmt_cost): Same. + (determine_invariantness_stmt): Same. + (schedule_sm): Same. + (gather_mem_refs_stmt): Same. + * tree-complex.c (init_dont_simulate_again): Same. + (complex_visit_stmt): Same. + (set_component_ssa_name): Same. + (expand_complex_move): Same. + (expand_complex_div_wide): Same. + (expand_complex_comparison): Same. + (expand_complex_operations_1): Same. + * tree-ssa-loop-niter.c (expand_simple_operations): Same. + (chain_of_csts_start): Same. + (infer_loop_bounds_from_undefined): Same. + * tree-pretty-print.c (dump_generic_node): Same. + (op_prio): Same. + (op_symbol_1): Same. + * tree-ssa-loop-manip.c (create_iv): Same. + * value-prof.c (tree_divmod_fixed_value): Same. + (tree_divmod_fixed_value_transform): Same. + (tree_mod_pow2): Same. + (tree_mod_pow2_value_transform): Same. + (tree_mod_subtract): Same. + (tree_mod_subtract_transform): Same. + (tree_divmod_values_to_profile): Same. + * tree-tailcall.c (process_assignment): Same. + (find_tail_calls): Same. + (adjust_accumulator_values): Same. + (adjust_return_value): Same. + (eliminate_tail_call): Same. + * tree.c (tree_code_size): Handle tcc_gimple_stmt. + (make_node_stat): Same. + (copy_node_stat): Handle gimple tuples. + (expr_align): Handle GIMPLE_MODIFY_STMT. Abort on MODIFY_EXPR. + (tree_node_structure): Handle tcc_gimple_stmt. + (build2_stat): Abort on MODIFY_EXPR after gimplification. Handle + tcc_gimple_stmt. + (build2_gimple_stat): New. + (expr_location): New. + (set_expr_location): New. + (expr_has_location): New. + (expr_locus): New. + (set_expr_locus): New. + (expr_filename): New. + (expr_lineno): New. + (walk_tree): Handle tcc_gimple_stmt. + (tree_block): New. + (protected_tree_operand): New. + (protected_tree_type): New. + (tree_code_kind): Add gimple statements. + * tree.h (tree_code_class): Add tcc_gimple_stmt. + (IS_GIMPLE_STMT_CODE_CLASS): New. + (struct tree_base): New. + (struct tree_common): Shrink. + (struct gimple_stmt): New. + (struct gimple_expr): New. + (TREE_SET_CODE, TREE_ADDRESSABLE, CALL_EXPR_TAILCALL, + CASE_LOW_SEEN, TREE_STATIC, CLEANUP_EH_ONLY, CASE_HIGH_SEEN, + TREE_NO_WARNING, TREE_CONSTANT_OVERFLOW, TREE_SYMBOL_REFERENCED, + TYPE_REF_CAN_ALIAS_ALL, TREE_OVERFLOW, TREE_PUBLIC, + TYPE_CACHED_VALUES_P, SAVE_EXPR_RESOLVED_P, TREE_SIDE_EFFECTS, + FORCED_LABEL, TREE_THIS_VOLATILE, TREE_THIS_NOTRAP, TREE_READONLY, + TREE_CONSTANT, TYPE_SIZES_GIMPLIFIED, DECL_UNSIGNED, + BIT_FIELD_REF_UNSIGNED, TYPE_UNSIGNED, TREE_ASM_WRITTEN, + TREE_USED, TREE_NOTHROW, CALL_EXPR_RETURN_SLOT_OPT, + DECL_BY_REFERENCE, CALL_FROM_THUNK_P, TYPE_ALIGN_OK, + TREE_PRIVATE, TREE_PROTECTED, TREE_DEPRECATED, + IDENTIFIER_TRANSPARENT_ALIAS, TREE_INVARIANT, + TREE_LANG_FLAG_[0-6], SSA_NAME_CHECK, SSA_NAME_IN_FREE_LIST, + TYPE_VOLATILE, TYPE_READONLY, TREE_VISITED, BINFO_VIRTUAL_P): + Adjust for new `common' layout. + (struct tree_function_decl): Add gimplified_flag. + (DECL_GIMPLIFIED): NEW. + (EXPR_LOCATION, SET_EXPR_LOCUS, EXPR_FILENAME, EXPR_LOCUS, + SET_EXPR_LOCUS, SET_EXPR_LOCATION, EXPR_LINENO, + EXPR_HAS_LOCATION): Call corresponding function. + (GIMPLE_STMT_CHECK): New. + (TREE_OPERAND_CHECK, TREE_TYPE, TREE_CHAIN): Abort on gimple tuples. + (TREE_BLOCK): Call tree_block. + (GIMPLE_STMT_P): New. + (GIMPLE_TUPLE_P): New. + (TREE_TO_GIMPLE_STMT): New. + (GIMPLE_STMT_TO_TREE): New. + (GIMPLE_STMT_OPERAND): New. + (GIMPLE_TUPLE_HAS_LOCUS_P): New. + (PROTECTED_TREE_OPERAND): New. + (PROTECTED_TREE_TYPE): New. + (build2_gimple_stat): Protoize. + (build2_gimple): New. + (expr_location): Protoize. + (set_expr_location): Protoize. + (expr_has_location): Protoize. + (expr_locus): Protoize. + (set_expr_locus): Protoize. + (expr_filename): Protoize. + (expr_lineno): Protoize. + (tree_block): Protoize. + (protected_tree_operand): Protoize. + (protected_tree_type): Protoize. + (enum tree_node_kind): Add gimple_stmt_kind. + * c-decl.c (union lang_tree_node): Tuples do not have a + TREE_CHAIN. + * ipa-cp.c (constant_val_insert): Change uses of MODIFY_EXPR to + GIMPLE_MODIFY_STMT and adjust accordingly. + * tree-scalar-evolution.c (follow_ssa_edge): Same. + (interpret_condition_phi): Same. + (pointer_used_p): Same. + (analyze_scalar_evolution_1): Same. + (scev_const_prop): Same. + (interpret_rhs_modify_stmt): Rename from + interpret_rhs_modify_expr. + * builtins.c (std_expand_builtin_va_start): Change uses of + MODIFY_EXPR to GIMPLE_MODIFY_STMT and adjust accordingly. + (std_gimplify_va_arg_expr): Same. + (expand_builtin_va_copy): Same. + (integer_valued_real_p): Same. + * fold-const.c (maybe_lvalue_p): Same. + (fold_unary): Same. + (tree_expr_nonnegative_p): Same. + (tree_expr_nonzero_p): Same. + * omp-low.c (extract_omp_for_data): Same. + (lower_rec_input_clauses): Same. + (lower_reduction_clauses): Same. + (lower_copyprivate_clauses): Same. + (lower_send_clauses): Same. + (lower_send_shared_vars): Same. + (expand_parallel_call): Same. + (expand_omp_parallel): Same. + (expand_omp_for_generic): Same. + (expand_omp_for_static_nochunk): Same. + (expand_omp_for_static_chunk): Same. + (expand_omp_sections): Same. + (lower_omp_single_copy): Same. + (lower_omp_parallel): Same. + * tree-ssa-dse.c (memory_address_same): Same. + (dse_optimize_stmt): Same. + * ipa-reference.c (scan_for_static_refs): Same. + * tree-gimple.c (is_gimple_reg_rhs): Same. + (get_call_expr_in): Same. + (recalculate_side_effects): Same. + * cgraphunit.c (cgraph_create_edges): Same. + * tree-ssa-copyrename.c (rename_ssa_copies): Same. + * tree-ssa-ccp.c (get_default_value): Same. + (likely_value): Same. + (visit_assignment): Same. + (ccp_visit_stmt): Same. + (get_maxval_strlen): Same. + (ccp_fold_builtin): Same. + * tree-ssa-loop-ivopts.c (find_givs_in_stmt_scev): Same. + (find_givs_in_stmt): Same. + (find_interesting_uses_op): Same. + (find_interesting_uses_stmt): Same. + (rewrite_use_nonlinear_expr): Same. + * ipa-pure-const.c (scan_function): Same. + * tree-stdarg.c (va_list_counter_bump): Same. + (check_all_va_list_escapes): Same. + (execute_optimize_stdarg): Same. + * tree-ssa-math-opts.c (compute_merit): Same. + (insert_reciprocals): Same. + (execute_cse_reciprocals): Same. + * tree-ssa-dom.c (initialize_hash_element): Same. + (simple_iv_increment_p): Same. + (record_equivalences_from_stmt): Same. + (optimize_stmt): Same. + (remove_stmt_or_phi): Same. + (get_rhs_or_phi_arg): Same. + (get_lhs_or_phi_result): Same. + (propagate_rhs_into_lhs): Same. + * tree-nrv.c (tree_nrv): Same. + (execute_return_slot_opt): Same. + * tree-ssa-propagate.c (get_rhs): Same. + (set_rhs): Same. + (stmt_makes_single_load): Same. + (stmt_makes_single_store): Same. + (replace_vuses_in): Same. + (fold_predicate_in): Same. + (substitute_and_fold): Same. + * tree-ssa-alias.c (compute_call_clobbered): Same. + (recalculate_used_alone): Same. + (count_uses_and_derefs): Same. + (is_escape_site): Same. + (find_used_portions): Same. + * gimple-low.c (lower_stmt): Same. + (block_may_fallthru): Same. + (lower_return_expr): Same. + * tree-ssa-sink.c (is_hidden_global_store): Same. + (statement_sink_location): Same. + * dwarf2out.c (loc_descriptor_from_tree_1): Same. + * expr.c (safe_from_p): Same. + (expand_expr_real): Same. + (expand_expr_real_1): Same. + * tree-ssa-loop-ivcanon.c (empty_loop_p): Same. + * predict.c (expr_expected_value): Same. + (strip_builtin_expect): Same. + (apply_return_prediction): Same. + (tree_bb_level_predictions): Same. + (tree_estimate_probability): Same. + * tree-vn.c (vn_compute): Same. + * tree-eh.c (add_stmt_to_eh_region_fn): Same. + (remove_stmt_from_eh_region_fn): Same. + (do_return_redirection): Same. + (honor_protect_cleanup_actions): Same. + (lower_try_finally_switch): Same. + (lower_eh_constructs_1): Same. + (tree_could_throw_p): Same. + (verify_eh_throw_stmt_node): Same. + * function.c (gimplify_parameters): Same. + * tree-vectorizer.c (vect_is_simple_use): Same. + (vect_is_simple_reduction): Same. + * ipa-type-escape.c (scan_for_refs): Same. + * tree-if-conv.c (tree_if_conversion): Same. + (tree_if_convert_stmt): Same. + (if_convertible_gimplify_modify_stmt_p): Rename from + if_convertible_modify_expr_p. + (if_convertible_stmt_p): Adjust for GIMPLE_MODIFY_STMT. + (ifc_temp_var): Same. + (replace_phi_with_cond_modify_stmt): Rename from + replace_phi_with_cond_modify_expr. + (process_phi_nodes): Call replace_phi_with_cond_modify_stmt. + * tree.def (DEFTREECODE): Add GIMPLE_MODIFY_STMT. + * tree-data-ref.c (find_data_references_in_loop): Adjust for + GIMPLE_MODIFY_STMT. + * tree-flow-inline.h (var_ann): Same. + (function_ann): Same. + (stmt_ann): Same. + (mark_non_addressable): Same. + * tree-vect-analyze.c (vect_determine_vectorization_factor): Same. + * gimplify.c (tree_to_gimple_tuple): New. + (build_stack_save_restore): Adjust for GIMPLE_MODIFY_STMT. + (gimplify_return_expr): Same. + (gimplify_decl_expr): Same. + (gimplify_self_mod_expr): Same. + (gimplify_cond_expr): Same. + (gimplify_init_constructor): Same. + (gimplify_modify_expr): Same. + (gimplify_expr): Same. + (gimplify_function_tree): Same. + (force_gimple_operand): Same. + * tree-ssa-phiopt.c (conditional_replacement): Same. + (minmax_replacement): Same. + (abs_replacement): Same. + * tree-dfa.c (create_var_ann): Same. + (create_function_ann): Same. + (create_stmt_ann): Same. + (create_tree_ann): Same. + (collect_dfa_stats_r): Same. + * tree-ssa-pre.c (find_or_generate_expression): Same. + (create_expression_by_pieces): Same. + (try_look_through_load): Same. + (insert_fake_stores): Same. + (realify_fake_stores): Same. + (compute_avail): Same. + (eliminate): Same. + (init_pre): Same. + (poolify_modify_stmt): Rename from poolify_modify_stmt. + Adjust for GIMPLE_MODIFY_STMT. + (NECESSARY): Adjust for new `common' layout. + * tree-ssa-live.c (build_tree_conflict_graph): Adjust for + GIMPLE_MODIFY_STMT. + * tree-sra.c (sra_walk_modify_stmt): Rename from + sra_walk_modify_expr. + (sra_walk_function): Adjust for GIMPLE_MODIFY_STMT. + (generate_copy_inout): Same. + (generate_element_copy): Same. + (generate_element_zero): Same. + (scalarize_copy): Same. + * tree-mudflap.c (mf_decl_cache_locals): Same. + (mf_build_check_statement_for): Same. + (mf_xform_derefs): Same. + * ipa-prop.c (ipa_method_modify_stmt): Same. + * print-tree.c (print_node): Handle gimple tuples. + Add case for tcc_gimple_stmt. + * tree-ssa-copy.c (stmt_may_generate_copy): Adjust for + GIMPLE_MODIFY_STMT. + (copy_prop_visit_assignment): Same. + (copy_prop_visit_stmt): Same. + (init_copy_prop): Same. + * tree-ssa-forwprop.c (ssa_name_defined_by_comparison_p): Same. + (forward_propagate_into_cond_1): Same. + (find_equivalent_equality_comparison): Same. + (tidy_after_forward_propagate_addr): Same. + (forward_propagate_addr_expr_1): Same. + (simplify_not_neg_expr): Same. + (simplify_switch_expr): Same. + * tree-ssa-dce.c (find_pdom): Same. + (mark_stmt_if_obviously_necessary): Same. + (NECESSARY): Adjust for new `common' layout. + * tree-flow.h: Same. + * tree-vect-patterns.c (widened_name_p): Adjust for + GIMPLE_MODIFY_STMT. + (vect_recog_dot_prod_pattern): Same. + (vect_recog_widen_sum_pattern): Same. + (vect_pattern_recog_1): Same. + * tree-nested.c (init_tmp_var): Same. + (save_tmp_var): Same. + (walk_stmts): Same. + (convert_call_expr): Same. + (finalize_nesting_tree_1): Same. + * tree-ssa.c (verify_ssa): Same. + (delete_tree_ssa): Same. + * lambda-code.c (lbv_to_gcc_expression): Same. + (lle_to_gcc_expression): Same. + (lambda_loopnest_to_gcc_loopnest): Same. + (can_put_in_inner_loop): Same. + (can_convert_to_perfect_nest): Same. + (perfect_nestify): Same. + * tree-ssa-loop-prefetch.c (gather_memory_references): Same. + * tree-inline.c (copy_body_r): Same. + (setup_one_parameter): Same. + (initialize_inlined_parameters): Same. + (estimate_num_insns_1): Same. + (expand_call_inline): Same. + (gimple_expand_calls_inline): Same. + (copy_tree_r): Same. + * tree-optimize.c (execute_free_cfg_annotations): Same. + * tree-vect-transform.c (vect_create_addr_base_for_vector_ref): Same. + (vect_align_data_ref): Same. + (vect_create_data_ref_ptr): Same. + (vect_init_vector): Same. + (vect_create_epilog_for_reduction): Same. + (vectorizable_reduction): Same. + (vectorizable_assignment): Same. + (vectorizable_operation): Same. + (vectorizable_store): Same. + (vectorizable_load): Same. + (vectorizable_live_operation): Same. + (vectorizable_condition): Same. + (vect_generate_tmps_on_preheader): Same. + (vect_create_cond_for_align_checks): Same. + * tree-object-size.c (collect_object_sizes_for): Same. + (check_for_plus_in_loops_1): Same. + (check_for_plus_in_loops): Same. + * tree-outof-ssa.c (insert_copy_on_edge): Same. + (replace_use_variable): Same. + (check_replaceable): Same. + (rewrite_trees): Same. + (identical_copies_p): Same. + (insert_backedge_copies): Same. + * tree-profile.c (tree_gen_edge_profiler): Same. + * tree-vect-generic.c (expand_vector_operations_1): Same. + * tree-ssa-structalias.c (update_alias_info): Same. + (find_func_aliases): Same. + * tree-cfg.c (factor_computed_gotos): Same. + (make_edges): Same. + (make_goto_expr_edges): Same. + (tree_merge_blocks): Same. + (remove_useless_stmts_cond): Same. + (remove_useless_stmts_1): Same. + (tree_find_edge_insert_loc): Same. + (verify_expr): Same. + (gimplify_val): Same. + (verify_gimple_tuples_1): New. + (verify_gimple_tuples): New. + (verify_stmts): Call verify_gimple_tuples. + * tree-ssa-reassoc.c (get_rank): Adjust for GIMPLE_MODIFY_STMT. + (get_unary_op): Same. + (linearize_expr): Same. + (get_single_immediate_use): Same. + (negate_value): Same. + (should_break_up_subtract): Same. + (break_up_subtract): Same. + (repropagate_negates): Same. + (break_up_subtract_bb): Same. + (reassociate_bb): Same. + * config/i386/i386.c (ix86_va_start): Same. + (ix86_gimplify_va_arg): Same. + * stmt.c (expand_expr_stmt): Same. + (warn_if_unused_value): Same. + (expand_return): Same. + * tree-ssanames.c (make_ssa_name): Same. + * tree-ssa-threadedge.c (lhs_of_dominating_assert): Same. + * tree-ssa-operands.c (finalize_ssa_defs): Same. + (add_virtual_operand): Same. + (get_expr_operands): Same. + (parse_ssa_operands): Same. + (get_modify_stmt_operands): Rename from get_modify_expr_operands. + +2006-12-05 H.J. Lu + + * config.host: Remove extra blank line. + +2006-12-05 Bernd Schmidt + + * config.host (i[34567]86-*-*, x86-64-*-*): Use driver-i386.o only if + target is also an x86 variant. + +2006-12-05 Richard Guenther + + * config/i386/i386.c (ix86_builtin_vectorized_function): Declare. + (TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION): Define. + (ix86_builtin_vectorized_function): New function to vectorize + sqrt. + +2006-12-05 Bernd Schmidt + + * config/bfin/bfin.c (output_file_start): Fix comment which referred to + ia64_override_options. + +2006-12-04 Jan Hubicka + + * cfgexpand.c (expand_one_var): Guard expand_one_stack_var by + really_expand. + +2006-12-04 Bernd Schmidt + + * rtlanal.c (note_uses): Deal with SEQUENCEs. + * config/bfin/bfin.c: Include "timevar.h". + (bfin_flag_schedule_insns2, splitting_for_sched, + bfin_flag_var_tracking): New variables. + (print_operand): Handle '%!'. + (override_options): Disable normal sched2 pass, instead set + bfin_flag_schedule_insns2 for reorg to handle it. + (output_file_start): Likewise for var-tracking. + (bfin_optimize_loop): Take some care not to stumble over SEQUENCEs. + (gen_one_bundle, bfin_gen_bundles, type_for_anomaly, trapping_loads_p): + New functions. + (bfin_reorg): Do second scheduling pass here, and call + bfin_gen_bundles. Use type_for_anomaly and trapping_loads_p instead + of examining insns directly. If bfin_flag_var_tracking, call + var-tracking pass when done with everything else. + * config/bfin/bfin.h (PRINT_OPERAND_PUNCT_VALID_P): '!' is valid. + * config/bfin/bfin.md (UNSPEC_32BIT): New constant. + (movsi_insn32): New pattern, with two new splits to create it + before the final scheduling pass. + (neghi2): Not a dsp32 insn, rather alu0. + (movbi, pushsi_insn, popsi_insn, movsi_insn, movv2hi_insn, movhi_insn, + movqi_insn, movsf_insn, movsi_insv, extendhisi2, zero_extendhisi2, + extendqihi2, extendqisi2, zero_extendqihi2, zero_extendqisi2, + mulhisi3, umulhisi3, ssadsi3, sssubsi3, smaxsi3, sminsi3, abssi2, + ssnegsi2, signbitssi2, smaxhi3, sminhi3, abshi2, ssneghi2, signbitshi2, + movhi_low2high, movhi_high2high, movhi_low2low, movhi_high2low, + movhiv2hi_low, movhiv2hi_high, composev2hi, packv2hi, movv2hi_hi, + ssaddhi3, sssubhi3, addv2hi3, ssaddv2hi3, subv2hi3, sssubv2hi3, + addsubv2hi3, subaddv2hi3, ssaddsubv2hi3, sssubaddv2hi3, sublohiv2hi3, + subhilov2hi3, sssublohiv2hi3, sssubhilov2hi3, addlohiv2hi3, + addhilov2hi3, ssaddlohiv2hi3, ssaddhilov2hi3, sminv2hi3, smaxv2hi3, + flag_mulhi, flag_mulhisi, flag_mulhisi_parts, flag_machi, + flag_machi_acconly, flag_macinithi, flag_macinit1hi, mulv2hi3, + flag_mulv2hi, flag_mulv2hi_parts, flag_macv2hi_parts, + flag_macv2hi_parts_acconly, flag_macinitv2hi_parts, + flag_macinit1v2hi_parts, mulhisi_ll, mulhisi_lh, mulhisi_hl, + mulhisi_hh, ssnegv2hi2, absv2hi2, ssashiftv2hi3, ssashifthi3, + lshiftv2hi3, lshifthi3): Use '%!' to terminate all dsp32/load/store + variants instead of ';'. + (ror_one, rol_one): Likewise. Make them dsp32 insns. + (ashlsi3_insn, ashrsi3, lshrsi3): Add dsp32 variants. + (align8, align16, align24): Now named patterns; also using '%!'. + (mnop): New insn. + +2006-12-05 Kazu Hirata + + * config/i386/darwin.h, config/spu/spu.c, tree-ssa-live.c, + tree-vect-generic.c, tree-vect-transform.c: Fix comment typos. + +2006-12-04 Trevor Smigiel + + * config/spu/spu-protos.c (spu_split_address): Add. + * config/spu/spu.c (spu_split_address): Add. + (print_operand): Handle HIGH. + (spu_legitimate_address): Don't test for aligned CONST. + (spu_expand_mov): Don't split addresses here. + * config/spu/constraints.md (A): Don't test legitimate_const. + * config/spu/spu.md: Add split of movsi patterns for PIC mode. + (ceq_di): Use correct predicates. + +2006-12-04 Eric Christopher + + * config/darwin.h: Update copyright notice. + * config/i386/darwin.h: Ditto. + +2006-12-04 Jan Hubicka + + * builtins.c (fold_builtin_memory_op): Check that expr_size match. + * explow.c (expr_size, int_expr_size): Assert that size is non_NULL. + 2006-12-04 Daniel Berlin - + + * tree-ssa-alias.c (compute_flow_sensitive_aliasing): Call + set_used_smts. + * tree-ssa-structalias.c (set_used_smts): Export. + (find_what_p_points_to): Don't call set_used_smts here. + * tree-ssa-structalias.h (set_used_smts): Add prototype. + +2006-12-04 Daniel Berlin + * tree-ssa-alias.c (compute_may_aliases): Compute flow sensitive before flow insensitive. (compute_flow_sensitive_aliasing): Don't try to add a symbol memory tag to itself. + * alias.h (alias_set_subset_of): New prototype. + * alias.c (alias_set_subset_of): New function. + * tree-ssa-structalias.c: Update comments. (struct variable_info): Add finished_solution. (new_varinfo): Set finished solution to NULL. (var_escaped_vars): Remove. (escaped_vars_tree): Remove. (escaped_vars_id): Remove. + (nonlocal_vars_id): Remove. (constraint_expr_type): Add INCLUDES. (graph_size): Removed. (dump_constraint): Support INCLUDES. @@ -24,7 +877,8 @@ (process_constraint): Fix non-field sensitive handling Handle includes. (get_constraint_for): Use INCLUDES. - (make_constraint_from_escaped): Use nonlocal_vars_id. + (make_constraint_from_anything): Renamed from + make_constraint_from_escaped. (make_constraint_to_escaped): Removed. (find_global_initializers): Removed. (create_variable_info_for): Do not make constraints to escaped @@ -32,19 +886,22 @@ (dump_solution_for_var): Don't print out the equivalent points-to sets, just use the name of the variable it shares it with. (intra_create_variable_infos): Use INCLUDES. - Move initialization of nonlocal variable to init_base_vars. - (init_base_vars): Init nonlocal variable here. - Remove escaped_vars initialization. + Change nonlocal variable sets to anything sets. + (init_base_vars): Remove escaped_vars and nonlocal_var + initialization. (find_escape_constraints): Removed. (delete_points_to_sets): Remove dead code. (used_smt_calculated): New variable. (set_used_smts): New function. (merge_smts_into): New function. (find_what_p_points_to): Modify to use SMTs. + (create_nonlocal_var): Remove. + * tree-ssa-operands.c (access_can_touch_variable): Remove - reference to nonlocal_all. + reference to nonlocal_all. + * tree-ssa.c (verify_name_tags): Remove. - + 2006-12-04 Carlos O'Donell * config/arm/unwind-arm.c: Adjust __cxa_type_match declaration. @@ -57,7 +914,7 @@ (add_livein_if_notdef): Delete. (loe_visit_block): New. Propogate live on entry info for a block into each predecessor. If it changes, make sure it is visited again. - (live_worklist): Visit every block and update the live on entry info + (live_worklist): Visit every block and update the live on entry info for preds. Iterate over any that changed. (set_var_live_on_entry): Populate the live on entry blocks with bits based on the immediate uses of a var. @@ -90,7 +947,7 @@ (expand_omp_for): Use expand_omp_for_generic if either region->cond or region->exit is NULL. (expand_omp_sections): Handle NULL region->cond or region->exit. - (expand_omp_synch): + (expand_omp_synch): 2006-12-04 Eric Botcazou