OSDN Git Service

* tree.h (memory_identifier_string): Remove.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index c65ea23..2221015 100644 (file)
@@ -1,3 +1,235 @@
+2010-05-14  Jan Hubicka  <jh@suse.cz>
+
+       * 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  <jakub@redhat.com>
+
+       PR debug/44112
+       * dwarf2out.c (resolve_one_addr): Check TREE_ASM_WRITTEN
+       for all SYMBOL_REF_DECLs.
+
+2010-05-14  Jan Hubicka  <jh@suse.cz>
+
+       * 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  <jh@suse.cz>
+
+       * ipa.c (cgraph_remove_unreachable_nodes): Revert accidental commit.
+
+2010-05-14  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/44119
+       * tree-ssa-pre.c (eliminate): Properly mark replacement of
+       a PHI node necessary.
+
+2010-05-14  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * tree.h (TREE_ADDRESSABLE): Remove bogus usage for FIELD_DECL.
+
+2010-05-14  Jason Merrill  <jason@redhat.com>
+
+       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  <jh@suse.cz>
+
+       * 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  <jakub@redhat.com>
+
+       PR debug/44136
+       * cfgexpand.c (expand_debug_expr): If non-memory op0
+       has BLKmode, return NULL.
+
+2010-05-14  Harsha Jagasia  <harsha.jagasia@amd.com>
+
+       * 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 <reg, reg> instead of movapd <reg, reg> when replacing
+       movsd <reg, reg> or movss <reg, reg> 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  <pthaugen@us.ibm.com>
+
+       * tree-ssa-loop.prefetch.c (prune_ref_by_group_reuse): Cast abs()
+       result to unsigned.
+
+2010-05-14  Tristan Gingold  <gingold@adacore.com>
+
+       * toplev.c (default_debug_hooks): Remove this variable.
+       (process_options): Remove assignments to default_debug_hooks.
+
+2010-05-14  Martin Jambor  <mjambor@suse.cz>
+
+       * 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  <rguenther@suse.de>
+
+       PR tree-optimization/44124
+       * tree-ssa-sccvn.c (vn_nary_may_trap): Fix invalid memory access.
+
+2010-05-14  Alan Modra  <amodra@gmail.com>
+
+       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  <jh@suse.cz>
+
+       * varpool.c (decide_is_variable_needed): Drop code checking
+       TREE_SYMBOL_REFERENCED.
+
+2010-05-13  Jan Hubicka  <jh@suse.cz>
+
+       * 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  <aesok@post.ru>
+
+       * targhooks.c (default_mode_dependent_address_p): Cast 'addr' to rtx.
+
+2010-05-13  Jeff Law  <law@redhat.com>
+
+       * ira-conflicts.c (print_allocno_conflicts): New function broken out
+       from...
+       (print_conflicts): Call print_allocno_conflicts.
+
+2010-05-13  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/44104
+       * dwarf2out.c (modified_type_die): Don't dereference mod_type_die
+       if it is NULL.
+
 2010-05-13  Kai Tietz  <kai.tietz@onevision.com>
 
        * config.gcc (i[34567]86-*-mingw* | x86_64-*-mingw*): Choose
 
 2010-05-12  Jan Hubicka  <jh@suse.cz>
 
-       * 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.
 2010-05-11  Jan Hubicka  <jh@suse.cz>
 
        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.
 
 2010-05-10  Jan Hubicka  <jh@suse.cz>
 
-       * 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  <jh@suse.cz>
 
-       * 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.
 
 2010-04-08  Wolfgang Gellerich  <gellerich@de.ibm.com>
 
-       * 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  <Andreas.Krebbel@de.ibm.com>