OSDN Git Service

* doc/invoke.texi (RS/6000 and PowerPC Options): Rewrite -mrelocatable
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 0b0d418..6640792 100644 (file)
@@ -1,3 +1,118 @@
+2010-08-06  Alan Modra  <amodra@gmail.com>
+
+       * doc/invoke.texi (RS/6000 and PowerPC Options): Rewrite -mrelocatable
+       and -mrelocatable-lib description.
+
+2010-08-05  Bernd Schmidt  <bernds@codesourcery.com>
+
+       From Martin Thuresson  <martint@google.com>
+       * postreload.c (reload_cse_simplify_operands): Use
+       SET_REGNO_RAW instead of SET_REGNO.
+       * caller-save.c (reg_save_code): Use SET_REGNO_RAW instead of
+       SET_REGNO.
+       * ira.c (setup_prohibited_mode_move_regs): Use SET_REGNO_RAW
+       instead of SET_REGNO.
+       * rtl.h (SET_REGNO_RAW): New macro.
+
+2010-08-05  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * rtlanal.c (nonzero_bits1): Use unsigned HOST_WIDE_INT in all mask
+       computations.  Fix formatting issues.
+       (num_sign_bit_copies1): Likewise.
+       (canonicalize_condition): Likewise.
+
+2010-08-05  Richard Henderson  <rth@redhat.com>
+
+       * toplev.h (ctz_hwi, clz_hwi, ffs_hwi): New.
+       (floor_log2): Use clz_hwi.
+       (exact_log2): Use ctz_hwi.
+       * toplev.c (ctz_hwi, clz_hwi, ffs_hwi): New.
+       * builtins.c (fold_builtin_bitop): Use them.
+       * simplify-rtx.c (simplify_const_unary_operation): Likewise.
+       * combine.c (get_pos_from_mask): Use ctz_hwi.
+       * double-int.c (double_int_ctz): Likewise.
+       * explow.c (force_reg): Likewise.
+       * tree.h (SET_DECL_OFFSET_ALIGN): Use ffs_hwi.
+
+2010-08-05  Richard Henderson  <rth@redhat.com>
+
+       PR target/45189
+       * config/i386/i386.c (ix86_emit_save_reg_using_mov): Make sure
+       the alignment constant is properly sign-extended.
+
+2010-08-05  Richard Guenther  <rguenther@suse.de>
+
+       * expr.c (store_expr): Use emit_block_move only if both
+       source and target are MEMs.  Use store_bit_field if only
+       the target is a MEM.
+
+2010-08-05  Richard Henderson  <rth@redhat.com>
+
+       PR debug/45188
+       * dwarf2out.c (DWARF2_UNWIND_INFO): Provide default definition.
+       (INCOMING_RETURN_ADDR_RTX): Likewise.
+       (dwarf2out_do_frame): Remove conditional compilation.
+       (dwarf2out_frame_init): Likewise.
+
+2010-08-05  Nicolas Setton  <setton@adacore.com>
+
+       * gcov.c (flag_display_progress): New static variable.
+       (main): Display progress info on standard output if requested.
+       (options): Add -d/--display-progress.
+       (print_usage): Print them.
+       (process_args): Handle them.
+       * doc/gcov.texi: Document them.
+
+2010-08-05  Martin Jambor  <mjambor@suse.cz>
+
+       * ipa-cp.c (ipcp_discover_new_direct_edges): New function.
+       (ipcp_insert_stage): Redirect only edges not flagged with
+       indirect_inlining_edge.  Call ipcp_discover_new_direct_edges for all
+       discovered constants.
+
+2010-08-05  Martin Jambor  <mjambor@suse.cz>
+
+       * ipa-prop.h (enum ipa_lattice_type): Changed comments.
+       (struct ipa_param_descriptor): New fields types and
+       cannot_devirtualize.
+       (ipa_param_cannot_devirtualize_p): New function.
+       (ipa_param_types_vec_empty): Likewise.
+       (ipa_make_edge_direct_to_target): Declare.
+       * ipa-cp.c: Fixed first stage driver name in initial comment,
+       described devirtualization there too.
+       (ipcp_analyze_node): Call ipa_analyze_params_uses.
+       (ipcp_print_all_lattices): Print devirtualization info.
+       (ipa_set_param_cannot_devirtualize): New function.
+       (ipcp_initialize_node_lattices): Set cannot_devirtualize when setting
+       lattice to BOTTOM.
+       (ipcp_init_stage): Merged into...
+       (ipcp_generate_summary): ...its caller.
+       (ipcp_change_tops_to_bottom): Also process type lists.
+       (ipcp_add_param_type): New function.
+       (ipcp_copy_types): Likewise.
+       (ipcp_propagate_types): Likewise.
+       (ipcp_propagate_stage): Also propagate types.
+       (ipcp_need_redirect_p): Variable jump_func moved to its scope block.
+       Also return true if propagated types require it.
+       (ipcp_update_callgraph): Dump redirection info.
+       (ipcp_process_devirtualization_opportunities): New function.
+       (ipcp_const_param_count): Include known type information.
+       (ipcp_insert_stage): Call ipcp_process_devirtualization_opportunities
+       on new node.  Fixed formatting.
+       * ipa-prop.c (make_edge_direct_to_target): Renamed to
+       ipa_make_edge_direct_to_target and changed all callers.  Made
+       externally visible.
+       (ipa_node_duplication_hook): Duplicate types vector.
+       * cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Also try to
+       redirect outgoing calls for which we can't get a decl from the
+       statement.  Check that we can get a decl from the call statement.
+       * ipa-inline.c (inline_indirect_intraprocedural_analysis): Call
+       ipa_analyze_params_uses only when ipa-cp is disabled.
+       * tree-inline.c (get_indirect_callee_fndecl): Removed.
+       (expand_call_inline): Do not call get_indirect_callee_fndecl.
+       * params.def (PARAM_DEVIRT_TYPE_LIST_SIZE): New parameter.
+       * Makefile.in (ipa-cp.o): Add gimple.h to dependencies.
+
 2010-08-05  Uros Bizjak  <ubizjak@gmail.com>
 
        * expmed.c (expand_mult_const) <case alg_shift>: Expand shift into