OSDN Git Service

* doc/invoke.texi (-fipa-profile): Document.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index f1389d8..a6e7bf4 100644 (file)
@@ -1,3 +1,277 @@
+2010-04-27  Jan Hubicka  <jh@suse.cz>
+
+       * doc/invoke.texi (-fipa-profile): Document.
+       * opts.c (decode_options): Enable ipa-profile at -O1.
+       * timevar.def (TV_IPA_PROFILE): Define.
+       * common.opt (fipa-profile): Add.
+       * cgraph.c (cgraph_clone_node): Set local flag and clear vtable method flag
+       for clones.
+       (cgraph_propagate_frequency): Handle only local ones.
+       * tree-pass.h (pass_ipa_profile): Declare.
+       * ipa-profile.c (gate_profile): Use flag_ipa_profile.
+       (pass_ipa_profile): Use TV_IPA_PROFILE.
+       * ipa.c (ipa_profile): New function.
+       (gate_ipa_profile): Likewise.
+       (pass_ipa_profile): New global variable.
+       * passes.c (pass_ipa_profile): New.
+
+2010-04-27  Nathan Froyd  <froydnj@codesourcery.com>
+
+       * config/arm/arm.c (arm_expand_builtin): Remove redundant declaration.
+
+2010-04-27  Martin Jambor  <mjambor@suse.cz>
+
+       PR middle-end/43812
+       * ipa.c (dissolve_same_comdat_group_list): New function.
+       (function_and_variable_visibility): Call
+       dissolve_same_comdat_group_list when comdat group contains external or
+       newly local nodes.
+       * cgraphunit.c (verify_cgraph_node): Verify that same_comdat_group
+       lists are circular and that they contain only DECL_ONE_ONLY nodes.
+
+2010-04-27  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * varasm.c (decode_addr_const): Handle special case of INDIRECT_REF.
+       (const_hash_1) <VECTOR_CST>: New case.
+       (compare_constant) <VECTOR_CST>: Likewise.
+       <ADDR_EXPR>: Deal with LABEL_REFs.
+       (copy_constant) <VECTOR_CST>: New case.
+
+2010-04-27  Jan Hubicka  <jh@suse.cz>
+
+       * cgraph.c (cgraph_propagate_frequency): New function.
+       * cgraph.h (cgraph_propagate_frequency): Declare.
+       * ipa-inline.c (cgraph_clone_inlined_nodes): Call
+       cgraph_propagate_frequency.
+
+2010-04-27  Jakub Jelinek  <jakub@redhat.com>
+
+       * unwind-dw2.c (_Unwind_DebugHook): Add used and noclone attributes.
+
+2010-04-27  Bernd Schmidt  <bernds@codesourcery.com>
+
+       PR target/40657
+       * config/arm/arm.c (thumb1_extra_regs_pushed): New function.
+       (thumb1_expand_prologue, thumb1_output_function_prologue): Call it
+       here to determine which regs to push and how much stack to reserve.
+
+2010-04-27  Jie Zhang  <jie@codesourcery.com>
+
+       * doc/gimple.texi (gimple_statement_with_ops): Remove
+       addresses_taken field.
+       (gimple_statement_with_memory_ops): Likewise.
+
+2010-04-27  Jan Hubicka  <jh@suse.cz>
+
+       * tree-inline.c (eni_inlining_weights): Remove.
+       (estimate_num_insns): Special case more builtins.
+
+2010-04-27  Shujing Zhao  <pearly.zhao@oracle.com>
+       
+       PR c/32207
+       * c-typeck.c (build_binary_op): Move forward check for comparison
+       pointer with null pointer constant and adjust the diagnostic message.
+
+2010-04-27  Dave Korn  <dave.korn.cygwin@gmail.com>
+
+       PR lto/42776
+       * configure.ac (gcc_cv_as_section_has_align): Set if installed
+       binutils supports extended .section directive needed by LTO, or
+       warn if older binutils found.
+       (LTO_BINARY_READER): New AC_SUBST'd variable.
+       (LTO_USE_LIBELF): Likewise.
+       * gcc/config.gcc (lto_binary_reader): New target-specific configure
+       variable.
+       * gcc/Makefile.in (LTO_BINARY_READER): Import AC_SUBST'd autoconf var.
+       (LTO_USE_LIBELF): Likewise.
+       * configure: Regenerate.
+
+       * collect2.c (is_elf): Rename from this ...
+       (is_elf_or_coff): ... to this, and recognize and allow i386 COFF
+        object files in addition to ELF-formatted ones.
+       (scan_prog_file): Caller updated.  Also allow for LTO info marker
+       symbol to be prefixed or not by an extra underscore.
+
+       * config/i386/t-cygming (winnt.o): Also depend on LTO_STREAMER_H.
+       * config/i386/winnt.c: Also #include lto-streamer.h
+       (i386_pe_asm_named_section): Specify 1-byte section alignment for
+       LTO named sections.
+       (i386_pe_asm_output_aligned_decl_common): Add comment.
+       (i386_pe_maybe_record_exported_symbol): Allow decl arg to be NULL.
+
+2010-04-27  Hans-Peter Nilsson  <hp@bitrange.com>
+
+       PR target/43889
+       * config/mmix/mmix.md ("*divdi3_nonknuth", "*moddi3_nonknuth"):
+       Add missing earlyclobber for second alternative.
+
+2010-04-26  Bernd Schmidt  <bernds@codesourcery.com>
+
+       * df-problems.c (df_simulate_initialize_forwards): Set, don't clear,
+       bits for artificial defs at the top of the block.
+       * fwprop.c (single_def_use_enter_block): Don't call it.
+
+2010-04-26  Jack Howarth <howarth@bromo.med.uc.edu>
+
+       PR 43715
+       * gcc/configure.ac: Use "$gcc_cv_nm -g" on darwin
+       instead of "$gcc_cv_objdump -T".
+       Use "-undefined dynamic_lookup" on darwin.
+       * gcc/configure: Regenerate.
+
+2010-04-26  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c/43893
+       * c-omp.c (c_finish_omp_for): Handle also EQ_EXPR.
+
+2010-04-26  Nathan Froyd  <froydnj@codesourcery.com>
+
+       * c-parser.c (struct c_token): Move location field up.
+       * c-tree.h (struct c_typespec): Move expr_const_operands field up.
+       (struct c_declspecs): Convert typespec_word, storage_class, and
+       default_int_p into bitfields.
+       (struct c_declarator): Move loc field up.
+
+2010-04-26  Nathan Froyd  <froydnj@codesourcery.com>
+
+       * cfgloop.h (struct loop): Move can_be_parallel field up.
+       * ipa-prop.h (struct ip_node_params): Move bitfields up.
+       * tree-ssa-loop-ivopts.c (struct version_info): Move inv_id field
+       down.
+       (struct iv_cand): Convert pos field into a bitfield.
+       * tree-vectorizer.h (struct _loop_vec_info): Move loop_line_number
+       field up.
+       (struct _stmt_vec_info): Shuffle fields for better packing.
+
+2010-04-26  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * varasm.c (IN_NAMED_SECTION): Remove guard.
+       * config/arm/unknown-elf.h (IN_NAMED_SECTION): Rename to...
+       (IN_NAMED_SECTION_P): ...this.
+       (ASM_OUTPUT_ALIGNED_BSS): Adjust for above renaming.
+       (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Likewise.
+
+2010-04-26  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gimplify.c (gimplify_cond_expr): Use THEN_ and ELSE_ local variables.
+       Use VOID_TYPE_P for all void type tests.  Adjust TYPE variable instead
+       of shadowing it.  Fix comments.
+
+2010-04-26  Jan Hubicka  <jh@suse.cz>
+
+       * cgraph.c (cgraph_create_node): Set node frequency to normal.
+       (cgraph_clone_node): Copy function frequency.
+       * cgraph.h (node_frequency): New enum
+       (struct cgraph_node): Add.
+       * final.c (rest_of_clean_state): Update.
+       * lto-cgraph.c (lto_output_node): Output node frequency.
+       (input_overwrite_node): Input node frequency.
+       * tre-ssa-loop-ivopts (computation_cost): Update.
+       * lto-streamer-out.c (output_function): Do not output function
+       frequency.
+       * predict.c (maybe_hot_frequency_p): Update and handle functions
+       executed once.
+       (cgraph_maybe_hot_edge_p): Likewise; use cgraph frequency instead of
+       attribute lookup.
+       (probably_never_executed_bb_p, optimize_function_for_size_p): Update.
+       (compute_function_frequency): Set noreturn functions to be executed
+       once.
+       (choose_function_section): Update.
+       * lto-streamer-in.c (input_function): Do not input function frequency.
+       * function.c (allocate_struct_function): Do not initialize function
+       frequency.
+       * function.h (function_frequency): Remove.
+       (struct function): Remove function frequency.
+       * ipa-profile.c (CGRAPH_NODE_FREQUENCY): Remove.
+       (try_update): Update.
+       * tree-inline.c (initialize_cfun): Do not update function frequency.
+       * passes.c (pass_init_dump_file): Update.
+       * i386.c (ix86_compute_frame_layout): Update.
+       (ix86_pad_returns): Update.
+
+2010-04-26  Jie Zhang  <jie@codesourcery.com>
+
+       PR tree-optimization/43833
+       * tree-vrp.c (range_int_cst_p): New.
+       (range_int_cst_singleton_p): New.
+       (extract_range_from_binary_expr): Optimize BIT_AND_EXPR case
+       when both operands are constants.  Use range_int_cst_p in
+       BIT_IOR_EXPR case.
+
+2010-04-26  Jan Hubicka  <jh@suse.cz>
+
+       * cgraphunit.c (cgraph_copy_node_for_versioning): Fix profile updating.
+
+2010-04-26  Richard Guenther  <rguenther@suse.de>
+
+       PR lto/43080
+       * gimple.c (gimple_decl_printable_name): Deal gracefully
+       with a NULL DECL_NAME.
+
+2010-04-26  Richard Guenther  <rguenther@suse.de>
+
+       PR lto/42425
+       * tree.c (free_lang_data_in_type): Do not free TYPE_CONTEXT
+       if emitting debug information and it is either a function
+       or a namespace decl.
+
+2010-04-26  Ira Rosen  <irar@il.ibm.com>
+
+       * tree-vectorizer.h (struct _stmt_vec_info): Add new field to 
+       determine if the statement is vectorizable, and a macro to 
+       access it.
+       * tree-vect-data-refs.c (vect_analyze_data_ref_dependence): 
+       Skip statements that can't be vectorized. If the analysis 
+       fails, mark the statement as unvectorizable if vectorizing 
+       basic block.
+       (vect_compute_data_refs_alignment): Likewise.
+       (vect_verify_datarefs_alignment): Skip statements marked as 
+       unvectorizable. Add print.
+       (vect_analyze_group_access): Skip statements that can't be 
+       vectorized. If the analysis fails, mark the statement as 
+       unvectorizable if vectorizing basic block.
+       (vect_analyze_data_ref_accesses, vect_analyze_data_refs): 
+       Likewise.
+       * tree-vect-stmts.c (vectorizable_store): Fix the number of 
+       generated stmts for SLP.
+       (new_stmt_vec_info): Initialize the new field.
+       * tree-vect-slp.c (vect_build_slp_tree): Fail to vectorize 
+       statements marked as unvectorizable.
+
+2010-04-25  Joseph Myers  <joseph@codesourcery.com>
+
+       * c-common.c (flag_isoc1x): New.
+       (flag_isoc99): Update comment.
+       * c-common.h (flag_isoc1x): New.
+       (flag_isoc99): Update comment.
+       * c-cppbuiltin.c (builtin_define_float_constants): Also define
+       __<type>_DECIMAL_DIG__.
+       * c-opts.c (set_std_c1x): New.
+       (c_common_handle_option): Handle -std=c1x and -std=gnu1x.
+       (set_std_c89, set_std_c99): Also set flag_isoc1x to 0.
+       * c.opt (-std=c1x, -std=gnu1x): New options.
+       * doc/cpp.texi: Mention -std=c1x.
+       * doc/cppopts.texi (-std=c1x, -std=gnu1x): Document.
+       * doc/extend.texi: Mention -std=c1x and -std=gnu1x.
+       * doc/invoke.texi (-std=c1x, -std=gnu1x): Document.
+       * doc/standards.texi: Mention C1X.
+       * ginclude/float.h (FLT_DECIMAL_DIG, DBL_DECIMAL_DIG,
+       LDBL_DECIMAL_DIG, FLT_HAS_SUBNORM, DBL_HAS_SUBNORM,
+       LDBL_HAS_SUBNORM, FLT_TRUE_MIN, DBL_TRUE_MIN, LDBL_TRUE_MIN):
+       Define for C1X.
+
+2010-04-25  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/gmon-sol2.c (_mcleanup): Change format string
+       placeholder from 0x%x to %#x.
+       * 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.
+       (output_pic_addr_const): Ditto.
+       (print_operand): Ditto.
+
 2010-04-25  Paolo Bonzini  <bonzini@gnu.org>
 
        * combine.c (find_split_point): Add third argument.  Use it
 
 2010-04-23  Manuel López-Ibáñez  <manu@gcc.gnu.org>
 
-       * toplev.c (general_init): Set default for
-       fdiagnostics-show-option.
+       * toplev.c (general_init): Set default for fdiagnostics-show-option.
        * opts.c (common_handle_option): Allow disabling it.
-       * common.opt (fdiagnostics-show-option): Add Var. Enabled by
-       default.
-       
+       * common.opt (fdiagnostics-show-option): Add Var. Enabled by default.
+
 2010-04-23  Eric Botcazou  <ebotcazou@adacore.com>
 
        * expr.c (expand_expr_real_1) <VIEW_CONVERT_EXPR>: Only use conversion
        * tree-ssa-math-opts.c (execute_optimize_widening_mul,
        gate_optimize_widening_mul): New static functions.
        (pass_optimize_widening_mul): New.
-       * expr.c (expand_expr_real_2) <case WIDEN_MULT_EXPR>: New
-       case.
+       * expr.c (expand_expr_real_2) <case WIDEN_MULT_EXPR>: New case.
        <case MULT_EXPR>: Remove support for widening multiplies.
        * tree.def (WIDEN_MULT_EXPR): Tweak comment.
        * cfgexpand.c (expand_debug_expr) <case WIDEN_MULT_EXPR>: Use