OSDN Git Service

* ChangeLog: Add missing PR reference.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index eeed56d..79af840 100644 (file)
@@ -1,3 +1,201 @@
+2011-10-21  H.J. Lu  <hongjiu.lu@intel.com>
+           Kirill Yukhin  <kirill.yukhin@intel.com>
+
+       PR target/50740
+       * config/i386/driver-i386.c (host_detect_local_cpu): Do cpuid 7 only
+       if max_level allows that.
+
+2011-10-21  Bernd Schmidt  <bernds@codesourcery.com>
+
+       * reg-notes.def (DEP_CONTROL): New.
+       * sched-ebb.c (add_deps_for_risky_insns): Add a REG_DEP_CONTROL when
+       not doing speculation.
+       * rtlanal.c (record_hard_reg_sets, find_all_hard_reg_sets,
+       record_hard_reg_uses_1, record_hard_reg_uses): New functions.
+       * function.c (record_hard_reg_sets, record_hard_reg_uses,
+       record_hard_reg_uses_1): Remove; move to rtlanal.c.
+       * lists.c (copy_INSN_LIST, concat_INSN_LIST): New functions.
+       * haifa-sched.c: Swap includes of "rtl.h" and "hard-reg-set.h".
+       (MUST_RECOMPUTE_SPEC_P): New macro.
+       (real_insn_for_shadow): New function.
+       (cond_clobbered_p, recompute_todo_spec, check_clobbered_conditions,
+       toggle_cancelled_flags): New static functions.
+       (schedule_insn): Relax an assert to only check for empty hard back
+       dependencies.  Skip cancelled dependencies.  Call
+       check_clobbered_conditions.
+       (copy_insn_list): Remove function, renamed moved to lists.c.
+       (save_backtrack_point): Use new spelling copy_INSN_LIST.
+       (unschedule_insns_until): Ensure TODO_SPEC is reset properly.
+       (restore_last_backtrack_point): Likewise.  Call toggle_cancelled_flags.
+       (estimate_insn_tick): Ignore cancelled dependencies.
+       (haifa_speculate_insn): Move declaration.
+       (try_ready): Move code into recompute_todo_spec and call it.  Tweak
+       some asserts.  Ensure predicated patterns are restored if necessary.
+       Dump DEP_CONTROL flag.
+       (haifa_change_pattern): Merge with sched_change_pattern.
+       (sched_change_pattern): Remove function.
+       * sched-deps.c (NON_FLUSH_JUMP_KIND, NON_FLUSH_JUMP): Remove.  All
+       uses changed to simply not test NON_FLUSH_JUMP_P.
+       (ds_to_dk, dk_to_ds, dump_dep, ds_to_dt, dump_ds, check_dep): Handle
+       REG_DEP_CONTROL.
+       (dep_spec_p): If DO_PREDICATION, REG_DEP_CONTROL is speculative.
+       (reg_pending_control_uses, control_dependency_cache): New static
+       variables.
+       (sched_get_reverse_condition_uncached): New function.
+       (sd_find_dep_between): Remove pointless assert.  Look in
+       control_dependency_cache.
+       (ask_dependency_caches, set_dependency_caches, sd_delete_dep,
+       extend_dependency_caches, sched_deps_finish): Handle REG_DEP_CONTROL
+       and control_dependency_cache.
+       (sd_unresolve_dep): Use dep_spec_p.
+       (add_dependence): Now a wrapper around add_dependence_1, handling
+       REG_DEP_CONTROL specially.
+       (flush_pending_lists): Clear pending_jump_insns.
+       (sched_analyze_1): Handle pending_jump_insns like a memory flush.
+       (sched_analyze_2): Unconditionally add to pending memory flushes,
+       keep previous behaviour but apply it to pending_jump_insns instead.
+       (sched_analyze_insn): Defer adding jump reg dependencies using
+       reg_pending_control_uses; add them to the control_uses list.  Handle
+       pending_jump_insns and control_uses when adding dependence lists.
+       (deps_analyze_insn): Update INSN_COND_DEPS.
+       (deps_analyze_insn): Add jumps to pending_jump_insns rather than
+       last_pending_memory_flush.
+       (init_deps): Initialize pending_jump_insns.
+       (free_deps): Free control_uses.
+       (remove_from_deps): Remove from pending_jump_insns.
+       (init_deps_global): Allocate reg_pending_control_uses).
+       (finish_deps_global): Free it.
+       (add_dependence_1): Renamed from add_dependence.  Handle
+       REG_DEP_CONTROL.
+       * rtl.h (record_hard_reg_uses, find_all_hard_reg_sets): Declare.
+       (copy_INSN_LIST, concat_INSN_LIST): Declare.
+       * sched-int.h (struct deps_reg): Add control_uses.
+       (struct deps_desc): Add pending_jump_insns.
+       (struct _haifa_deps_insn_data): Add cond_deps.
+       (struct _haifa_insn_data): Add must_recompute_spec and predicated_pat.
+       (INSN_COND_DEPS, PREDICATED_PAT): New macros.
+       (BITS_PER_DEP_WEAK): Adjust for two extra bits in the word.
+       (DEP_CONTROL): New macro.
+       (DEP_TYPES): Include it.
+       (HARD_DEP): Adjust definition.
+       (DEP_CANCELLED): New macro.
+       (enum SCHED_FLAGS): Add DO_PREDICATION.
+       (sched_get_reverse_condition_uncached, real_insn_for_shadow): Declare.
+       * sched-rgn.c (concat_INSN_LIST): Remove function.
+       (deps_join): Handle pending_jump_insns.
+       (free_pending_lists): Likewise.
+       * config/c6x/c6x.c (c6x_set_sched_flags): Set DO_PREDICATION for final
+       schedule.
+
+2011-10-21  Georg-Johann Lay  <avr@gjlay.de>
+
+       PR target/50820
+       * config/avr/libgcc.S (__EIND__): New define to 0x3C.
+       (__tablejump__): Consistently use EIND for indirect jump/call.
+       (__tablejump_elpm__): Ditto.
+
+2011-10-21  Bernd Schmidt  <bernds@codesourcery.com>
+
+       * config/c6x/c6x.md (attr "op_pattern"): New.
+       (load_sdata_pic, mov<mode>_insn for QIHIM and SISFVM): Set it.
+       * config/c6x/c6x-mult.md.in (mulhi3_VARIANT_, mulhisi3_insn_VARIANT_):
+       Likewise.
+       * config/c6x/c6x-mult.md: Regenerate.
+       * config/c6x/c6x.c: Include "regrename.h".
+       (unit_req_table): New typedef.
+       (unit_reqs): Use it for the declaration.
+       (unit_req_factor, get_unit_reqs, merge_unit_reqs, unit_req_imbalance,
+       get_unit_operand_masks, try_rename_operands, reshuffle_units): New
+       static functions.
+       (count_unit_reqs): New arg reqs.  All callers changed.  Use
+       get_unit_reqs, and don't merge here.
+       (res_mii): New arg reqs.  All callers changed.  Rewrite to use a loop
+       using unit_req_factor.
+       (hwloop_optimize): Call reshuffle_units.  Call merge_unit_reqs after
+       count_unit_reqs.
+       (c6x_reorg): Add reg notes problem, and call df_analyze.
+       * Makefile.in ($(out_object_file)): Depend on regrename.h.
+
+2011-10-21  Kai Tietz  <ktietz@redhat.com>
+
+       * fold-const.c (simple_operand_p_2): Handle integral
+       casts from boolean-operands.
+
+2011-10-21  Jan Hubicka  <jh@suse.cz>
+
+       * cgraph.c (dump_cgraph_node): Dump alias flag.
+       * cgraphunit.c (handle_alias_pairs): Handle weakrefs with
+       no destination.
+       (get_alias_symbol): New function.
+       (output_weakrefs): Output also weakrefs with no destinatoin.
+       (lto_output_node): Output weakref alias flag when at function boundary.
+
+2011-10-21  Andrew Stubbs  <ams@codesourcery.com>
+
+       PR target/50809
+       * config/arm/driver-arm.c (vendors): Make static.
+
+2011-10-21  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.c (ix86_emit_swdivsf): Force b into register.
+       (ix86_emit_swsqrtsf): Force a into register.
+
+2011-10-20  Mike Stump  <mikestump@comcast.net>
+
+       * regcprop.c (copyprop_hardreg_forward_1): Update recog_data
+       after validate_change wipes it out.
+
+2011-10-20  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
+
+       * config/spu/spu.md ("vec_permv16qi"): Reduce selector modulo 32
+       before using the shufb instruction.
+
+2011-10-20  Kirill Yukhin  <kirill.yukhin@intel.com>
+
+       PR target/50766
+       * config/i386/i386.md (bmi_bextr_<mode>): Update register/
+       memory operand order.
+       (bmi2_bzhi_<mode>3): Ditto.
+       (bmi2_pdep_<mode>3): Ditto.
+       (bmi2_pext_<mode>3): Ditto.
+
+2011-10-20  Richard Henderson  <rth@redhat.com>
+
+       * target.def (vec_perm_const_ok): Rename from builtin_vec_perm_ok.
+       * optabs.c (can_vec_perm_expr_p): Update to match.
+       (expand_vec_perm_expr): Likewise.
+       * config/i386/i386.c (TARGET_VECTORIZE_VEC_PERM_CONST_OK): Rename
+       from TARGET_VECTORIZE_BUILTIN_VEC_PERM_OK.
+       * doc/tm.texi.in: Likewise.
+
+2011-10-20  Sergey Ostanevich  <sergos.gnu@gmail.com>
+
+       PR target/50572
+       * config/i386/i386.c (processor_target_table): Change Atom
+       align_loops_max_skip to 15.
+
+2011-10-20  Richard Henderson  <rth@redhat.com>
+
+       * target.def (builtin_vec_perm): Remove.
+       * doc/tm.texi.in (TARGET_VECTORIZE_BUILTIN_VEC_PERM): Remove.
+
+       * config/i386/i386.c (ix86_expand_vec_perm_builtin): Remove.
+       (IX86_BUILTIN_VEC_PERM_*): Remove.
+       (bdesc_args): Remove vec_perm builtins
+       (ix86_expand_builtin): Likewise.
+       (ix86_expand_vec_perm_const_1): Rename from
+       ix86_expand_vec_perm_builtin_1.
+       (extract_vec_perm_cst): Merge into...
+       (ix86_vectorize_vec_perm_const_ok): ... here.  Rename from
+       ix86_vectorize_builtin_vec_perm_ok.
+       (TARGET_VECTORIZE_BUILTIN_VEC_PERM): Remove.
+
+       * config/rs6000/rs6000.c (rs6000_builtin_vec_perm): Remove.
+       (TARGET_VECTORIZE_BUILTIN_VEC_PERM): Remove.
+
+       * config/spu/spu.c (spu_builtin_vec_perm): Remove.
+       (TARGET_VECTORIZE_BUILTIN_VEC_PERM): Remove.
+
 2011-10-20  Uros Bizjak  <ubizjak@gmail.com>
 
        PR target/47989
 
 2011-10-20  Dodji Seketeli  <dodji@redhat.com>
 
+       * ggc-zone.c (ggc_internal_alloc_zone_stat): Rename
+       ggc_alloced_size_order_for_request into ggc_round_alloc_size like
+       it was done in ggc-page.c.
+
        PR other/50659
        * doc/cppopts.texi: Use @smallexample/@end smallexample in
-       documentation for -fdebug-cpp instead of @quotation/@end quotation
-       that is not supported by contrib/texi2pod.pl.
+       documentation for -fdebug-cpp instead of @quotation/@end quotation
+       that is not supported by contrib/texi2pod.pl.
 
 2011-10-19  Jan Hubicka  <jh@suse.cz>
 
 
 2011-10-20  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
 
-       PR target/50106
-       * config/arm/arm.c (thumb_unexpanded_epilogue): Handle return
+       PR target/50106
+       * config/arm/arm.c (thumb_unexpanded_epilogue): Handle return
        reg size from 1-3.
 
 2011-10-20  Richard Guenther  <rguenther@suse.de>