X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;f=gcc%2FChangeLog;h=e9225a4faf8c203eb6c185c0e273ab90a6446ee7;hb=2a5af6bfe776fbcd5d4e5de33072bd8a36d1bcea;hp=8dbea4ef48b0f3f282c52bc93cc0439d315cb95a;hpb=dfa42b3f5c76a99585669ad913c8b9f9a1c7793d;p=pf3gnuchains%2Fgcc-fork.git diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 8dbea4ef48b..e9225a4faf8 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,391 @@ +2006-02-10 Jeff Law + + PR tree-optimization/26213 + * tree-ssa-threadedge.c (simplify_control_stmt_condition): Do not + loop trying to follow SSA_NAME_VALUE chains. + +2006-02-10 Richard Guenther + + * tree-dfa.c (get_ref_base_and_extent): When computing maxsize + deal with structures that end in implicitly variable sized arrays. + +2006-02-09 Zdenek Dvorak + + PR rtl-optimization/24762 + * df-scan.c (df_bb_refs_record): Record correct registers defined on + eh edges. + +2006-02-09 Zdenek Dvorak + + * tree-ssa-loop-ivopts.c (struct loop_data, loop_data): Removed. + (struct ivopts_data): Add regs_used field. + (tree_ssa_iv_optimize_init): Do not allocate aux fields for loops. + (ivopts_global_cost_for_size, determine_set_costs): Use data->regs_used + instead of loop_data->regs_used; + (free_loop_data): Do not free aux fields for loops. + (tree_ssa_iv_optimize): Do not pass loops to tree_ssa_iv_optimize_init + and tree_ssa_iv_optimize_finalize. + +2006-02-09 Kaz Kojima + + * config/sh/sh.h (FUNCTION_VALUE): Don't handle CHAR_TYPE. + +2006-02-09 J"orn Rennecke + + PR target/26141 + * sh.c (sh_gimplify_va_arg_expr): Don't change the result type when + computing the effective result type. + +2006-02-09 J"orn Rennecke + + PR inline-asm/16194 + * tree.h (decl_overlaps_hard_reg_set_p) Don't declare. + (tree_overlaps_hard_reg_set): Declare. + * stmt.c (decl_overlaps_hard_reg_set_p): Now static. Change return + type and signature to match function type expected by walk_tree. + (tree_overlaps_hard_reg_set): New function. + (decl_conflicts_with_clobbers_p): Rename to: + (tree_conflicts_with_clobbers_p). Take HARD_REG_SET * argument. + Use tree_overlaps_hard_reg_set. Changed caller. + * doc/tm.texi (TARGET_MD_ASM_CLOBBERS): Replace + decl_overlaps_hard_reg_set_p with tree_overlaps_hard_reg_set. + * cris.c (cris_md_asm_clobbers): Likewise. + +2006-02-09 Bernd Schmidt + + * reload1.c (emit_input_reload_insns): Delete code that tries to + inherit using find_equiv_reg. + +2006-02-09 Gabriel Dos Reis + + * c-common.h (flag_const_strings): Don't declare. + * c-common.c (flag_const_strings): Remove. + * c.opt (fconst_strings): Remove. + * c-opts.c (c_common_handle_option): Remove . + : Don't set flag_const_strings. + (c_common_init_options): Don't set flag_const_strings. + * doc/invoke.texi (-fno-const-strings): Remove documentation. + +2006-02-09 Richard Earnshaw + + * arm.md (tlobits_cbranch): New pattern. + * arm.h (arm_select_cc_mode): For thumb, only return CC_Nmode if + testing a single bit. + +2006-02-09 Andrew Pinski + + PR tree-opt/26179 + * tree-ssa-pre.c (create_component_ref_by_pieces): + Handle RETURN_DECL like VAR_DECL. + +2006-02-09 Andrew Pinski + + PR middle-end/26134 + * fold-const.c (fold_indirect_ref_1): Fold + "*(foo *)&complexfoo" to "__real__ complexfoo" + and "((foo*)&complexfoo)[1]" to "__imag__ complexfoo". + +2006-02-09 Andrew Pinski + + * tree-flow-inline.h (var_can_have_subvars): + Volatile variables should not have subvariables. + +2006-02-09 Diego Novillo + + PR 26180 + * tree-vrp.c (vrp_int_const_binop): Detect overflow when + multiplying unsigned values. + Tidy comments. + +2006-02-09 Eric Botcazou + + * config/sparc/sparc.c (tls_call_delay): Fix oversight. + +2006-02-08 Jason Merrill + + PR c++/25979 + * tree.def: Elaborate on difference from MODIFY_EXPR. + * doc/c-tree.texi (INIT_EXPR): Likewise. + * gimplify.c (internal_get_tmp_var): Use INIT_EXPR. + (gimplify_decl_expr, gimplify_init_ctor_eval): Likewise. + (gimplify_target_expr): Likewise. + (gimplify_cond_expr): Remove target handling. + (gimplify_modify_expr): Don't clobber INIT_EXPR code here. + (gimplify_expr): Clobber it here. + (gimplify_modify_expr_rhs): Push assignment into COND_EXPR here. + Do return slot optimization if we have an INIT_EXPR. + + PR tree-opt/24365 + * tree-inline.c (declare_return_variable): Also clear + DECL_COMPLEX_GIMPLE_REG_P as needed in the modify_dest case. + + PR c++/16405 + * gimplify.c (gimplify_modify_expr_rhs): Re-enable *& handling. + + PR middle-end/22439 + * gimplify.c (gimplify_one_sizepos): Fix typo. + +2006-02-08 Jeff Law + + PR tree-optimization/21417 + * tree-ssa-threadedge.c (thread_across_edge): Reject threading + across a backedge if the control statement at the end of the + block is data dependent on other statements in the same block. + (record_temporary_equivalences_from_stmts): Remove over-conservative + test for threading across backedges. + + * tree-ssa-dce.c (remove_dead_statement): When removing a dead + control statement, handle all three special cases in the same + manner as they all have the same desired solution. No longer + special case edge flag updating when the post dominator is + the exit block. + +2006-02-08 Roger Sayle + + * tree.def (CHAR_TYPE): Remove. + * dbxout.c (dbxout_type): Delete dead handling of CHAR_TYPE. + * dwarf2out.c (base_type_die, is_base_type): Likewise. + (gen_type_die) : Remove handling of CHAR_TYPE arrays. + (gen_string_type_die): Delete unreachable function. + + * tree-pretty-print.c (dump_generic_node): Don't handle CHAR_TYPE. + * tree.c (build_int_cst_wide, type_contains_placeholder_1, + type_hash_eq, variably_modified_type_p, walk_type_fields): Likewise. + * tree.h (NUMERICAL_TYPE_CHECK, INTEGRAL_TYPE_P): Likewise. + * builtins.c (type_to_class): Likewise. + * fold-const.c (fold_convert, build_range_check, + merge_ranges): Likewise. + * expr.c (count_type_elements): Likewise. + * c-pretty-print.c (pp_c_type_specifier): Likewise. + * stor-layout.c (layout_type): Likewise. + * ipa-type-escape.c (type_to_consider): Likewise. + * gimplify.c (omp_firstprivatize_type_sizes, + gimplify_type_sizes): Likewise. + * explow.c (promote_mode): Likewise. + * tree-sra.c (is_sra_scalar_type): Likewise. + * varasm.c (output_constant): Likewise. + * tree-inline.c (remap_type_1): Likewise. + * convert.c (convert_to_pointer, convert_to_real, + convert_to_integer, convert_to_complex): Likewise. + +2006-02-08 Daniel Berlin + + * df-scan.c (df_def_record_1): A set destination may + be a parallel regardless of mode. + +2006-02-08 Roger Sayle + + PR target/22209 + * config/mips/mips.h (MIN_UNITS_PER_WORD): Don't define for libgcc. + * config/mips/_tilib.c: Remove. + * config/fixtfdi.c: New libgcc source file. + * config/fixunstfdi.c: New source file. + * config/floatditf.c: New source file. + * config/floatunditf.c: New souce file. + * config/mips/t-iris6 (LIB2FUNCS_EXTRA): Include the new source + files above instead of config/mips/_tilib.c. + * config/mips/t-linux64 (LIB2FUNCS_EXTRA): Likewise. + +2006-02-08 Jeff Law + + PR tree-optimization/26169 + * tree-vrp.c (execute_vrp): Perform any queued SSA updates before + threading jumps. + +2006-02-08 Zdenek Dvorak + + * df.h (DF_REG_SIZE): Return the length of the initialized + part of the array. + +2006-02-08 Nathan Sidwell + + * gcc/config/m68k/lb1sf68.asm (__divsf3, __divdf3, __mulsf3, + __muldf3): Return a correctly signed zero. + +2006-02-08 Paolo Bonzini + + * passes.c (register_one_dump_file): Accept the current properties + instead of pass number. Adjust call to dump_register. Remove + duplicated code. + (register_dump_files): Now a wrapper around... + (register_dump_files_1): ... this one. Do not modify the pass + structure. + (next_pass_1): Cosmetic fix. + (execute_todo): Keep second parameter only. Use curr_properties + instead of fetching it from the pass structure. Check and set + last_verified. + (execute_one_pass): Handle TODO_set_props. Use curr_properties + instead of fetching it from the pass structure. Fix calls to + execute_todo. Update curr_properties and initialize .vcg RTL dump + after running the pass. Reset last_verified. + * tree-dump.c (dump_files): Renumber consecutively. Put .cgraph dump + at the beginning. + (FIRST_AUTO_NUMBERED_DUMP): New. + (dump_register): Remove "num" parameter, assign it within the + function. + (get_dump_file_name): Modify template for dumps. + * tree-dump.h (dump_register): Adjust prototype. + * tree-pass.h (enum tree_dump_index): Move cgraph at the beginning. + (PROP_trees): Add PROP_gimple_lomp. + (TODO_set_props): New. + * gimple-low.c (pass_lower_cf): Do not destroy PROP_gimple_lcf. + * tree-eh.c (pass_lower_eh): Do not destroy PROP_gimple_leh. + * cfgexpand.c (pass_expand): Destroy PROP_trees. + +2006-02-08 Jakub Jelinek + + * config.gcc (sparc-*-linux*): Add sparc/t-linux to tmake_file. + (sparc64-*-linux*): Likewise. + * config/sparc/t-linux64 (SHLIB_MAPFILES): Removed. + * config/sparc/t-linux: New file. + * config/sparc/libgcc-sparc-glibc.ver (__fixtfdi, __fixunstfdi, + __floatditf): Export at GCC_LDBL_3.0 if -m32 -mlong-double-128. + (__divtc3, __multc3, __powitf2): Export at GCC_LDBL_4.0.0 if + -m32 -mlong-double-128. + + * config.gcc (alpha*-*-linux*): Add alpha/t-linux to tmake_file. + * config/alpha/t-linux: New file. + * config/alpha/libgcc-alpha-ldbl.ver: New file. + + * config/sparc/linux.h (TARGET_OS_CPP_BUILTINS): Define + __LONG_DOUBLE_128__ if TARGET_LONG_DOUBLE_128. + (CPP_SUBTARGET_SPEC): Don't add -D__LONG_DOUBLE_128__ here. + * config/sparc/linux64.h (TARGET_OS_CPP_BUILTINS): Define + __LONG_DOUBLE_128__ if TARGET_LONG_DOUBLE_128 and TARGET_ARCH32. + (CPP_ARCH32_SPEC): Remove. + +2006-02-07 Uttam Pawar + + PR tree-optimization/26145 + * tree-ssa-loop-unswitch.c (tree_unswitch_single_loop): Free + bbs pointer. + +2006-02-07 John David Anglin + + PR target/26109 + * pa.c (attr_length_indirect_call): Don't return length 8 for distances + >= 240000 when generating code for SOM runtime. + (output_indirect_call): Don't use "b,l" instruction for indirect calls + to $$dyncall when generating code for SOM runtime.. + +2006-02-07 Dirk Mueller + + PR c++/18150 + * doc/invoke.texi (-Wsequence-point): Update documentation + that -Wsequence-point is implemented for C++ as well. + +2006-02-07 Eric Botcazou + + * config/sol26.h (CPP_SUBTARGET_SPEC): Accept -pthread. + * config/sol2.h (CPP_SUBTARGET_SPEC): Likewise. + (LIB_SPEC): Likewise. + * doc/invoke.texi (SPARC options): Document -pthread. + +2006-02-07 Geoffrey Keating + + * config/i386/i386.c (ix86_delegitimize_address): Support Darwin + PIC addresses. + +2006-02-07 Roger Sayle + + * config/sparc/sparc.c (sparc_type_code): Don't handle CHAR_TYPE. + Correct comment describing BOOLEAN_TYPE. + +2006-02-07 Dirk Mueller + + * c.opt: C++ frontend supports -Wdiv-by-zero. + * c-opts.c (c_common_handle_option): Remove dead case. + +2006-02-07 Eric Botcazou + + * configure.ac (TLS assembler check): Do not enable TLS by + default on SPARC/Solaris before version 10. + * configure: Regenerate. + +2006-02-07 David Edelsohn + + * doc/invoke.texi (xl-compat): Document conversion and support + routine names. + +2006-02-07 Jeff Law + + * tree-vrp.c (find_conditional_asserts): Update comments. + (simplify_stmt_for_jump_threading): New. + (identify_jump_threads, finalize_jump_threads): New. + (vrp_finalize): Call identify_jump_threads. + (execute_vrp): Call finalize_jump_threads. + * tree-ssa-dom.c (struct opt_stats_d): Remove num_iterations field. + (vrp_element, vrp_data, vrp_element_p): Remove. + (vrp_hash_elt, vrp_variables_stack): Remove. + (vrp_hash, vrp_eq, record_range): Remove. + (simplify_cond_and_lookup_avail_expr): Remove. + (extract_range_from_cond): Remove. + (thread_across_edge): Relocated into tree-ssa-threadedge.c. + (simplify_stmt_for_jump_threading): New. + (dom_thread_across_edge): New wrapper. + (tree_ssa_dominator_optimize): No longer initialize or + finalize any of the VRP datastructures. Remove iteration + step and simplify as a result of removal of iteration step. + (pass_dominator): Perform a cfg cleanup after DOM. + (dom_opt_finalize_block): Use the new common routines + for threading jumps. Simplify stack management slightly. + No longer need to unwind VRP state. + (record_equivalences_from_incoming_edge): No longer record + VRP information. + (eliminate_redundant_computations): No longer call + simplify_cond_and_lookup_avail_expr. + * tree-flow.h (potentially_threadable_block): Prototype. + (thread_across_edge): Likewise. + * Makefile.in (OBJS-common): Add tree-ssa-threadedge.o + (tree-ssa-threadedge.o): Add dependencies. + * tree-ssa-threadedge.c: New file. + * passes.c (init_optimization_passes): Merge PHIs before + calling VRP. Run VRP again late in the SSA optimization pipeline. + +2006-02-07 Eric Botcazou + + * df-core.c (df_set_blocks): Do not dereference function pointers. + (df_finish1): Likewise. + (df_hybrid_search_forward): Likewise. + (df_hybrid_search_backward): Likewise. + (df_iterative_dataflow): Likewise. + (df_analyze_problem): Likewise. + (df_compact_blocks): Likewise. + (df_dump): Likewise. + * df-scan.c (df_rescan_blocks): Likewise. + (df_record_entry_block_defs): Likewise. + + * genconditions.c (write_conditions): Guard the definition of + 'insn_conditions' with the check on GCC version. + (write_writer): Guard the traversal 'insn_conditions' with + the check on GCC version. + +2006-02-07 Richard Guenther + + PR c++/26140 + Revert + 2006-01-30 Richard Guenther + PR c++/23372 + * gimplify.c (gimplify_target_expr): Handle easy cases + without creating a temporary. + +2006-02-07 Pete Steinmetz + + * sched-rgn.c (compute_dom_prob_ps, compute_trg_info): Eradicate + use of float in probability computations. Use edge probabilities + in place of statically computed probabilities. + (min_spec_prob): New static variable. + (schedule_insns): Initialize it. + (GET_SRC_PROB): Removed. + * doc/invoke.texi (min-sched-prob): Renamed to min-spec-prob. + +2006-02-07 Alexandre Oliva + + PR debug/24444 + * config/ia64/unwind-ia64.c: Revert last change. + * config/ia64/ia64.h (ARG_POINTER_CFA_OFFSET): Removed. + (INCOMING_FRAME_SP_OFFSET): Define. + 2006-02-06 Roger Sayle * config/ia64/ia64.c (hfa_element_mode): Don't handle CHAR_TYPE.