OSDN Git Service

gcc:
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 6e12642..210d7b0 100644 (file)
@@ -1,5 +1,193 @@
+2011-04-19  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * doc/install.texi (Configuration, --enable-threads): Remove mach.
+       Add lynx, mipssde.
+       Sort table.
+
+2011-04-19  Xinliang David Li  <davidxl@google.com>
+       
+       * ipa-cp.c (ipcp_update_profiling): asserting
+       scale_completement is not negative.
+
+2011-04-19  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/48678
+       * config/i386/i386.md (movstrict<mode>): FAIL if operands[0]
+       is a SUBREG with non-MODE_INT mode inside of it.
+
+2011-04-19  Martin Jambor  <mjambor@suse.cz>
+
+       * ipa-cp.c (ipcp_process_devirtualization_opportunities): Devirtualize
+       also according to actual contants.
+       * gimple-fold.c (gimple_extract_devirt_binfo_from_cst): New function.
+       (gimple_fold_call): Use it.
+       * gimple.h (gimple_extract_devirt_binfo_from_cst): Declare.
+
+2011-04-19  Martin Jambor  <mjambor@suse.cz>
+
+       * ipa-prop.c (stmt_may_be_vtbl_ptr_store): Return false for scalar
+       non-pointer assignments.
+
+2011-04-19  Martin Jambor  <mjambor@suse.cz>
+
+       * ipa-cp.c (ipcp_process_devirtualization_opportunities): Take into
+       account anc_offset and otr_type from the indirect edge info.
+       * ipa-prop.c (get_ancestor_addr_info): New function.
+       (compute_complex_ancestor_jump_func): Assignment analysis moved to
+       get_ancestor_addr_info, call it.
+       (ipa_note_param_call): Do not initialize information about polymorphic
+       calls, return the indirect call graph edge.  Remove the last
+       parameter, adjust all callers.
+       (ipa_analyze_virtual_call_uses): Process also calls to ancestors of
+       parameters.  Initialize polymorphic information in the indirect edge.
+
+2011-04-19  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR lto/48148
+       * gimple.c (gimple_types_compatible_p_1) <ENUMERAL_TYPE>: Do not merge
+       the types if they have different enumeration identifiers.
+
+2011-04-19  Jan Hubicka  <jh@suse.cz>
+
+       * cgraph.h (cgraph_optimize_for_size_p): Declare.
+       * ipa-cp.c (ipcp_insert_stage): Use cgraph_optimize_for_size_p.
+       * predict.c (cgraph_optimize_for_size_p): Break out from ...
+       (optimize_function_for_size_p) ... here.
+
+2011-04-19  Richard Guenther  <rguenther@suse.de>
+
+       PR lto/48207
+       * tree.c (free_lang_data): Do not reset the decl-assembler-name
+       langhook.
+
+2011-04-19  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * tree-inline.c (expand_call_inline): Do not issue a -Winline warning
+       if DECL_NO_INLINE_WARNING_P is set on the function.
+
+2011-04-19  Bernd Schmidt  <bernds@codesourcery.com>
+
+       PR fortran/47976
+       * reload1.c (inc_for_reload): Return void. All callers changed.
+       (emit_input_reload_insns): Don't try to delete previous output
+       reloads to a register, or record spill_reg_store for autoincs.
+
+2011-04-19  Basile Starynkevitch  <basile@starynkevitch.net>
+
+       * gengtype.h: Updated copyright year.
+       (struct input_file_st): Add inpisplugin field.
+       (type_fileloc): New function.
+       * gengtype.c
+       (write_typed_struct_alloc_def): Add gcc_assert.
+       (write_typed_alloc_defns): Ditto. Don't output for plugin files.
+       (write_typed_alloc_defns): Don't output for plugin files.
+       (input_file_by_name): Clear inpisplugin field.
+       (main): Set inpisplugin field for plugin files.
+
+2011-04-19  Nicola Pero  <nicola.pero@meta-innovation.com>
+
+       * gengtype-state.c (string_eq): New.
+       (read_state): Use string_eq instead of strcmp when creating the
+       state_ident_tab.
+
+2011-04-19  Wei Guozhi  <carrot@google.com>
+
+       PR target/47855
+       * config/arm/arm-protos.h (thumb1_legitimate_address_p): New prototype.
+       * config/arm/arm.c (thumb1_legitimate_address_p): Remove the static
+       linkage.
+       * config/arm/constraints.md (Uu): New constraint.
+       * config/arm/arm.md (*arm_movqi_insn): Compute attr "length".
+
+2011-04-19  Tristan Gingold  <gingold@adacore.com>
+
+       * config.gcc (-*-*-*vms): Added.
+       (alpha64-dec-*vms*,alpha*-dec-*vms*, ia64-hp-*vms*): Common
+       definitions moved.
+       * config/vms/vms-ld.c: New file.
+       * config/vms/vms-ar.c: New file.
+       * config/vms/t-vmsnative: New file.
+
+2011-04-18  Xinliang David Li  <davidxl@google.com>
+
+       * final.c (dump_basic_block_info): Use ASM_COMMENT_START.
+
+2011-04-18  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/48661
+       * gimple-fold.c (gimple_get_virt_method_for_binfo): Return NULL
+       if TREE_TYPE (v) is non-NULL.
+
+       * gimple-fold.c (gimple_get_virt_method_for_binfo): Renamed from
+       gimple_get_virt_mehtod_for_binfo.
+       * gimple.h (gimple_get_virt_method_for_binfo): Likewise.
+       * ipa-cp.c (ipcp_process_devirtualization_opportunities): Adjust
+       callers.
+       * ipa-prop.c (try_make_edge_direct_virtual_call): Likewise.
+
+2011-04-18  Michael Matz  <matz@suse.de>
+           Steve Ellcey  <sje@cup.hp.com>
+
+       * expr.c (expand_expr_real_2) <CASE_CONVERT>: If OP0 is a constant,
+       use its mode as source mode if it isn't VOIDmode.
+
+2011-04-18  Dennis, CHENG Renquan  <crquan@fedoraproject.org>
+
+       * doc/passes.texi: Fill crossref nodes.
+
+2011-04-18  Jim Meyering  <meyering@redhat.com>
+
+       Fix doubled-word typos in comments and strings
+       * config/alpha/vms-unwind.h: s/for for/for/
+       * config/arm/unwind-arm.h: Likewise.
+       * config/microblaze/microblaze.c: Likewise.
+       * config/sh/constraints.md: s/in in/in/
+       * tree-cfg.c (verify_types_in_gimple_reference): Likewise.
+
+2011-04-18  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.h (SSE_VEC_FLOAT_MODE_P): Remove.
+       (AVX_FLOAT_MODE_P): Ditto.
+       (AVX128_VEC_FLOAT_MODE_P): Ditto.
+       (AVX256_VEC_FLOAT_MODE_P): Ditto.
+       (AVX_VEC_FLOAT_MODE_P): Ditto.
+       * config/i386/i386.md (UNSPEC_MASKLOAD): Remove.
+       (UNSPEC_MASKSTORE): Ditto.
+       * config/i386/sse.md (<sse>_movmsk<ssemodesuffix><avxmodesuffix>):
+       Merge from <sse>_movmsk<ssemodesuffix> and
+       avx_movmsk<ssemodesuffix>256.  Use VF mode iterator.
+       (*sse2_maskmovdqu): Merge with *sse2_maskmovdqu_rex64.  Use P mode
+       iterator.
+       (avx_maskload<ssemodesuffix><avxmodesuffix>): New expander.
+       (avx_maskstore<ssemodesuffix><avxmodesuffix>): Ditto.
+       (*avx_maskmov<ssemodesuffix><avxmodesuffix>): New insn.
+
+2011-04-18  Jan Hubicka  <jh@suse.cz>
+
+       * ipa-inline.c (inline_small_functions): Fix pasto in previous patch.
+
+       * ipa-inline.c: Fix comment typos; do not inline gt-ipa-inline.h
+       (want_inline_function_called_once_p): Break out the logic from
+       ipa_inline.
+       (edge_badness): Ensure that profile is not misupdated.
+       (lookup_recursive_calls): Prioritize by call frequencies.
+       (inline_small_functions): Move program size estimates here;
+       actually process whole queue even when unit growth has been
+       met. (to properly compute inline_failed reasons and for the
+       case unit size decrease.) Revisit comments on recursive inlining.
+       (ipa_inline): Remove unit summary code; first inline hot calls
+       of functions called once, cold calls next.
+       (order, nnodes): Remove unused variables.
+       * Makefile.in (ipa-inline.o): No longer depent on ggc files.
+       (GTFILES): Remove ipa-inline.c
+       * sel-sched.c (fill_insns): Silence uninitialized var warning.
+
+2011-04-18  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * dwarf2out.c (is_redundant_typedef): Add 'inline' to prototype.
+
 2011-04-18  Jie Zhang  <jie@codesourcery.com>
