OSDN Git Service

toplevel:
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index a49e6b1..a50a6ac 100644 (file)
@@ -1,3 +1,233 @@
+2010-04-16  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * configure.ac: Check for elf_getshdrstrndx or elf_getshstrndx
+       flavor.
+       * configure: Regenerate.
+       * config.in: Regenerate.
+       * doc/install.texi (Prerequisites): Document that Solaris 2 libelf
+       works.
+
+2010-04-16  Richard Guenther  <rguenther@suse.de>
+
+       * tree.h (struct tree_decl_minimal): Move pt_uid ...
+       (struct tree_decl_common): ... here.
+       (DECL_PT_UID): Adjust.
+       (SET_DECL_PT_UID): Likewise.
+       (DECL_PT_UID_SET_P): Likewise.
+
+2010-04-16  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/43572
+       * tree-ssa-alias.h (call_may_clobber_ref_p): Declare.
+       * tree-ssa-alias.c (call_may_clobber_ref_p): Export.
+       * tree-flow.h (is_call_clobbered): Remove.
+       * tree-flow-inline.h (is_call_clobbered): Likewise.
+       * tree-dfa.c (dump_variable): Do not dump call clobber state.
+       * tree-nrv.c (dest_safe_for_nrv_p): Use the alias oracle.
+       (execute_return_slot_opt): Adjust.
+       * tree-tailcall.c (suitable_for_tail_opt_p): Remove
+       check for call clobbered vars here.
+       (find_tail_calls): Move tailcall verification to the
+       proper place.
+
+2010-04-16  Diego Novillo  <dnovillo@google.com>
+
+       * doc/invoke.texi: Explain how are unrecognized -Wno- warnings
+       handled.
+
+2010-04-16  Bernd Schmidt  <bernds@codesourcery.com>
+
+       PR target/40603
+       * config/arm/arm.md (cbranchqi4): New pattern.
+       * config/arm/predicates.md (const0_operand,
+       cbranchqi4_comparison_operator): New predicates.
+
+2010-04-16  Richard Guenther  <rguenther@suse.de>
+
+       * gimple-pretty-print.c (dump_gimple_phi): Dump alias info.
+       (dump_gimple_stmt): Likewise.
+
+2010-04-16  Bernd Schmidt  <bernds@codesourcery.com>
+
+       * recog.h (struct recog_data): New field is_operator.
+       (struct insn_operand_data): New field is_operator.
+       * recog.c (extract_insn): Set recog_data.is_operator.
+       * genoutput.c (output_operand_data): Emit code to set the
+       is_operator field.
+       * reload.c (find_reloads): Use it rather than testing for an
+       empty constraint string.
+
+       PR target/41514
+       * config/arm/arm.md (cbranchsi4_insn): Renamed from "*cbranchsi4_insn".
+       If the previous insn is a cbranchsi4_insn with the same arguments,
+       omit the compare instruction.
+
+       * config/arm/arm.md (addsi3_cbranch): If destination is a high
+       register, inputs must be low registers and we need a low register
+       scratch.  Handle alternative 2 like alternative 3.
+
+2010-04-16  Jakub Jelinek  <jakub@redhat.com>
+
+       * alias.c (memrefs_conflict_p): If x and y are the same VALUE,
+       don't call get_addr on both.  If one expression is a VALUE and
+       the other a REG, check VALUE's locs if the REG isn't among them.
+
+2010-04-16  Christian Bruel  <christian.bruel@st.com>
+
+       * config/sh/sh.h (sh_frame_pointer_required): New function.
+       * config/sh/sh.h (TARGET_FRAME_POINTER_REQUIRED): New macro.
+       (flag_omit_frame_pointer) Set.
+       (MASK_ACCUMULATE_OUTGOING_ARGS) Define and Set.
+       (rounded_frame_size): Adjust size with outgoing_args_size.
+       (sh_set_return_address): Must return from stack pointer.
+       * gcc/config/sh/sh.h (CAN_DEBUG_WITHOUT_FP): Define.
+       (SUBTARGET_FRAME_POINTER_REQUIRED): Define.
+       (ACCUMULATE_OUTGOING_ARGS): Define.
+       * doc/invoke.texi (maccumulate-outgoing-args): Document for SH.
+       * gcc/config/sh/sh.opt: (maccumulate-outgoing-args): New option.
+
+2010-04-15  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+       PR target/43471
+       * config/sh/sh.c (sh_legitimize_reload_address): Use
+       MAYBE_BASE_REGISTER_RTX_P instead of BASE_REGISTER_RTX_P.
+       Remove a unneeded check for offset_base.
+
+2010-04-15  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * configure: Regenerated.
+
+2010-04-15  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
+
+       * config/s390/s390.c (s390_call_save_register_used): Switch back
+       to HARD_REGNO_NREGS.
+
+2010-04-15  Richard Guenther  <rguenther@suse.de>
+
+       * alias.c (alias_set_subset_of): Handle alias-set zero
+       child properly.
+
+2010-04-15  Mark Shinwell  <shinwell@codesourcery.com>
+           Julian Brown  <julian@codesourcery.com>
+
+       * config/arm/thumb2.md (thumb2_movsi_insn): Split ldr and str
+       alternatives according to use of high and low regs.
+       * config/arm/vfp.md (thumb2_movsi_vfp): Likewise.
+       * config/arm/arm.h (CONDITIONAL_REGISTER_USAGE): Use high regs when
+       optimizing for size on Thumb-2.
+
+2010-04-15  Thomas Schwinge  <tschwinge@gnu.org>
+
+       * config.gcc <i[34567]86-*-gnu*>: Handle softfp as for Linux.
+
+2010-04-15  Richard Guenther  <rguenther@suse.de>
+
+       * tree-ssa-structalias.c (struct variable_info): Add
+       is_fn_info flag.
+       (new_var_info): Initialize it.
+       (dump_constraints): Support printing last added constraints.
+       (debug_constraints): Adjust.
+       (dump_constraint_graph): Likewise.
+       (make_heapvar_for): Check for NULL cfun.
+       (get_function_part_constraint): New function.
+       (get_fi_for_callee): Likewise.
+       (find_func_aliases): Properly implement IPA PTA constraints.
+       (process_ipa_clobber): New function.
+       (find_func_clobbers): Likewise.
+       (insert_into_field_list_sorted): Remove.
+       (create_function_info_for): Properly allocate vars for IPA mode.
+       Do not use insert_into_field_list_sorted.
+       (create_variable_info_for): Properly generate constraints for
+       global vars in IPA mode.
+       (dump_solution_for_var): Always dump the solution.
+       (set_uids_in_ptset): Initialize DECL_PT_UID if in ipa-mode.
+       (find_what_var_points_to): Adjust.
+       (pt_solution_set): Change.
+       (pt_solution_ior_into): New function.
+       (pt_solution_empty_p): Export.
+       (pt_solution_includes_global): Adjust.
+       (pt_solution_includes_1): Likewise.
+       (pt_solutions_intersect_1): Likewise.
+       (dump_sa_points_to_info): Check some invariants.
+       (solve_constraints): Move constraint dumping ...
+       (compute_points_to_sets): ... here.
+       (ipa_pta_execute): ... and here.
+       (compute_may_aliases): Do not re-compute points-to info
+       locally if IPA info is available.
+       (ipa_escaped_pt): New global var.
+       (ipa_pta_execute): Properly implement IPA PTA.
+       * tree-into-ssa.c (dump_decl_set): Support dumping
+       decls not in referenced-vars.
+       * tree-flow.h (struct gimple_df): Add ipa_pta flag.
+       * tree-ssa-alias.c (ptr_deref_may_alias_decl_p): Adjust.
+       (dump_points_to_solution): Likewise.
+       * tree-dfa.c (dump_variable): Also dump DECL_PT_UID.
+       * tree-inline.c (remap_ssa_name): Copy IPA points-to solution.
+       (remap_gimple_stmt): Reset call clobber/use information if
+       necessary.
+       (copy_decl_to_var): Copy DECL_PT_UID.
+       (copy_result_decl_to_var): Likewise.
+       * tree.c (make_node_stat): Initialize DECL_PT_UID.
+       (copy_node_stat): Copy it.
+       * tree.h (DECL_PT_UID): New macro.
+       (SET_DECL_PT_UID): Likewise.
+       (DECL_PT_UID_SET_P): Likewise.
+       (struct tree_decl_minimal): Add pt_uid member.
+       * tree-ssa-alias.h (struct pt_solution): Add ipa_escaped flag.
+       (pt_solution_empty_p): Declare.
+       (pt_solution_set): Adjust.
+       (ipa_escaped_pt): Declare.
+       * cfgexpand.c (update_alias_info_with_stack_vars): Adjust.
+       * gimple-pretty-print.c (pp_points_to_solution): New function.
+       (dump_gimple_call): Dump call clobber/use information.
+       * tree-dump.c (dump_option_value_in): Add TDF_ALIAS entry.
+       * tree-pass.h (TDF_ALIAS): New dump option.
+       * tree-pretty-print.c (dump_decl_name): Dump DECL_PT_UID if asked to.
+       * doc/invoke.texi (-fipa-pta): Update documentation.
+
+2010-04-15  Richard Guenther  <rguenther@suse.de>
+
+       * Makefile.in (OBJS-common): Add gimple-fold.o.
+       (gimple-fold.o): New rule.
+       * tree.h (maybe_fold_offset_to_reference,
+       maybe_fold_offset_to_address, maybe_fold_stmt_addition): Move
+       prototypes ...
+       * gimple.h: ... here.
+       * tree-flow.h (fold_stmt, fold_stmt_inplace, get_symbol_constant_value,
+       may_propagate_address_into_dereference): Move prototypes ...
+       * gimple.h: ... here.
+       * tree-ssa-ccp.c (get_symbol_constant_value,
+       may_propagate_address_into_dereference, maybe_fold_offset_to_array_ref,
+       maybe_fold_offset_to_component_ref, maybe_fold_offset_to_reference,
+       maybe_fold_offset_to_address, maybe_fold_stmt_indirect,
+       maybe_fold_stmt_addition, maybe_fold_reference, get_maxval_strlen,
+       ccp_fold_builtin, fold_gimple_assign, fold_gimple_cond,
+       fold_gimple_call, fold_stmt_1, fold_stmt, fold_stmt_inplace,
+       gimplify_and_update_call_from_tree): Move ...
+       * gimple-fold.c: ... here.  New file.
+       (ccp_fold_builtin): Rename to ...
+       (gimple_fold_builtin): ... this.
+       * tree-ssa-ccp.c (execute_fold_all_builtins): Adjust.
+
+2010-04-15  Richard Guenther  <rguenther@suse.de>
+
+       * fold-const.c (LOWPART, HIGHPART, BASE, encode, decode,
+       fit_double_type, force_fit_type_double, add_double_with_sign,
+       neg_double, mul_double_with_sign, lshift_double, rshift_double,
+       lrotate_double, rrotate_double, div_and_round_double): Move ...
+       * double-int.c: ... here.
+       * tree.h (force_fit_type_double, fit_double_type, add_double_with_sign,
+       add_double, neg_double, mul_double_with_sign, mul_double,
+       lshift_double, rshift_double, lrotate_double, rrotate_double,
+       div_and_round_double): Move prototypes ...
+       * double-int.h: ... here.
+
+2010-04-15  Bernd Schmidt  <bernds@codesourcery.com>
+
+       PR target/43742
+       * config/sh/sh.md (doloop_end_split, dect): Undo previous patch.  Use
+       matching constraints to ensure inputs match the output.
+
 2010-04-15  Kaz Kojima  <kkojima@gcc.gnu.org>
 
        PR target/43742
        comment.
        * expmed.c (mask_rtx, lshift_value): (Ditto.).
 
