X-Git-Url: http://git.sourceforge.jp/view?p=pf3gnuchains%2Fgcc-fork.git;a=blobdiff_plain;f=gcc%2FChangeLog;h=61797432b8d46dd6838a516506ca9835bf78fba3;hp=a5f8d09513dd934db485e77b4e88cf22d270edac;hb=391f4c3bc92b990e5f786b9f2a37290fee0714a4;hpb=57d517df0019650da8a26d721cbdcad19f545551 diff --git a/gcc/ChangeLog b/gcc/ChangeLog index a5f8d09513d..61797432b8d 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,343 @@ +2010-05-04 H.J. Lu + + PR target/43799 + * config/i386/i386.md (sse_prologue_save): Add clobber CC + register. + (*sse_prologue_save_insn1): Likewise. + (SSE prologue save splitter): Likewise. + +2010-05-04 Eric Botcazou + + * tree.c (free_lang_data_in_one_sizepos): New inline function. + (free_lang_data_in_type): Call it on TYPE_{MIN|MAX}_VALUE of numerical + types. Call it on TYPE_SIZE and TYPE_SIZE_UNIT of all types. + (free_lang_data_in_decl): Call it on DECL_SIZE and DECL_SIZE_UNIT of + all decls. Call it on DECL_FIELD_OFFSET of fields. + (find_decls_types_r): Follow DECL_VALUE_EXPR. + (iterative_hash_expr) : New case. + +2010-05-04 Martin Jambor + + * tree-sra.c (build_access_from_expr_1): The first parameter type + changed to simple tree. + (build_access_from_expr): Likewise, gsi parameter was eliminated. + (scan_assign_result): Renamed to assignment_mod_result, enum elements + renamed as well. + (build_accesses_from_assign): Removed all parameters except for a + simple gimple statement. Now returns a simple bool. + (scan_function): All non-analysis parts moved to separate functions + sra_modify_function_body and ipa_sra_modify_function_body. Removed all + parameters and updated both callers. + (sra_modify_expr): Removed parameter data. + (sra_modify_function_body): New function. + (perform_intra_sra): Call sra_modify_function_body to modify the + function body. + (replace_removed_params_ssa_names): Parameter data changed into + adjustments vector. + (sra_ipa_modify_expr): Likewise. Also removed unused parameter gsi and + changed the parameter dont_convert to convert with the opposite + meaning. + (sra_ipa_modify_assign): Parameter data changed into adjustments + vector, return value changed to bool. + (ipa_sra_modify_function_body): New function. + (sra_ipa_reset_debug_stmts): Updated a comment. + (modify_function): Use ipa_sra_modify_function_body to modify function + body. + +2010-05-04 H.J. Lu + + PR middle-end/43671 + * alias.c (true_dependence): Handle the same VALUE in x and mem. + (canon_true_dependence): Likewise. + (write_dependence_p): Likewise. + +2010-05-04 Jan Hubicka + + * Makefile.in (cgraphbuild.o): Add dependency on ipa-utils.h + * cgraphbuild.c: Include ipa-utils.h + (record_reference_ctx): New struct. + (record_reference): Simplify to work on initializers; not statements. + (mark_address, mark_load, mark_store): New. + (build_cgraph_edges): Simplify using walk_stmt_load_store_addr_ops; + walk PHI nodes too. + (record_references_in_initializer): Update use of record_reference. + (rebuild_cgraph_edges): Simplify using walk_stmt_load_store_addr_ops; + walk PHI nodes too. + +2010-05-04 Jan Hubicka + + * lto-symtab.c (lto_cgraph_replace_node): Do not remove edges; + node will be removed anyway. + (lto_varpool_replace_node): Allow also unanalyzed nodes; + relink aliases of node into prevailing node. + * varpool.c (varpool_remove_node): Remove aliases properly; + when removing node, remove all its aliases too; remove DECL_INITIAL + of removed node; ggc_free the varpool node. + +2010-05-04 Richard Guenther + + PR tree-optimization/43879 + * tree-ssa-structalias.c (alias_get_name): Use + DECL_ASSEMBLER_NAME if available. + (create_function_info_for): Return the varinfo node. + (ipa_pta_execute): Associate same-body aliases and extra names + with their origin nodes varinfo. Dump DECL_ASSEMBLER_NAME. + +2010-05-04 Kaz Kojima + + * config/sh/sh.c (sh_small_register_classes_for_mode_p): Remove + static. + +2010-05-04 Mikael Pettersson + + PR bootstrap/43964 + * ira-color.c (assign_hard_reg): Declare rclass and add_cost + only if HONOR_REG_ALLOC_ORDER is not defined. + +2010-05-04 Richard Guenther + + PR tree-optimization/43949 + * tree-vrp.c (extract_range_from_binary_expr): Only handle + TRUNC_MOD_EXPR. + +2010-04-26 Jason Merrill + + * c.opt (-fstrict-enums): New. + * doc/invoke.texi (C++ Dialect Options): Document -fstrict-enums. + +2010-05-03 David Ung + James E. Wilson + + * config/mips/mips.c (mips_output_division): If GENERATE_DIVIDE_TRAPS, + emit the trap instruction before the divide for TUNE_74K. + +2010-05-03 Steven Bosscher + + * doc/tm.texi (defmac SMALL_REGISTER_CLASSES): Remove. + (TARGET_SMALL_REGISTER_CLASSES_FOR_MODE_P): Add documentation, + based on the above, for new target hook. + + * hooks.c (hook_bool_mode_true): New generic hook. + * hooks.h (hook_bool_mode_true): Add prototype. + + * target.h (struct gcc_target): Add small_register_classes_for_mode_p + target hook. + * target-def.h (TARGET_SMALL_REGISTER_CLASSES_FOR_MODE_P): New default + target hook, set to hook_bool_mode_false. + * regs.h: Remove default definition of SMALL_REGISTER_CLASSES. + * reload.c (push_secondary_reload): Replace SMALL_REGISTER_CLASSES + with targetm.small_register_classes_for_mode_p. + (find_reusable_reload): Likewise. + (combine_reloads): Likewise. + * reload1.c (reload_as_needed): Likewise. + * cse.c (approx_reg_cost_1, hash_rtx_cb): Likewise. + * ifcvt.c (noce_process_if_block, check_cond_move_block, + dead_or_predicable): Likewise. + * regmove.c (optimize_reg_copy_1): Likewise. + * calls.c (prepare_call_address): Likewise. + (precompute_register_parameters): Likewise. + + * config/sh/sh.h: Replace SMALL_REGISTER_CLASSES with new target + hook definition. + * config/sh/sh.c (sh_small_register_classes_for_mode_p): Add + implementation of the hook that considers all register classes + small except for SH64. + (sh_override_options): Use the new hook. + * config/sh/sh-protos.h (sh_small_register_classes_for_mode_p): + Add prototype. + + * config/arm/arm.h: Replace SMALL_REGISTER_CLASSES with new target + hook definition. + * config/arm/arm.c (arm_small_register_classes_for_mode_p): Add + implementation of the hook that considers all register classes + small for THUMB1. + * config/arm/arm-protos.h (arm_small_register_classes_for_mode_p): + Add prototype. + + * config/mips/mips.h: Replace SMALL_REGISTER_CLASSES with new target + hook definition. + * config/mips/mips.c (mips_small_register_classes_for_mode_p): Add + implementation of the hook that considers all register classes + small for MIPS16. + * config/mips/mips-protos.h (mips_small_register_classes_for_mode_p): + Add prototype. + + * config/i386/i386.h: Replace SMALL_REGISTER_CLASSES with new target + hook definition. + * config/m32c/m32c.h: Likewise. + * config/pdp11/pdp11.h: Likewise. + * config/avr/avr.h: Likewise. + * config/xtensa/xtensa.h: Likewise. + * config/m68hc11/m68hc11.h: Likewise. + * config/mn10300/mn10300.h: Likewise. + * config/mcore/mcore.h: Likewise. + * config/h8300/h8300.h: Likewise. + * config/bfin/bfin.h: Likewise. + + * config/iq2000/iq2000.h: Remove SMALL_REGISTER_CLASSES definition. + * config/rx/rx.h: Remove SMALL_REGISTER_CLASSES definition. + +2010-05-03 Anatoly Sokolov + + * double-int.h (tree_to_double_int): Remove macro. + (double_int_to_tree, double_int_fits_to_tree_p): Move prototypes ... + * tree.h (double_int_to_tree, double_int_fits_to_tree_p): ... here. + (tree_to_double_int): New function. + * double-int.c (double_int_to_tree, double_int_fits_to_tree_p): + Move ... + * tree.c (double_int_to_tree, double_int_fits_to_tree_p): ... here. + +2010-05-03 Richard Guenther + + PR tree-optimization/43971 + * tree-ssa-structalias.c (get_constraint_for_1): Fix + constraints in the !flag_delete_null_pointer_checks case. + +2010-05-03 Jakub Jelinek + + PR debug/43972 + * config/i386/i386.c (ix86_delegitimize_address): Make sure the + result mode matches original rtl mode. + +2010-05-03 Dave Korn + + PR target/43888 + * config/i386/winnt.c (i386_pe_binds_local_p): Handle weak decls. + +2010-05-02 Uros Bizjak + + * config/i386/i386.c (ix86_target_string): Output 'flags', not 'isa', + when processing flag options. + +2010-05-02 Uros Bizjak + + * gcov-iov.c (main): Change format string placeholder + from %#08x to 0x%08x. + * genchecksum.c (dosum): Change format string placeholder + from %#02x to 0x%02x. + +2010-05-02 Richard Guenther + + PR tree-optimization/43879 + * tree-tailcall.c (find_tail_calls): Clobbers also prevent tail calls. + +2010-05-02 Bruno Haible + + * doc/extend.texi (Function Attributes): Fix a typo. + +2010-05-02 Uros Bizjak + + Revert: + * hwint.h (HOST_WIDE_INT_PRINT_DOUBLE_HEX): Change format string + placeholder from 0x%x to %#x. + (HOST_WIDEST_INT_PRINT_DOUBLE_HEX): Ditto. + * config/i386/i386elf.h (ASM_OUTPUT_ASCII): Ditto. + * config/i386/i386-interix.h (ASM_OUTPUT_ASCII): Ditto. + * config/i386/att.h (ASM_OUTPUT_ASCII): Ditto. + * config/i386/sysv4.h (ASM_OUTPUT_ASCII): Ditto. + * config/i386/i386.c (ix86_target_string): Ditto. + * config/i386/i386.c (output_pic_addr_const): Ditto. + (print_operand): Ditto. + +2010-05-02 Uros Bizjak + + * vmsdbgout.c (ASM_OUTPUT_DEBUG_DATA1): Change format string + placeholder from 0x%x to %#x. + (ASM_OUTPUT_DEBUG_DATA1): Ditto. + (ASM_OUTPUT_DEBUG_DATA4): Ditto. + (ASM_OUTPUT_DEBUG_DATA): Ditto. + (ASM_OUTPUT_DEBUG_ADDR_DATA): Ditto. + (ASM_OUTPUT_DEBUG_DATA8): Ditto. + * optc-gen.awk: Ditto. + * hwint.h (HOST_WIDE_INT_PRINT_DOUBLE_HEX): Ditto. + (HOST_WIDE_INT_PRINT_HEX): Ditto. + (HOST_WIDEST_INT_PRINT_HEX): Ditto. + (HOST_WIDEST_INT_PRINT_DOUBLE_HEX): Ditto. + +2010-05-01 Anatoly Sokolov + + * target.h (struct calls): Add function_value_regno_p field. + * target-def.h (TARGET_FUNCTION_VALUE_REGNO_P): Define. + (TARGET_INITIALIZER): Use TARGET_FUNCTION_VALUE_REGNO_P. + * targhooks.c (default_function_value_regno_p): New function. + * targhooks.h (default_function_value_regno_p): Declare function. + * rtlanal.c (keep_with_call_p): Use function_value_regno_p hook. + * builtins.c. (apply_result_size): (Ditto.). + * combine.c. (likely_spilled_retval_p): (Ditto.). + * mode-switching.c. Include 'target.h'. + (create_pre_exit): Use function_value_regno_p hook. + * Makefile.in (mode-switching.o): Add dependency on TARGET_H. + * doc/tm.texi (FUNCTION_VALUE_REGNO_P, + TARGET_FUNCTION_VALUE_REGNO_P): Revise documentation. + + * config/i386/i386.h (TARGET_FUNCTION_VALUE_REGNO_P): Remove macro. + * config/i386/i386.c (TARGET_FUNCTION_VALUE_REGNO_P): Define macro. + (ix86_function_value_regno_p): Declare as static, change argument + type to const unsigned int. + * config/i386/i386-protos.h (ix86_function_value_regno_p): Remove. + +2010-05-01 Richard Guenther + + PR tree-optimization/43949 + * tree-vrp.c (ssa_name_nonnegative_p): Return true for unsigned + types. + (extract_range_from_binary_expr): Handle *_MOD_EXPR. + +2010-05-01 Anatoly Sokolov + + * rtl.h (CONST_DOUBLE_P): Define. + (rtx_to_double_int): Declare. + * emit-rtl.c (rtx_to_double_int): New function. + * dwarf2out.c (insert_double): New function. + (loc_descriptor, add_const_value_attribute): Clean up, use + rtx_to_double_int and insert_double functions. + +2010-05-01 Jonathan Wakely + + * doc/extend.texi (Inline): Add missing return keyword to examples. + (Function Attributes, Variable Attributes, Pragmas): Hyphenate + "command-line". + +2010-04-30 Eric Botcazou + + * tree-ssa-loop-ivopts.c (may_be_unaligned_p): Check the alignment of + the variable part of the offset as well. Use highest_pow2_factor for + all alignment checks. + +2010-04-30 Richard Guenther + + PR tree-optimization/43879 + * tree-ssa-structalias.c (type_could_have_pointers): Functions + can have pointers. + +2010-04-30 Jan Hubicka + + * lto-symtab.c (lto_symtab_resolve_can_prevail_p): Chose var with + varpool. + (lto_symtab_merge_decls_1): Remove logic looking for an initializer. + +2010-04-30 Jan Hubicka + + * cgraph.h (cgraph_node_set_nonempty_p, varpool_node_set_nonempty_p): + New. + * lto-cgraph.c (input_cgraph): Remove call to lto_mark_file_for_ltrans. + * lto-streamer.h (lto_file_decl_data): Remove needs_ltrans_p. + (lto_file_needs_ltrans_p, lto_mark_file_for_ltrans, + cgraph_node_set_needs_ltrans_p): Remove. + +2010-04-30 Steven Bosscher + + * sdbout.c: Include vec.h, do not include varray.h. + (deferred_global_decls, sdbout_global_decl, + sdbout_finish, sdbout_init): Use VEC instead of VARRAY. + * toplev.c: Do not include varray.h. + (dump_memory_report): Do not dump VARRAY statistics. + * gengtype.c (open_base_file): Ignore varray.h. + * Makefile.in: Update for abovementioned changes. + Remove all traces of varray.c and varray.h. + * varray.c: Remove file. + * varray.h: Remove file. + 2010-04-30 Jan Hubicka * lto-cgraph.c (lto_output_varpool_node): Always output constant pool @@ -64,11 +404,9 @@ simplify cgraph tags and document. (lto_output_node): Use only LTO_cgraph_unavail_node and LTO_cgraph_analyzed_node; Do not save analzed, reachable, - for_functions_valid, global info, process and output - flags. + for_functions_valid, global info, process and output flags. (input_overwrite_node): Initialize estimated stack size and - estimated growth. - Do not read flags we no longer store. + estimated growth. Do not read flags we no longer store. (input_node): Likewise do not read info no longer stored. * ipa-inline.c (cgraph_mark_inline_edge): Do not set global.inlined flag. @@ -95,7 +433,8 @@ * lto-section-in.c: Include ggc.h (lto_new_in_decl_state): Alloc in GGC. (lto_delete_in_decl_state): Likewise. - * ipa.c (pass_ipa_function_visibility, pass_ipa_whole_program): Collect. + * ipa.c (pass_ipa_function_visibility, pass_ipa_whole_program): + Collect. 2010-04-29 Bernd Schmidt @@ -108,23 +447,21 @@ account only if HONOR_REG_ALLOC_ORDER is not defined. * config/arm/arm.h (HONOR_REG_ALLOC_ORDER): Define. * system.h (ORDER_REGS_FOR_LOCAL_ALLOC): Poison. - -2010-04-29 Jon Grant <04@jguk.org> - + +2010-04-29 Jon Grant <04@jguk.org> + * collect2.c (vflag): Change type from int to bool. (debug): Likewise. (helpflag): New global bool. - (main): Set vflag and debug with boolean, not integer truth - values. Accept new "--help" option and output usage text if - found. + (main): Set vflag and debug with boolean, not integer truth values. + Accept new "--help" option and output usage text if found. * collect2.h (vflag): Update prototype. (debug): Likewise. - + 2010-04-29 H.J. Lu PR bootstrap/43936 - * plugin.h (flag_plugin_added): Moved out of - invoke_plugin_callbacks. + * plugin.h (flag_plugin_added): Moved out of invoke_plugin_callbacks. 2010-04-29 Richard Guenther @@ -147,7 +484,7 @@ * ifcvt.c (dead_or_predicable): Use df_simulate_find_defs to compute test_set. -2010-04-29 Brian Hackett +2010-04-29 Brian Hackett * plugin.h (invoke_plugin_callbacks): New inline function. * plugin.c (flag_plugin_added): New global flag. @@ -195,7 +532,8 @@ (output_alias_pair_p): Handle variables. (output_unreferenced_globals): Output only needed partition of varpool. * ipa-inline.c (inline_write_summary): Update. - * lto-streamer-in.c (lto_input_tree_ref, lto_input_tree): Do not build cgraph. + * lto-streamer-in.c (lto_input_tree_ref, lto_input_tree): Do not build + cgraph. * lto-section-in.c (lto_section_name): Add varpool and jump funcs. * ipa.c (hash_varpool_node_set_element, eq_varpool_node_set_element, varpool_node_set_new, varpool_node_set_add, @@ -427,8 +765,7 @@ 2010-04-28 Richard Guenther PR c++/43880 - * tree-inline.c (copy_bind_expr): Also copy bind expr vars - value-exprs. + * tree-inline.c (copy_bind_expr): Also copy bind expr vars value-exprs. 2010-04-27 Manuel López-Ibáñez Jan Hubicka