-       Richard Earnshaw  <rearnsha@arm.com>
+           Richard Earnshaw  <rearnsha@arm.com>
 
        * arm.c (neon_builtin_type_bits): Remove.
        (typedef enum neon_builtin_mode): New.
        want_inline_small_function_p.
        (cgraph_decide_recursive_inlining): Rename to...
        (recursive_inlining): Use can_inline_edge_p and
-       want_inline_self_recursive_call_p; simplify and
-       remove no longer valid FIXME.
+       want_inline_self_recursive_call_p; simplify and remove no longer
+       valid FIXME.
        (cgraph_set_inline_failed): Remove.
        (add_new_edges_to_heap): Use can_inline_edge_p and
        want_inline_small_function_p.
        (cgraph_decide_inlining_of_small_functions): Rename to ...
        (inline_small_functions): ... this one; cleanup; use
-       can/want predicates; cleanup debug ouput; work edges
-       till fibheap is exhausted and do not stop once unit
-       growth is reached; remove later loop processing remaining
-       edges.
+       can/want predicates; cleanup debug ouput; work edges till fibheap
+       is exhausted and do not stop once unit growth is reached; remove
+       later loop processing remaining edges.
        (cgraph_flatten): Rename to ...
        (flatten_function): ... this one; use can_inline_edge_p
        and can_early_inline_edge_p predicates.
        inlining functions called once; simplify the pass.
        (cgraph_perform_always_inlining): Rename to ...
        (inline_always_inline_functions): ... this one; use