-2010-04-14  Bernd Schmidt  <bernd.schmidt@codesourcery.com>
+2010-04-14  Bernd Schmidt  <bernds@codesourcery.com>
        
        PR target/21803
        * ifcvt.c (cond_exec_process_if_block): Look for identical sequences
        (arm_output_addr_const_extra): Output expression for new pattern.
        * config/arm/arm.md (UNSPEC_SYMBOL_OFFSET): New unspec symbol.
 
-2010-04-10  Bernd Schmidt  <bernd.schmidt@codesourcery.com>
+2010-04-10  Bernd Schmidt  <bernds@codesourcery.com>
 
        * ira-costs.c (record_reg_classes): Ignore alternatives that are
        not enabled.
        * ipa-prop.c (ipa_print_node_jump_functions): Likewise.
 
 2010-04-09  Eric Botcazou  <ebotcazou@adacore.com>
-           Bernd Schmidt  <bernd.schmidt@codesourcery.com>
+           Bernd Schmidt  <bernds@codesourcery.com>
 
        * loop-invariant.c (replace_uses): New static function.
        (move_invariant_reg): Use it to ensure we can replace the uses.
        * c-decl.c (grokparms): Set arg_types to NULL_TREE if there was
        an error.
 
-2010-03-19  Bernd Schmidt  <bernd.schmidt@codesourcery.com>
+2010-03-19  Bernd Schmidt  <bernds@codesourcery.com>
 
        PR rtl-optimization/42258
        * ira-lives.c (check_and_make_def_conflict): Ignore conflict for a