X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;f=gcc%2FChangeLog;h=871331093cc1b0243593f7d552f170bbded0a2af;hb=bd25c0c16d3993aea71d079f0bb22749bb895134;hp=0471e0083d7959ddeb5138a82e8875130953bb09;hpb=7aafe47ca2eb82a5c8ced9a8206614594a637591;p=pf3gnuchains%2Fgcc-fork.git diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 0471e0083d7..871331093cc 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,524 @@ +2004-10-27 Geoffrey Keating + + * doc/tm.texi (USE_SELECT_SECTION_FOR_FUNCTIONS): Document. + + * config/darwin.h (GTHREAD_USE_WEAK): Define. + +2004-10-28 Ben Elliston + + * params.def (PARAM_SRA_MAX_STRUCTURE_SIZE): New. + (PARAM_SRA_FIELD_STRUCTURE_RATIO): Likewise. + * params.h (SRA_MAX_STRUCTURE_SIZE): New. + (SRA_FIELD_STRUCTURE_RATIO): Likewise. + * tree-sra.c: Include "params.h". + (decide_block_copy): Use new parameters. + * doc/invoke.texi (Optimize Options): Document new SRA pass + parameters sra-max-structure-size and sra-field-structure-ratio. + +2004-10-27 Nicolas Pitre + + * config/arm/ieee754-df.S (floatdidf): Fix regression with big values. + +2004-10-27 Zdenek Dvorak + + PR tree-optimization/18048 + * fold-const.c (try_move_mult_to_index): New function. + (fold): Use try_move_mult_to_index. + * tree-ssa-loop-ivopts.c (try_add_cand_for): Prefer common candidates. + * tree-ssa-loop-niter.c (number_of_iterations_cond): Produce + an all-ones unsigned constant without extra bits. + * tree.c (build_low_bits_mask): New function. + * tree.h (build_low_bits_mask): Declare. + +2004-10-27 David Edelsohn + + PR target/17956 + * config/rs6000/rs6000.md (maxsf3): Add !flag_trapping_math to + final condition. + (minsf3): Same. + (maxdf3): Same. + (mindf3): Same. + +2004-10-27 Kazu Hirata + + * tree-cfg.c (thread_jumps): Speed up by reordering the two + conditions for entering basic blocks into worklist. + +2004-10-27 Kazu Hirata + + * tree-cfg.c (thread_jumps): Speed up by pretending to have + ENTRY_BLOCK_PTR in worklist. + +2004-10-27 Kazu Hirata + + * tree-ssa-dce.c (mark_stmt_if_obviously_necessary) + : Don't let an explicit GOTO_EXPR slip through. + +2004-10-27 Daniel Berlin + + Fix PR tree-optimization/17133 + + * tree-cfg.c (rewrite_to_new_ssa_names_bb): Also rewrite must + def kill operand. + + * tree-flow-inline.h: V_MUST_DEF_OP became V_MUST_DEF_RESULT. + (get_v_must_def_result_ptr): Modify for new structure of + v_must_defs array. + (get_v_must_def_kill_ptr): New. + (op_iter_next_use): Add support for the kill that occurs in V_MUST_DEFs. + (op_iter_next_tree): Ditto. Also V_MAY_DEF_OP became V_MAY_DEF_RESULT. + (op_iter_next_def): V_MAY_DEF_OP became V_MAY_DEF_RESULT. + (op_iter_init): Initialize new mustu members. + (op_iter_next_mustdef): New function. + (op_iter_init_mustdef): Ditto. + + * tree-flow.h (rewrite_def_def_chains): New function. + + * tree-into-ssa.c (mark_def_sites): Handle mustdefkill operands. + (ssa_mark_def_sites): Ditto. + (rewrite_stmt): Ditto. + (ssa_rewrite_stmt): Ditto. + (rewrite_blocks): Factor out from rewrite_into_ssa. + (mark_def_block_sites): Ditto. + (rewrite_def_def_chains): New function, just rewrites def-def + chains without phi node insertion. + + * tree-pass.h (TODO_fix_def_def_chains): New todo flag. + + * tree-optimize.c (execute_todo): Handle TODO_fix_def_def_chains. + + * tree-pretty-print.c (dump_vops): Print out MUST_DEF's so that + they include the rhs now. + + * tree-ssa-ccp.c (visit_assignment): V_MUST_DEF_OP became + V_MUST_DEF_RESULT. + + * tree-ssa-dce.c (mark_operand_necessary): Add phionly argument. + Update callers. + (mark_really_necessary_kill_operand_phis): New function. + (perform_tree_ssa_dce): Call it. + (pass_dce): Add TODO_fix_def_def_chains. + (pass_cd_dce): Ditto. + + * tree-ssa-loop-im.c (determine_max_movement): Look at kills as + well. + (rewrite_mem_refs): Ditto. + + * tree-ssa-loop-manip.c (find_uses_to_rename_stmt): Look at kills + as well. + + * tree-ssa-operands.c (allocate_v_may_def_optype): + v_may_def_operand_type_t became v_def_use_operand_type_t. + (allocate_v_must_def_optype) Ditto. + (finalize_ssa_v_must_defs): Update for new operand type, as well + as setting the use portion as well. + (copy_virtual_operands): Copy the kill operand as well. + (create_ssa_artficial_load_stmt): V_MUST_DEF_OP became + V_MUST_DEF_RESULT. + + * tree-ssa-operands.h (v_may_def_operand_type): Renamed to + v_def_use_operand_type. + (v_must_def_optype_d): Use v_def_use_operand_type. + (V_MUST_DEF_OP_*): Renamed to V_MUST_DEF_RESULT_* + (V_MUST_DEF_KILL_*): New macros. + (struct ssa_operand_iterator_d): Add num_v_mustu and v_mustu_i + members. + Rename existing must_i and num_v_must members to mustd_i and + num_v_mustd. + (SSA_OP_VMUSTDEFKILL): New flag. + (SSA_OP_VIRTUAL_KILLS): New flag. + (SSA_OP_ALL_OPERANDS): Add in SSA_OP_ALL_KILLS. + (SSA_OP_ALL_KILLS): New flag. + (FOR_EACH_SSA_MUSTDEF_OPERAND): New macro. + + * tree-ssa.c (verify_ssa): Verify virtual kills as well. + + * tree-vectorizer.c (vect_create_data_ref_ptr): V_MUST_DEF_OP + became V_MUST_DEF_RESULT. + (rename_variables_in_bb): Rename kill pointer as well. + + * tree-dfa.c (compute_immediate_uses_for_stmt): Add kills into the + immediate uses. + +2004-10-27 Richard Sandiford + + * dbxout.c (dbxout_source_line): Move declaration of begin_label to + the block that needs it. + +2004-10-27 Zack Weinberg + + * dbxout.c (dbxout_finish_complex_stabs): Mark 'line' variable + ATTRIBUTE_UNUSED. + +2004-10-27 Zack Weinberg + + * c-lex.c (cb_def_pragma): Clean up code for making location + palatable to diagnostic.c. + +2004-10-27 Steven Bosscher + + PR tree-optimization/17757 + * tree-phinodes.c (remove_phi_arg_num): Don't remove PHIs + without any PHI arguments left. Make sure the argument that + we're supposed to remove exists at all. + +2004-10-27 Paul Brook + + * configure.ac: Don't test for [build] __cxa_atexit when building a + cross compiler. + * configure: Regenerate. + +2004-10-27 Paul Brook + + * configure.ac: Use build_exeext not host_exeext when lookin for + target tools. + * configure: Regenerate. + +2004-10-27 Andreas Krebbel + + * config/s390/s390.md ("*subdf3_cc"): Replaced plus by minus. + +2004-10-27 Andreas Krebbel + patch originally created by Kelley Cook + + PR middle-end/14684 + * opts.c (OPT_fprofile_generate): Default to -funroll-loops + to match -fprofile-use. + +2004-10-27 Kazu Hirata + + * config/rs6000/rs6000.c: Fix a comment typo. + +2004-10-27 Zack Weinberg + + * config/m32r/m32r.h (DBX_OUTPUT_SOURCE_LINE): Increment line + counter. + +2004-10-27 Andreas Schwab + + * varasm.c (default_stabs_asm_out_destructor): Mark symbol as + unused. + (default_stabs_asm_out_constructor): Likewise. + +2004-10-26 Geoffrey Keating + + * builtins.c (fold_builtin_unordered_cmp): Always bring both + operands to the same type. + +2004-10-26 James E Wilson + + PR target/18010 + * emit-rtl.c (emit_copy_of_insn_after): Copy RTX_FRAME_RELATED_P. + +2004-10-26 Zack Weinberg + + * dbxout.c: Include obstack.h. + (ASM_STABS_OP): Take XCOFF_DEBUGGING_INFO into account in + default definition. + (ASM_STABD_OP, NO_DBX_MAIN_SOURCE_DIRECTORY, DBX_CONTIN_CHAR): + Default-define here. + (DBX_CONTIN_LENGTH): Move definition with others. + (DBX_FINISH_STABS): New target macro. + (current_sym_code, current_sym_value, current_sym_addr) + (current_sym_nchars, CHARS, dbxout_continue) + (print_int_cst_octal, print_octal, print_wide_int) + (dbxout_prepare_symbol, dbxout_finish_symbol): Delete. + (stabstr_ob, stabstr_last_contin_point): New variables. + (NUMBER_FMT_LOOP): New improper macro. + (dbxout_int, dbxout_stab_value_zero, dbxout_stab_value_label) + (dbxout_stab_value_label_diff, dbxout_stab_value_internal_label) + (dbxout_stab_value_internal_label_diff, dbxout_stabd) + (dbxout_begin_stabn, dbxout_begin_stabn_sline) + (dbxout_begin_simple_stabs, dbxout_begin_simple_stabs_desc) + (dbxout_begin_complex_stabs, dbxout_finish_complex_stabs) + (stabstr_C, stabstr_S, stabstr_I, stabstr_D, stabstr_U, stabstr_O) + (stabstr_continue, DECL_ACCESSIBILITY_CHAR) + New functions and/or proper function-like macros. + (CONTIN): Use stabstr_continue, unconditionally. + (get_lang_number): Define unconditionally, with ATTRIBUTE_UNUSED. + (dbxout_init): Initialize stabstr_ob. Check + NO_DBX_MAIN_SOURCE_DIRECTORY. Only write out the Ltext label + if it was used. Use the new interfaces. + (dbxout_source_file): Remove file argument; always write to + asm_out_file. Use the new interfaces. + (dbxout_type_method_1): Remove second argument which is always + DECL_ASSEMBLER_NAME of the first argument. Use the new interfaces. + (dbxout_type_methods): Remove write-only variables. Use the + new interfaces. + (dbxout_parms): Refactor to remove code duplicated in each of + several successive if-else-if blocks. Use the new interfaces. + (dbxout_function_end, emit_bincl_stab, dbxout_end_source_file) + (dbxout_source_line, dbxout_finish, dbxout_type_index) + (dbxout_type_fields, dbxout_range_type, dbxout_type, dbxout_type_name) + (dbxout_class_name_qualifiers, dbxout_symbol, dbxout_symbol_location) + (dbxout_symbol_name, dbxout_reg_parms, dbxout_args) + (dbx_output_lbrac, dbx_output_rbrac, dbxout_block): + Use the new interfaces. + * Makefile.in (dbxout.o): Update dependencies. + + * defaults.h: Don't define ASM_STABD_OP. + * output.h: Prototype new dbxout_* interfaces. + * system.h: Poison DBX_OUTPUT_GCC_MARKER and DBX_FINISH_SYMBOL. + * varasm.c: Don't define ASM_STABS_OP. + (default_stabs_asm_out_constructor, default_stabs_asm_out_destructor): + Use the new dbxout.c interfaces. Call sorry if neither + DBX_DEBUGGING_INFO nor XCOFF_DEBUGGING_INFO is defined. + + * xcoffout.h: Don't define ASM_STABS_OP. + (DBX_FINISH_SYMBOL): Rewrite and rename DBX_FINISH_STABS. + (DBX_OUTPUT_MAIN_SOURCE_DIRECTORY, DBX_OUTPUT_GCC_MARKER): Delete. + (NO_DBX_MAIN_SOURCE_DIRECTORY, NO_DBX_GCC_MARKER): Define. + (DBX_OUTPUT_MAIN_SOURCE_FILE_END): Change bare block to + do { ... } while (0) idiom. + + * config/alpha/alpha.c (num_source_filenames): Export. + * config/alpha/alpha.h (num_source_filenames): Declare. + (DBX_OUTPUT_SOURCE_LINE): Use new interfaces. + (SDB_OUTPUT_SOURCE_LINE): Add missing newline. + * config/m32r/m32r.h (DBX_OUTPUT_SOURCE_LINE): Use new interfaces. + Always use .debugsym. Update commentary. + * config/mips/mips.h (DBX_OUTPUT_SOURCE_LINE): Use new interfaces. + (SDB_OUTPUT_SOURCE_LINE): Add missing newline. + * config/rs6000/linux64.h (DBX_OUTPUT_SOURCE_LINE, DBX_OUTPUT_BRAC): + Use new interfaces. + * config/rs6000/rs6000.c: If TARGET_MACHO, include gstab.h. + (macho_branch_islands): Use new interfaces. + + * doc/tm.texi: Update. + +2004-10-26 Aldy Hernandez + + * expr.c (emit_group_store): Do not treat floats as BLKmode. + (emit_group_load): Same. + +2004-10-26 Joseph S. Myers + + * c-parse.in (datadef): Use pedwarn rather than error and warning + for diagnostic in case of no declaration specifiers. + +2004-10-26 Richard Sandiford + + PR bootstrap/15747 + * doc/install.texi (mips-sgi-irix5): Document that /bin/sh has been + reported to hang during bootstrap and that CONFIG_SHELL=/bin/ksh + can be used to work around this. + +2004-10-26 Aldy Hernandez + + * config/rs6000/rs6000.h (MEMBER_TYPE_FORCES_BLK): Adjust for e500 + doubles. + +2004-10-26 Kazu Hirata + + * stmt.c (expand_case): Update a comment. + +2004-10-26 Kazu Hirata + + * stmt.c (expand_case): Put an assertion that index_expr is + never INTEGER_CST. Don't special case for constant + index_expr. + +2004-10-26 Andrew Pinski + + PR 18162 + * c-parse.in (designator): Finish with a semi-colon. + +2004-10-26 Fariborz Jahanian + + * config/rs6000/rs6000.md (andsi3_internal8): Set CR when splitting + into rotlsi3. + +2004-10-26 Kazu Hirata + + * stmt.c (expand_case): Remove code to handle SWITCH_EXPR with + a default case only. + +2004-10-26 Aldy Hernandez + + * config/rs6000/rs6000.c (rs6000_hard_regno_nregs): Adjust for + e500 doubles. + (spe_build_register_parallel): New. + (rs6000_spe_function_arg): Handle e500 doubles. + (function_arg): Same. + (spe_func_has_64bit_regs_p): Same. + (rs6000_function_value): Same. + (rs6000_libcall_value): Same. + (legitimate_lo_sum_address_p): Return false for e500 doubles. + + * config/rs6000/rs6000.h (LOCAL_ALIGNMENT): Adjust for e500 + doubles. + (DATA_ALIGNMENT): Same. + (CANNOT_CHANGE_MODE_CLASS): Same. + +2004-10-26 Aldy Hernandez + + * expr.c (emit_group_load): Handle floats. + (emit_group_store): Same. + +2004-10-26 Nathan Sidwell + + * c-lex.c (get_nonpadding_token): Remove. + (c_lex_with_flags): Push timevar and eat padding here. Improve + stray token diagnostic. + (lex_string): Replace logic with switch statement, eat padding + token here. + +2004-10-26 Geoffrey Keating + + PR 18149 + * config/i386/darwin.h (ASM_SPEC): Undef it before defining. + +2004-10-25 Geoffrey Keating + + * config/darwin.h (LINK_SPEC): Default weak_reference_mismatches + to 'non-weak'. + (MAKE_DECL_ONE_ONLY): Set DECL_WEAK. + (ASM_MAKE_LABEL_LINKONCE): Delete. + (ASM_WEAKEN_DECL): New. + (ASM_DECLARE_OBJECT_NAME): Look at DECL_WEAK not DECL_ONE_ONLY. + (ASM_DECLARE_FUNCTION_NAME): Likewise. + (TEXT_SECTION_ASM_OP): Add a tab. + (DATA_SECTION_ASM_OP): Likewise. + (SECTION_FUNCTION): Add a tab. Use fputs. Don't call + data_section on every section change. + (EXTRA_SECTIONS): Add a bunch of new extra sections. + (EXTRA_SECTION_FUNCTIONS): Likewise. + (USE_SELECT_SECTION_FOR_FUNCTIONS): Define. + (JCR_SECTION_NAME): Define. + (TARGET_SECTION_TYPE_FLAGS): Don't define. + * config/darwin.c (darwin_encode_section_info): A symbol is defined + in this file if it is not weak. + (textcoal_section): Delete. + (datacoal_section): Delete. + (darwin_make_decl_one_only): Delete. + (machopic_select_section): Handle functions. + (darwin_asm_named_section): Add a tab. + (darwin_section_type_flags): Delete. + (darwin_unique_section): Delete contents. + (darwin_emit_unwind_label): Add a tab. Make decls weak if + DECL_WEAK is set. + * config/darwin-protos.h (darwin_section_type_flags): Delete. + (darwin_make_decl_one_only): Delete. + (text_coal_section): New. + (text_unlikely_section): New. + (text_unlikely_coal_section): New. + (const_coal_section): New. + (data_coal_section): New. + (const_data_coal_section): New. + * varasm.c (function_section): Honour + USE_SELECT_SECTION_FOR_FUNCTIONS. + * dwarf2out.c (output_call_frame_info): Look at DECL_WEAK when + TARGET_USES_WEAK_UNWIND_INFO is in effect. + * dbxout.c (dbxout_source_file): Don't change sections while + a function is being output. + +2004-10-25 David Ayers + + * c-common.h: Remove RID_ID. + * c-parse.in: Remove OBJECTNAME and references to RID_ID. + (typespec_reserved_attr): Add rule for TYPENAME + non_empty_protocolrefs. + (yylexname): Remove special handling of RID_ID. + +2004-10-25 James E Wilson + + * doc/invoke.texi (-fcrossjumping): Not enabled at -O. + +2004-10-25 Joseph S. Myers + + PR c/16667 + * c-parse.in (array_designator): New. + (designator): Use it. + (initelt): Only permit array_designator without '=', not ".foo". + +2004-10-25 Kenneth Zadeck + * gcc/Makefile.in: removed ggc for cgraphunit. + * gcc/cgraph.c.dump_cgraph_node: removed static var analysis. + * gcc/cgraph.h: removed static var analysis data structures and calls. + * gcc/cgraphunit.c: + cgraph_mark_local_and_external_functions:changed name to + cgraph_mark_local_functions + (print_order,convert_UIDs_in_bitmap,new_static_vars_info, + cgraph_reset_static_var_maps,get_global_static_vars_info, + get_global_statics_not_read,get_global_statics_not_written,searchc, + cgraph_reduced_inorder,has_proper_scope_for_analysis,check_rhs_var, + check_lhs_var,get_asm_expr_operands,process_call_for_static_vars, + scan_for_static_refs,cgraph_characterize_statics_local, + clear_static_vars_maps,cgraph_propagate_bits,cgraph_characterize_statics): + removed. + (cgraph_optimize,init_cgraph): removed calls to static vars analysis + * gcc/tree-dfa.c find_referenced_vars: removed call to static vars + analysis + * gcc/tree-flow.h static_vars_info: removed + * gcc/tree-ssa-operands.c (add_call_clobber_ops,add_call_read_ops): + removed calls to static vars analysis. + get_call_expr_operands: removed callee variable. + +2004-10-25 Kazu Hirata + + * cfg.c (unchecked_make_edge, redirect_edge_succ, + redirect_edge_pred): Use VEC_safe_push instead of + VEC_safe_insert. + * cfgrtl.c (force_nonfallthru_and_redirect): Likewise. + +2004-10-25 Kazu Hirata + + * cfgloopmanip.c (loopify): Take two more arguments true_edge + and false_edge. + * cfgloop.h: Adjust the corresponding prototype. + * loop-unswitch.c (unswitch_loop): Adjust a call to loopify. + * tree-ssa-loop-manip.c (tree_ssa_loop_version): Likewise. + +2004-10-25 Jakub Jelinek + + * dwarf2out.c (rtl_for_decl_location): Avoid segfault if + DECL_INCOMING_RTL is NULL. + +2004-10-25 Steven Bosscher + + * timevar.def (TV_FIND_REFERENCED_VARS): New. + * tree-dfa.c (pass_referenced_var): Use it. + +2004-10-25 Roger Sayle + John David Anglin + + * cse.c: Change encoding of quantity numbers to avoid undefined + pointer arithmetic on qty_table. + (REGNO_QTY_VALID_P): A quantity is now valid if it isn't negative. + (get_cse_reg_info): Initialize reg_qty to a unique negative value. + (new_basic_block): Assign "real" quantity numbers from zero. + (delete_reg_equiv): Do nothing if quantity is invalid. Reset the + REG_QTY to its unique negative value. + (merge_equiv_classes): Calculate need_rehash if quantity is valid. + (cse_main): Don't include max_reg when determining max_qty. + (cse_basic_block): Avoid subtracting a large offset from qty_table, + which causes undefined C99 behaviour. Only allocate needed memory. + +2004-10-25 Kazu Hirata + + * stmt.c (expand_case): Remove an obsolete comment. + +2004-10-25 Andrew Pinski + + PR middle-end/17407 + * c-decl.c (grokdeclarator) : Remove the call + layout_type as it is already done by build_array_type. + * tree.c (build_array_type): Layout the type even + +2004-10-25 Alexandre Oliva + + * config/frv/linux.h (TARGET_C99_FUNCTIONS): Define to 0. + +2004-10-25 Alexandre Oliva + + * config/frv/frv.md (movdi, movdf): Handle wide-constant splits + with wider-than-32-bit HOST_WIDE_INTs. + +2004-10-25 David Billinghurst + + * config/mips/mips.c(mips_output_filename): Remove unused + array ltext_label_name + 2004-10-24 Geoffrey Keating * config/rs6000/darwin.h (BLOCK_REG_PADDING): Define. @@ -61,7 +582,7 @@ 2004-10-22 Eric Christopher - * config/rs6000/rs6000.c (setup_incoming_varargs): Align DFmode + * config/rs6000/rs6000.c (setup_incoming_varargs): Align DFmode saves. 2004-10-22 Aldy Hernandez