-       DECL_DISREGARD_INLINE_LIMITS; use can_inline_edge_p
-       predicate
+       DECL_DISREGARD_INLINE_LIMITS; use can_inline_edge_p predicate.
        (cgraph_decide_inlining_incrementally): Rename to ...
        (early_inline_small_functions): ... this one; simplify
        using new predicates; cleanup; make dumps prettier.
        * ipa-inline-analysis.c (inline_read_summary): Read size/time
        in same order as they're written.
 
+2011-04-16  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       * config/pa/predicates.md: Reorganize and simplify predicates.
+       Eliminate duplicate code checks.
+       (arith_operand): Rename to arith14_operand
+       (reg_or_ior_operand): Rename to reg_or_cint_ior_operand.
+       * config/pa/pa.md: Use renamed operands.
+       * config/pa/pa-protos.h (symbolic_operand): Delete declaration.
+       (tls_symbolic_operand, function_label_operand, lhs_lshift_cint_operand,
+       arith11_operand, adddi3_operand, indexed_memory_operand,
+       symbolic_memory_operand, int11_operand, reg_or_cint_move_operand,
+       arith5_operand, uint5_operand, pic_label_operand, plus_xor_ior_operator,
+       borx_reg_operand, shadd_operand, arith_operand, read_only_operand,
+       move_dest_operand, move_src_operand, prefetch_cc_operand,
+       prefetch_nocc_operand, and_operand, ior_operand, arith32_operand,
+       uint32_operand, reg_before_reload_operand, reg_or_0_operand,
+       reg_or_0_or_nonsymb_mem_operand, pre_cint_operand, post_cint_operand,
+       div_operand, int5_operand, movb_comparison_operator,
+       ireg_or_int5_operand, call_operand_address, ior_operand, fp_reg_operand,
+       arith_double_operand, ireg_operand, lhs_lshift_operand,
+       pc_or_label_operand, non_hard_reg_operand, eq_neq_comparison_operator,
+       integer_store_memory_operand): Likewise.
+       * config/pa/pa.c (adddi3_operand): Move to predicates.md.
+       (integer_store_memory_operand, read_only_operand,
+       function_label_operand, borx_reg_operand,
+       non_hard_reg_operand): Likewise.
+       (eq_neq_comparison_operator): Delete unused operator.
+       (legitimize_pic_address): Use VOIDmode for mode argument in calls to
+       function_label_operand.
+       (emit_move_sequence): Likewise.
+
 2011-04-16  Uros Bizjak  <ubizjak@gmail.com>
 
        * config/i386/sse.md (sseunpackmode): New mode attribute.
        (initialize_inline_failed): Move here from cgraph.c.
        * tree-sra.c: Include ipa-inline.h.
        (ipa_sra_preliminary_function_checks): Update.
