OSDN Git Service

PR middle-end/42151
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 2d615af..791dbe1 100644 (file)
@@ -1,3 +1,355 @@
+2009-11-23  Jan Hubicka  <jh@suse.cz>
+
+       PR middle-end/42151
+       * ipa-inline.c (inline_transform): Avoid ICE when transform is called
+       twice.
+
+2009-11-23  Jan Hubicka  <jh@suse.cz>
+
+       * ipa-cp.c (ipcp_compute_node_scale): Work around completely
+       wrong profile updates.
+       * predict.c (counts_to_freqs): Be expected for ENTRY/EXIT block
+       having largest frequency.
+       * ira-live.c (ira_implicitly_set_insn_hard_regs): Silecne
+       used uninitalized warning.
+       * tree-optimize.c (execute_fixup_cfg): Rescale entry and exit block
+       frequencies.
+
+2009-11-23  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/alpha/alpha.md (*cmp_sadd_sidi): Use gen_lowpart instead
+       of gen_rtx_REG to generate operand 5.
+       (*cmp_ssub_sidi): Ditto.
+
+2009-11-23  Richard Henderson  <rth@redhat.com>
+
+       * config/i386/i386.c (avx_vpermilp_parallel): Fix sign compare
+       mismatch.
+
+2009-11-23  Paul Brook  <paul@codesourcery.com>
+
+       * config/arm/arm.c (arm_compute_save_reg0_reg12_mask): Add special
+       case for noreturn functions.
+       (arm_compute_save_reg_mask): Remove special noreturn handling.
+
+2009-11-23  Richard Guenther  <rguenther@suse.de>
+
+       * tree-dfa.c (get_ref_base_and_extent): Adjust maximum access
+       size for DECL bases.
+
+2009-11-22  Richard Henderson  <rth@redhat.com>
+
+       * i386.c (avx_vpermilp_parallel): New function.
+       * i386-protos.h: Declare it.
+       * predicates.md (avx_vpermilp_v8sf_operand, avx_vpermilp_v4df_operand,
+       avx_vpermilp_v4sf_operand, avx_vpermilp_v2df_operand): New.
+       * sse.md (AVXMODEFDP, AVXMODEFSP): New iterators.
+       (ssescalarnum, ssedoublesizemode): Add AVX modes.
+       (vpermilbits): Remove.
+       (avx_vpermil<mode>): Change insns to expanders.
+       (*avx_vpermil<mode>): New.  Use vec_select.
+
+2009-11-22  Richard Earnshaw  <rearnsha@arm.com>
+
+       * opts.c (decode_options): Don't enable flag_schedule_insns
+       when optimizing for size.
+       * doc/invoke.texi: Document change.
+
+2009-11-22  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR target/42113
+       * config/alpha/alpha.md (*cmp_sadd_si): Change mode
+       of scratch register to SImode.
+       (*cmp_sadd_sidi): Ditto.
+       (*cmp_ssub_si): Ditto.
+       (*cmp_ssub_sidi): Ditto.
+
+2009-11-21  Ian Lance Taylor  <iant@google.com>
+
+       * Makefile.in (HOST_LIBS): Move higher in file.
+       (LINKER, LINKER_FLAGS): If ENABLE_BUILD_WITH_CXX, but $(HOST_LIBS)
+       is not empty, set to $(CC) and $(CFLAGS).
+
+2009-11-22  Martin Jambor  <mjambor@suse.cz>
+
+       * tree-cfg.c (verify_types_in_gimple_reference): Error out on
+       V_C_E of an SSA_NAME or an invariant if lvalue is required.
+       (verify_gimple_call): Verify LHS also with with
+       verify_types_in_gimple_reference.
+
+2009-11-21  Martin Jambor  <mjambor@suse.cz>
+
+       PR middle-end/42025
+       * tree-sra.c (access_precludes_ipa_sra_p): New function.
+       (splice_param_accesses): Check all accesses by calling
+       access_precludes_ipa_sra_p.
+       (sra_ipa_modify_expr): Rename argument erite to dont_convert and do
+       not convert types if it is true.
+       (sra_ipa_modify_assign): Convert types in case of mismatch.
+
+2009-11-21  Kaushik Phatak  <kaushik.phatak@kpitcummins.com>
+
+       * config/sh/sh.md (cmpeqsi_t-1): Use logical_operand predicate
+       for operand 1.
+
+2009-11-21  Adam Nemet  <adambnemet@gmail.com>
+
+       * config/mips/mips-protos.h (mulsidi3_gen_fn): New typedef.
+       (mips_mulsidi3_gen_fn): Declare new function.
+       * config/mips/mips.c (mips_mulsidi3_gen_fn): New function.
+       * config/mips/mips.md (<u>mulsidi3): Change condition to use
+       mips_mulsidi3_gen_fn.  Use mips_mulsidi3_gen_fn to generate the
+       insn.
+       (<u>mulsidi3_64bit): Don't match for ISA_HAS_DMUL3.
+       (mulsidi3_64bit_dmul): New define_insn.
+
+2009-11-21  Ben Elliston  <bje@au.ibm.com>
+
+       * gengtype-lex.l: Enable noinput flex option.
+       (YY_NO_INPUT): Remove define.
+
+2009-11-21  Alexandre Oliva  <aoliva@redhat.com>
+
+       * tree-ssa.c (find_released_ssa_name): Handle NULL wi.
+       (insert_debug_temp_for_var_def): Handle degenerate PHI nodes.
+       (insert_debug_temps_for_defs): Handle PHI nodes.
+       * tree-ssa-dom.c (degenerate_phi_result): Don't crash on released
+       SSA names.
+
+2009-11-21  Alexandre Oliva  <aoliva@redhat.com>
+
+       * tree-ssa-pre.c (remove_dead_inserted_code): Don't release_defs
+       after remove_phi_node.
+
+2009-11-21  Alexandre Oliva  <aoliva@redhat.com>
+
+       PR tree-optimization/42078
+       * gimple.h (gimple_replace_lhs): New declaration.
+       * gimple.c (gimple_replace_lhs): New function.
+       * tree-ssa-math-opts.c (execute_cse_reciprocals): Call it before
+       modifying the call.
+
+2009-11-20  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * config/i386/sse.md (*xop_pmacsdql_mem): Don't call reg_mentioned_p.
+       (xop_mulv2div2di3_low): Same.
+       (*xop_pmacsdqh_mem): Same.
+
+2009-11-20  Richard Henderson  <rth@redhat.com>
+
+       * config/i386/i386-builtin-types.awk: New file.
+       * config/i386/i386-builtin-types.def: New file.
+       * config/i386/t-i386: Use them to build i386-builtin-types.inc.
+       * config/i386/i386.c: Include it.
+       (ix86_builtin_type_tab, ix86_get_builtin_type): New.
+       (ix86_builtin_func_type_tab, ix86_get_builtin_func_type): New.
+       (struct builtin_isa): Remove GTY marker.  Replace tree type with
+       ix86_builtin_func_type; add set_and_not_built_p.
+       (def_builtin): Change type parameter to tcode; use
+       ix86_get_builtin_func_type; update all callers.  Accept zero mask
+       to mean the builtin is unconditionally available.
+       (ix86_add_new_builtins): Use set_and_not_built_p instead of type
+       being set to NULL.
+       (enum ix86_special_builtin_type, enum ix86_builtin_type): Remove.
+       Update some users to rationalized enumeration codes from new include.
+       (enum multi_arg_type): Remove.  Replace all enumeration values
+       with defines to new ix86_builtin_func_type.
+       (ix86_init_mmx_sse_builtins): Don't build any types here.  Defer
+       all type resolution to def_builtin.
+       (ix86_init_builtin_types): Split out from ...
+       (ix86_init_builtins): ... here.  Use ix86_get_builtin_func_type.
+
+2009-11-20  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+       PR target/41787
+       * config/rs6000/rs6000.c (struct machine_function): Revert
+       2009-10-23 change to set VRSAVE to non-0 if we use VSX.
+       (rs6000_expand_to_rtl_hook): Ditto.
+       (rs6000_check_vector_mode): Ditto.
+       (compute_vrsave_mask): Ditto.
+
+2009-11-20  Paul Brook  <paul@codesourcery.com>
+
+       * doc/invoke.texi: Document ARM -mcpu=cortex-a5.
+       * config/arm/arm-cores.def: Add cortex-a5.
+       * config/arm/bpabi.h (BE8_LINK_SPEC): Add mcpu=cortex-a5.
+       * config/arm/arm-tune.md: Regenerate.
+
+2009-11-20 Olga Golovanevsky <olga@il.ibm.com>
+
+       PR middle-end/39960
+       * ipa-struct-reorg.c (find_pos_in_stmt): New parameter.
+       (ref_pos): New field in structure.
+       (insert_new_var_in_stmt): New function.
+
+
+2009-11-20  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * config.gcc (alpha*-dec-osf[45]*): Set use_gcc_stdint.
+       * config/alpha/osf.h (SIG_ATOMIC_TYPE): Define.
+       (INT8_TYPE, INT16_TYPE, INT32_TYPE, INT64_TYPE): Define.
+       (UINT8_TYPE, UINT16_TYPE, UINT32_TYPE, UINT64_TYPE): Define.
+       (INT_LEAST8_TYPE, INT_LEAST16_TYPE, INT_LEAST32_TYPE,
+       (INT_LEAST64_TYPE): Define.
+       (UINT_LEAST8_TYPE, UINT_LEAST16_TYPE, UINT_LEAST32_TYPE,
+       UINT_LEAST64_TYPE): Define.
+       (INT_FAST8_TYPE, INT_FAST16_TYPE, INT_FAST32_TYPE,
+       INT_FAST64_TYPE): Define.
+       (UINT_FAST8_TYPE, UINT_FAST16_TYPE, UINT_FAST32_TYPE,
+       UINT_FAST64_TYPE): Define.
+       (INTPTR_TYPE, UINTPTR_TYPE): Define.
+
+2009-11-20  Julian Brown  <julian@codesourcery.com>
+
+       * config/arm/arm.h (ASM_OUTPUT_REG_PUSH): Handle STATIC_CHAIN_REGNUM
+       specially for Thumb-1.
+       (ASM_OUTPUT_REG_POP): Likewise.
+
+2009-11-19  Jason Merrill  <jason@redhat.com>
+
+       * dwarf2out.c (get_context_die): Take TYPE_MAIN_VARIANT.
+
+2009-11-19  Basile Starynkevitch  <basile@starynkevitch.net>
+            Rafael Avila de Espindola  <espindola@google.com>
+
+       * doc/plugins.texi (Plugin initialization): Added advices for
+       retrieving the version of GCC at plugin compilation and loading
+       times.
+
+2009-11-19  Basile Starynkevitch  <basile@starynkevitch.net>
+
+       * plugin.c (FMT_FOR_PLUGIN_EVENT): added definition.
+       (dump_active_plugins): output to file everything. Use
+       internationalized dump & FMT_FOR_PLUGIN_EVENT.
+
+2009-11-19  Richard Guenther  <rguenther@suse.de>
+
+       * gimple.c (canonicalize_cond_expr_cond): Strip conversions
+       around truth-valued expressions.
+       * tree.c (free_lang_data): Untangle check for LTO frontend.
+
+2009-11-19  Jakub Jelinek  <jakub@redhat.com>
+
+       * tree.c (need_assembler_name_p): Use cgraph_get_node instead
+       of cgraph_node_for_decl.
+       * cgraph.h (cgraph_node_for_decl): Remove prototype.
+       * cgraph.c (cgraph_node_for_decl): Remove.
+       (cgraph_get_node): Just return NULL if !cgraph_hash.
+
+2009-11-19  Paul Brook  <paul@codesourcery.com>
+
+       * config.gcc: Add new ARM --with-fpu options.
+       * doc/invoke.texi: Docuent ARM -mfpu=fpv4-sp-d16.
+       * config/arm/arm.c (all_fpus): Add fpv4-sp-d16.
+
+2009-11-18  Richard Guenther  <rguenther@suse.de>
+
+       * gimple.h (union gimple_statement_d): Add gsmembase member.
+       (gimple_vuse_op): Use gsmembase for access.
+       (gimple_vdef_op): Likewise.
+       (gimple_vuse): Likewise.
+       (gimple_vdef): Likewise.
+       (gimple_vuse_ptr): Likewise.
+       (gimple_vdef_ptr): Likewise.
+       (gimple_set_vuse): Likewise.
+       (gimple_set_vdef): Likewise.
+       * gsstruct.def (GSS_WITH_MEM_OPS_BASE): Add.
+
+2009-11-18  Daniel Jacobowitz  <dan@codesourcery.com>
+
+       * doc/arm-neon-intrinsics.texi: Regenerated.
+
+2009-11-18  Daniel Jacobowitz  <dan@codesourcery.com>
+
+       * config/arm/neon-docgen.ml (analyze_shape_elt): Handle
+       Alternatives.
+
+2009-11-18  Paul Brook  <paul@codesourcery.com>
+       Daniel Jacobowitz  <dan@codesourcery.com>
+
+       * config/arm/arm.c (FL_ARCH7EM, FL_FOR_ARCH7EM): Define.
+       (arm_arch7em): New variable.
+       (all_architectures): Add armv7e-m.
+       (arm_override_options): Set arm_arch7em.
+       * config/arm/arm.h (TARGET_DSP_MULTIPLY, TARGET_INT_SIMD):
+       Include arm_arch7em.
+       (arm_arch7em): Declare.
+
+2009-11-18  Richard Guenther  <rguenther@suse.de>
+
+       * lto-streamer-in.c (input_gimple_stmt): Assert that we find
+       a valid field decl if checking is enabled.
+
+2009-11-18  Martin Jambor  <mjambor@suse.cz>
+
+       * ipa-prop.h (struct ipa_param_call_note): New field lto_stmt_uid.
+       (lto_ipa_fixup_call_notes): Declare.
+       * ipa-prop.c (ipa_note_param_call): Store gimple uid.
+       (update_call_notes_after_inlining): Copy call stmt uid to the new
+       edge.
+       (ipa_write_param_call_note): New function.
+       (ipa_read_param_call_note): New function
+       (ipa_write_node_info): Write also param call notes.  Removed a bogus
+       comment, reformatted to fit 80 columns.
+       (ipa_read_node_info): Read also param call notes. Removed a bogus
+       comment.  Remove ipa_edge_args_vector growth.
+       (lto_ipa_fixup_call_notes): New function.
+       * ipa-cp.c (pass_ipa_cp): Add stmt_fixup hook.
+       * ipa-inline.c (cgraph_mark_inline_edge): Perform indirect
+       inlining regardless of flag_wpa.
+       (cgraph_decide_inlining_of_small_functions): Likewise.
+       (cgraph_decide_inlining): Likewise.
+       (inline_read_summary): Likewise.
+
+2009-11-18  Jan Hubicka  <jh@suse.cz>
+
+       * predict.c (compute_function_frequency): Export.
+       * predict.h (compute_function_frequency): Declare.
+       * tree-optimize.c (execute_fixup_cfg): Rescale frequencies.
+
+2009-11-18  Martin Jambor  <mjambor@suse.cz>
+
+       * passes.c (ipa_write_summaries): Call renumber_gimple_stmt_uids
+       on all nodes we write summaries for.
+
+2009-11-18  Shujing Zhao  <pearly.zhao@oracle.com>
+       
+       PR middle-end/22201
+       * params.def (PARAM_INLINE_UNIT_GROWTH)
+       PARAM_IPCP_UNIT_GROWTH)
+       (PARAM_EARLY_INLINING_INSNS, PARAM_IRA_MAX_LOOPS_NUM)
+       (PARAM_IRA_MAX_CONFLICT_TABLE_SIZE)
+       (PARAM_LOOP_INVARIANT_MAX_BBS_IN_LOOP)
+       (PARAM_MIN_INSN_TO_PREFETCH_RATIO)
+       (PARAM_PREFETCH_MIN_INSN_TO_MEM_RATIO)
+       PARAM_IPA_SRA_PTR_GROWTH_FACTOR): Uppercase the first letter of the
+       description string.
+
+2009-11-18  Jakub Jelinek  <jakub@redhat.com>
+
+       * dwarf2out.c (loc_list_from_tree): Don't call rtl_for_decl_location
+       unnecessarily.
+       (rtl_for_decl_location): Try harder to get a rtl for TREE_STATIC vars.
+
+       PR c++/3187
+       * cgraph.h (struct cgraph_node): Add same_body and same_body_alias
+       fields.
+       (cgraph_same_body_alias, cgraph_remove_same_body_alias): New
+       prototypes.
+       * cgraphunit.c (cgraph_expand_function, cgraph_emit_thunks,
+       cgraph_materialize_all_clones): Handle same_body aliases.
+       * cgraph.c (cgraph_allocate_node): New function.
+       (cgraph_create_node): Use it.
+       (cgraph_node_for_decl, cgraph_node, cgraph_get_node,
+       cgraph_node_for_asm, cgraph_remove_node): Handle same_body aliases.
+       (cgraph_same_body_alias, cgraph_remove_same_body_alias): New
+       functions.
+       * lto-cgraph.c (lto_output_node): Stream out same_body aliases.
+       (input_node): Stream in same_body aliases.
+       * lto-symtab.c (lto_cgraph_replace_node): Clear node pointers
+       for same_body aliases.
+       (lto_symtab_merge_cgraph_nodes_1): Handle same_body aliases.
+
 2009-11-18  Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
 
        PR other/39888