X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;f=gcc%2FChangeLog;h=5829fad17943cd820657f6924b195e3a5eb704cc;hb=8f71200d0c993c25ef4b6926033c739ef6572e37;hp=3c178f6b4c50fe9dc7728ccf775a64d630eeb695;hpb=c32f7a5a7f691e8ce0877c6442fe22ae65448cec;p=pf3gnuchains%2Fgcc-fork.git diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 3c178f6b4c5..5829fad1794 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,229 @@ +2010-05-15 Richard Guenther + + PR tree-optimization/44038 + * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Avoid + taking the address of a V_C_E of a constant. + +2010-05-14 Jan Hubicka + + * tree.h (memory_identifier_string): Remove. + * ipa-reference.c: Update comment; do not include gt-ipa-reference.h + (ipa_reference_global_vars_info_d): Remove statics_not_read and + statics_not_written. + (ipa_reference_optimization_summary_d): New structure. + (ipa_reference_optimization_summary_t): New type and vector. + (ipa_reference_vars_info_d): Embedd structures instead of using + pointers. + (reference_vars_to_consider): Remove out of GGC space. + (module_statics_escape): Remove. + (global_info_obstack): Rename to ... + (optimization_summary_obstack): ... this one. + (initialization_status_t): Remove. + (memory_identifier_string): Remove. + (get_reference_vars_info): Fix indenting. + (set_reference_vars_info): Likewise. + (get_reference_optimization_summary): New. + (set_reference_optimization_summary): New. + (get_global_reference_vars_info): Remove. + (ipa_reference_get_read_global): Remove. + (ipa_reference_get_written_global): Remove. + (ipa_reference_get_not_read_global): Update. + (ipa_reference_get_not_written_global): Update. + (is_proper_for_analysis): Outlaw addressable. + (propagate_bits): Update for new datastructures. + (analyze_variable): Remove. + (init_function_info): Update for new datastructures. + (clean_function_local_data): Remove. + (clean_function): Remove. + (copy_global_bitmap): Use optimizations_summary_obstack. + (duplicate_node_data): Duplicate optimization summary only. + (remove_node_data): Remove optimization summary only. + (generate_summary): Do not analyze variables; do not compute + module_statics_escape; do not prune solutions by it. + (read_write_all_from_decl): Fix typos in comments. + (propagate): Doscover readonly and nonaddressable first; + update for new datastructures; share global bitmaps. + * ipa-reference.h (ipa_reference_get_read_global, + ipa_reference_get_written_global): Remove. + * ipa-pure-const.c (check_stmt): Do not use memory_identifier_string. + * Makefile.in: Remove ipa-refereference from GT files. + +2010-05-14 Jakub Jelinek + + PR debug/44112 + * dwarf2out.c (resolve_one_addr): Check TREE_ASM_WRITTEN + for all SYMBOL_REF_DECLs. + +2010-05-14 Jan Hubicka + + * cgraph.h (ipa_discover_readonly_nonaddressable_vars): Declare. + (varpool_all_refs_explicit_p): New inline function. + * ipa-reference.c: Update comment. + (module_statics_written): Remove. + (get_static_decl): Remove. + (ipa_init): Do not initialize module_statics_written. + (analyze_function): Likewise. + (generate_summary): Likewise; do not compute module_statics_readonly + and do not update variable flags. + (propagate): Call ipa_discover_readonly_nonaddressable_vars. + * ipa.c: Inlucde flags.h + (cgraph_local_node_p): New. + (cgraph_remove_unreachable_nodes): Return early when not optimizing; + promote functions to local. + (ipa_discover_readonly_nonaddressable_vars): New function. + (function_and_variable_visibility): Use cgraph_local_node_p. + * varpool.c (varpool_finalize_decl): Set force_output for + DECL_PRESERVE_P vars. + +2010-05-14 Jan Hubicka + + * ipa.c (cgraph_remove_unreachable_nodes): Revert accidental commit. + +2010-05-14 Richard Guenther + + PR tree-optimization/44119 + * tree-ssa-pre.c (eliminate): Properly mark replacement of + a PHI node necessary. + +2010-05-14 Eric Botcazou + + * tree.h (TREE_ADDRESSABLE): Remove bogus usage for FIELD_DECL. + +2010-05-14 Jason Merrill + + PR c++/44127 + * gimple.h (enum gf_mask): Add GF_CALL_NOTHROW. + (gimple_call_set_nothrow): New. + * gimple.c (gimple_build_call_from_tree): Call it. + (gimple_call_flags): Set ECF_NOTHROW from GF_CALL_NOTHROW. + + PR c++/44127 + * gimplify.c (gimplify_seq_add_stmt): No longer static. + * gimple.h: Declare it. + * gimple.c (gimple_build_eh_filter): No ops. + +2010-05-14 Jan Hubicka + + * ipa.c (enqueue_cgraph_node): Update comment; do not re-enqueue + nodes already in queue. + (cgraph_remove_unreachable_nodes): Cleanup; fix problem with + re-enqueueing node. + +2010-05-14 Jakub Jelinek + + PR debug/44136 + * cfgexpand.c (expand_debug_expr): If non-memory op0 + has BLKmode, return NULL. + +2010-05-14 Harsha Jagasia + + * config.gcc: Add support for --with-cpu option for bdver1. + * config/i386/i386.h (TARGET_BDVER1): New macro. + (ix86_tune_indices): Change SSE_UNALIGNED_MOVE_OPTIMAL + to SSE_UNALIGNED_LOAD_OPTIMAL. Add SSE_UNALIGNED_STORE_OPTIMAL. + (ix86_tune_features) :Change SSE_UNALIGNED_MOVE_OPTIMAL + to SSE_UNALIGNED_LOAD_OPTIMAL. Add SSE_UNALIGNED_STORE_OPTIMAL. + Add SSE_PACKED_SINGLE_INSN_OPTIMAL. + (TARGET_CPU_DEFAULT_NAMES): Add bdver1. + (processor_type): Add PROCESSOR_BDVER1. + * config/i386/i386.md: Add bdver1 as a new cpu attribute to match + processor_type in config/i386/i386.h. + Add check for TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL to emit + movaps instead of movapd when replacing + movsd or movss for SSE and AVX. + Add check for TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL + to emit packed xor instead of packed double/packed integer + xor for SSE and AVX when moving a zero value. + * config/i386/sse.md: Add check for + TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL to emit movaps instead of + movapd/movdqa for SSE and AVX. + Add check for TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL to emit packed + single logical operations i.e and, or and xor instead of packed double + logical operations for SSE and AVX. + * config/i386/i386-c.c: + (ix86_target_macros_internal): Add PROCESSOR_BDVER1. + * config/i386/driver-i386.c: Turn on -mtune=native for BDVER1. + (has_fma4, has_xop): New. + * config/i386/i386.c (bdver1_cost): New variable. + (m_BDVER1): New macro. + (m_AMD_MULTIPLE): Add m_BDVER1. + (x86_tune_use_leave, x86_tune_push_memory, x86_tune_unroll_strlen, + x86_tune_deep_branch_prediction, x86_tune_use_sahf, x86_tune_movx, + x86_tune_use_simode_fiop, x86_tune_promote_qimode, + x86_tune_add_esp_8, x86_tune_tune_sub_esp_4, x86_tune_sub_esp_8, + x86_tune_integer_dfmode_moves, x86_tune_partial_reg_dependency, + x86_tune_sse_partial_reg_dependency, + x86_tune_sse_unaligned_load_optimal, + x86_tune_sse_unaligned_store_optimal, x86_tune_sse_typeless_stores, + x86_tune_memory_mismatch_stall, x86_tune_use_ffreep, + x86_tune_inter_unit_moves, x86_tune_inter_unit_conversions, + x86_tune_use_bt, x86_tune_pad_returns, x86_tune_slow_imul_imm32_mem, + x86_tune_slow_imul_imm8, x86_tune_fuse_cmp_and_branch): + Enable/disable for bdver1. + (processor_target_table): Add bdver1_cost. + (cpu_names): Add bdver1. + (override_options): Set up PROCESSOR_BDVER1 for bdver1 entry in + processor_alias_table. + (ix86_expand_vector_move_misalign): Change. + TARGET_SSE_UNALIGNED_MOVE_OPTIMAL to TARGET_SSE_UNALIGNED_LOAD_OPTIMAL. + Check for TARGET_SSE_UNALIGNED_STORE_OPTIMAL. + Check for TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL to emit movups instead + of movupd/movdqu for SSE and AVX. + (ix86_tune_issue_rate): Add PROCESSOR_BDVER1. + (ix86_tune_adjust_cost): Add code for bdver1. + (standard_sse_constant_opcode): Add check for + TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL to emit packed single xor instead + of packed double xor for SSE and AVX. + +2010-05-14 Pat Haugen + + * tree-ssa-loop.prefetch.c (prune_ref_by_group_reuse): Cast abs() + result to unsigned. + +2010-05-14 Tristan Gingold + + * toplev.c (default_debug_hooks): Remove this variable. + (process_options): Remove assignments to default_debug_hooks. + +2010-05-14 Martin Jambor + + * langhooks-def.h (LANG_HOOKS_FOLD_OBJ_TYPE_REF): Remove. + (LANG_HOOKS_INITIALIZER): Remove LANG_HOOKS_FOLD_OBJ_TYPE_REF. + * langhooks.h (struct lang_hooks_for_decls): Removed field + fold_obj_type_ref. + * tree.c (free_lang_data): Remove assignment to + lang_hooks.fold_obj_type_ref. + * tree.def (OBJ_TYPE_REF): Update comment. + +2010-05-14 Richard Guenther + + PR tree-optimization/44124 + * tree-ssa-sccvn.c (vn_nary_may_trap): Fix invalid memory access. + +2010-05-14 Alan Modra + + PR target/44075 + * config/rs6000/rs6000.c (struct machine_function): Reorder + fields for better packing. Add lr_save_state. + (rs6000_ra_ever_killed): Return lr_save_state if set. + (rs6000_emit_eh_reg_restore): Set lr_save_state. + +2010-05-13 Jan Hubicka + + * varpool.c (decide_is_variable_needed): Drop code checking + TREE_SYMBOL_REFERENCED. + +2010-05-13 Jan Hubicka + + * final.c (output_addr_const): Do not call mark_decl_referenced. + * cgraphunit.c (process_function_and_variable_attributes): Use + mark_needed_node dirrectly. + (assemble_thunk): Do not call mark_decl_referenced. + +2010-05-13 Anatoly Sokolov + + * targhooks.c (default_mode_dependent_address_p): Cast 'addr' to rtx. + 2010-05-13 Jeff Law * ira-conflicts.c (print_allocno_conflicts): New function broken out @@ -70,14 +296,16 @@ 2010-05-12 Jan Hubicka - * cgraph.c (cgraph_mark_address_taken_node): No longer imply needed flag. + * cgraph.c (cgraph_mark_address_taken_node): No longer imply needed + flag. * cgraph.h (cgraph_only_called_directly_p, cgraph_can_remove_if_no_direct_calls_p): test address_taken flag. (cgraph_can_remove_if_no_direct_calls_and_refs_p): New function. * cgraphunit.c (cgraph_mark_functions_to_output): Test address_taken. (assemble * ipa.c (cgraph_remove_unreachable_nodes): Use - cgraph_can_remove_if_no_direct_calls_and_refs_p; clear address_taken flags. + cgraph_can_remove_if_no_direct_calls_and_refs_p; clear address_taken + flags. * tree-inline.c (copy_bb): Check address_taken flag. * tree-profile.c (tree_gen_ic_func_profiler): Check address_taken and externally_visible flag. @@ -272,7 +500,8 @@ 2010-05-11 Jan Hubicka PR tree-optimize/44063 - * ipa-inline.c (cgraph_edge_badness): Move always inlines to top of queue. + * ipa-inline.c (cgraph_edge_badness): Move always inlines to top of + queue. (cgraph_decide_inlining_of_small_function): Skip check when disrgarding limits. (estimate_function_body_sizes): Compute sizes even when disregarding. @@ -350,12 +579,13 @@ 2010-05-10 Jan Hubicka - * lto-stramer-out.c (produce_asm_for_decls): Correct accidentally commited change. + * lto-stramer-out.c (produce_asm_for_decls): Correct accidentally + commited change. 2010-05-10 Jan Hubicka - * passes.c (ipa_write_summaries_1, ipa_write_optimization_summaries): Allocate - encoders. + * passes.c (ipa_write_summaries_1, ipa_write_optimization_summaries): + Allocate encoders. * lto-section-out.c (lto_new_out_decl_state): Do not allocate it here. * lto-streamer.c (lto_streamer_cache_insert_1): Use alloc pool. (lto_streamer_cache_create): Init alloc pool. @@ -4056,9 +4286,9 @@ 2010-04-08 Wolfgang Gellerich - * config/s390/s390.c (override_options): Adjust the z10 - defaults for max-unroll-times, max-completely-peeled-insns - and max-completely-peel-times. + * config/s390/s390.c (override_options): Adjust the z10 defaults + for max-unroll-times, max-completely-peeled-insns + and max-completely-peel-times. 2010-04-08 Andreas Krebbel