-       * Makefile.in: (cgraph.o, cgraphbuild.o): Add dependency on
-       ipa-inline.h
+       * Makefile.in (cgraph.o, cgraphbuild.o): Add dependency on
+       ipa-inline.h.
 
 2011-04-16  Uros Bizjak  <ubizjak@gmail.com>
 
            Eric Weddington  <eric.weddington@atmel.com>
            Georg-Johann Lay <avr@gjlay.de>
 
-       * config/avr/avr.c: ("insn-codes.h", "optabs.h", "langhooks.h"):
+       * config/avr/avr.c ("insn-codes.h", "optabs.h", "langhooks.h"):
        New Includes
        (avr_init_builtins, avr_expand_builtin,
        avr_expand_delay_cycles, avr_expand_unop_builtin,
        (inline_summary): Move to ipa-inline.h
        (cgraph_estimate_edge_time): Rename to estimate_edge_time; move to
        ipa-inline-analysis.c.
-       (cgraph_estimate_time_after_inlining): Rename to estiamte_time_after_inlining;
-       move to ipa-inline-analysis.c
+       (cgraph_estimate_time_after_inlining): Rename to
+       estiamte_time_after_inlining; move to ipa-inline-analysis.c
        (cgraph_estimate_edge_growth): Move to ipa-inline-analysis.c; rename
        to estimate_edge_growth.
        (cgraph_estimate_size_after_inlining): Move to ipa-inline-analysis.c;
        (cgraph_decide_recursive_inlining): Likewise.
        (cgraph_decide_inlining_of_small_functions): Likewise.
        (cgraph_decide_inlining_incrementally): Likewise.
-       (cgraph_estimate_growth): Rename to estimate_growth; move to ipa-inline-analysis.c.
+       (cgraph_estimate_growth): Rename to estimate_growth; move to
+       ipa-inline-analysis.c.
        (eliminated_by_inlining_prob): Move to ipa-inline-analysis.c.
        (estimate_function_body_sizes): Move to ipa-inline-analysis.c.
        (compute_inline_parameters): Likewise.
 
 2011-04-08  Xinliang David Li  <davidxl@google.com>
 
+       * ipa-cp.c (ipcp_update_profiling): Correct
+        negative scale factor due to insane profile data.
+
+2011-04-08  Xinliang David Li  <davidxl@google.com>
+
        * final.c (dump_basic_block_info): New function.
        (final): Dump basic block.
        (final_scan_insn): Remove old dump.
 
        PR target/48366
        * config/pa/pa.c (hppa_register_move_cost): Increase to 18 cost of
-       move from floating point to shift amount register .
+       move from floating point to shift amount register.
        (emit_move_sequence): Remove secondary reload support for floating
        point to shift amount amount register copies.
        (pa_secondary_reload): Return GENERAL_REGS for floating point/shift
 
        2010-08-13  Vladimir Makarov  <vmakarov@redhat.com>
 
-       * ira-build.c: (ira_create_object): Remove initialization of
+       * ira-build.c (ira_create_object): Remove initialization of
        OBJECT_PROFITABLE_HARD_REGS.  Initialize OBJECT_ADD_DATA.
        (ira_create_allocno): Remove initialization of
        ALLOCNO_MEM_OPTIMIZED_DEST, ALLOCNO_MEM_OPTIMIZED_DEST_P,
        ira_object_conflict_iter_cond.
        (FOR_EACH_OBJECT_CONFLICT): Don't use ira_object_conflict_iter_next.
 
-       * ira-live.c: (process_single_reg_class_operands): Call
+       * ira-live.c (process_single_reg_class_operands): Call
        ira_init_register_move_cost_if_necessary.  Use
        ira_register_move_cost instead of ira_get_register_move_cost.
 
 
 2011-03-14  Andreas Tobler  <andreast@fgznet.ch>
 
-       * config/rs6000/freebsd.h: (RELOCATABLE_NEEDS_FIXUP): Define in
+       * config/rs6000/freebsd.h (RELOCATABLE_NEEDS_FIXUP): Define in
        terms of target_flags_explicit. Adjust copyright year.
 
        * config.gcc: Add FreeBSD PowerPC soft-float libgcc bits.
 
 2011-01-07  Jan Hubicka  <jh@suse.cz>
 
-       * doc/invoke.texi: (-flto, -fuse-linker-plugin): Update defaults
+       * doc/invoke.texi (-flto, -fuse-linker-plugin): Update defaults
        and no longer claim that gold is required for linker plugin.
        * configure: Regenerate.
        * gcc.c (PLUGIN_COND): New macro.