OSDN Git Service

* config/i386/xmmintrin.h: Make inclusion of emmintrin.h
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 09efede..ac5affe 100644 (file)
@@ -1,3 +1,998 @@
+2007-02-08  Harsha Jagasia  <harsha.jagasia@amd.com>
+
+       * config/i386/xmmintrin.h: Make inclusion of emmintrin.h
+       conditional to __SSE2__.
+       (Entries below should have been added to first ChangeLog
+       entry for amdfam10 dated 2007-02-05)
+       * config/i386/emmintrin.h: Generate #error if __SSE2__ is not
+       defined.
+       * config/i386/pmmintrin.h: Generate #error if __SSE3__ is not
+       defined.
+       * config/i386/tmmintrin.h: Generate #error if __SSSE3__ is not
+       defined.
+
+2007-02-08  DJ Delorie  <dj@redhat.com>
+
+       * config/m32c/m32c-protos.h (m32c_illegal_subreg_p): New.
+       * config/m32c/m32c.c (legal_subregs): New.
+       (m32c_illegal_subreg_p): New.
+       * config/m32c/predicates.md (m32c_any_operand): Use it to reject
+       unsupported subregs of hard regs.
+
+2007-02-08  Jan Hubicka  <jh@suse.cz>
+
+       * tree-cfg.c (bsi_replace): Shortcut when replacing the statement with
+       the same one; always update histograms.
+
+2007-02-08  Diego Novillo  <dnovillo@redhat.com>
+
+       * passes.c (init_optimization_passes): Tidy comment.
+
+2007-02-08  Roger Sayle  <roger@eyesopen.com>
+
+       * simplify-rtx.c (simplify_unary_operation_1) <POPCOUNT>: We can
+       strip zero_extend, bswap and rotates from POCOUNT's argument.
+       <PARITY>: Likewise, we can strip not, bswap, sign_extend,
+       zero_extend and rotates from PARITY's argument.
+       <BSWAP>: A byte-swap followed by a byte-swap is an identity.
+       (simplify_const_unary_operation) <BSWAP>: Evaluate the byte-swap
+       of an integer constant at compile-time.
+
+2007-02-08  Diego Novillo  <dnovillo@redhat.com>
+
+       PR 30562
+       * tree-flow.h (struct var_ann_d): Remove field 'is_used'.
+       Update all users.
+       * tree-ssa-alias.c (compute_is_aliased): Remove.  Update all
+       users.
+       (init_alias_info):
+       * tree-ssa-live.c (remove_unused_locals): Do not remove
+       TREE_ADDRESSABLE variables.
+       * tree-ssa-structalias.c (compute_points_to_sets): Tidy.
+       * tree-ssa-operands.c (add_virtual_operand): Remove argument
+       FOR_CLOBBER.  Update all users.
+       If VAR has an associated alias set, add a virtual operand for
+       it if no alias is found to conflict with the memory reference.
+
+2007-02-07  Jan Hubicka  <jh@suse.cz>
+           Robert Kidd <rkidd@crhc.uiuc.edu>
+
+       * value-prof.c (visit_hist, free_hist): Return 1 instead of 0.
+
+2007-02-07  Ian Lance Taylor  <iant@google.com>
+
+       * lower-subreg.c (simple_move): Reject PARTIAL_INT modes.
+
+2007-02-07  Roger Sayle  <roger@eyesopen.com>
+
+       * config/rs6000/rs6000.md (ctz<mode>2, ffs<mode>2, popcount<mode>2,
+       parity<mode>2, smulsi3_highpart, abstf2_internal, allocate_stack,
+       tablejumpdi, movsi_to_cr_one): Remove constraints from
+       define_expand's match_operands.
+
+2007-02-07  Roger Sayle  <roger@eyesopen.com>
+
+       * global.c (compute_regsets): Move declatation of "i" inside of
+       #ifdef ELIMINABLE_REGS to avoid unused variable bootstrap failure.
+
+2007-02-07  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/30703
+       * gimplify.c (gimplify_scan_omp_clauses): Remove special casing
+       of INDIRECT_REF <RESULT_DECL>.
+
+       * config/i386/i386.c (override_options): Set PTA_SSSE3 for core2.
+
+2007-02-06  J"orn Rennecke  <joern.rennecke@arc.com>
+           Kaz Kojima  <kkojima@gcc.gnu.org>
+
+       PR target/29746
+       * config/sh/sh.c (expand_cbranchdi4): Use scratch register
+       properly.
+       (sh_initialize_trampoline): Add parentheses to avoid a warning.
+
+2007-02-06  Zdenek Dvorak <dvorakz@suse.cz>
+
+       * doc/loop.texi: Document possibility not to perform disambiguation
+       of loops with multiple latches.
+       * cfgloopmanip.c (alp_enum_p): Removed.
+       (add_loop): Handle subloops.  Use get_loop_body_with_size.
+       (create_preheader): Do not allow ENTRY_BLOCK_PTR to be preheader.
+       * cfghooks.c (redirect_edge_and_branch_force): Set dominator for
+       the new forwarder block.
+       (make_forwarder_block): Only call new_bb_cbk if it is not NULL.
+       Handle the case latch is NULL.
+       * tree-ssa-dom.c (tree_ssa_dominator_optimize): Avoid cfg modifications
+       when marking loop exits.
+       * ifcvt.c (if_convert): Ditto.  Mark loop exits even if cfg cannot
+       be modified.
+       * loop-init.c (loop_optimizer_init): Do not modify cfg.  Call
+       disambiguate_loops_with_multiple_latches.
+       * tree-cfgcleanup.c (cleanup_tree_cfg_loop): Calculate dominators
+       before fix_loop_structure.
+       * cfgloop.c: Include pointer-set.h and output.h.
+       (canonicalize_loop_headers, HEADER_BLOCK, LATCH_EDGE,
+       update_latch_info, mfb_keep_just, mfb_keep_nonlatch): Removed.
+       (get_loop_latch_edges, find_subloop_latch_edge_by_profile,
+       find_subloop_latch_edge_by_ivs, find_subloop_latch_edge,
+       mfb_redirect_edges_in_set, form_subloop, merge_latch_edges,
+       disambiguate_multiple_latches, get_loop_body_with_size,
+       disambiguate_loops_with_multiple_latches): New functions.
+       (flow_loop_dump): Dump multiple latch edges.
+       (flow_loop_nodes_find): Handle loops with multiple latches.
+       (flow_loops_find): Ditto. Do not call canonicalize_loop_headers.
+       (glb_enum_p): Modified.
+       (get_loop_body): Use get_loop_body_with_size.
+       * cfgloop.h (LOOPS_HAVE_RECORDED_EXITS): New flag.
+       (AVOID_CFG_MODIFICATIONS): New constant.
+       (disambiguate_loops_with_multiple_latches, add_loop,
+       get_loop_body_with_size): Declare.
+       * Makefile.in (cfgloop.o): Add pointer-set.h and output.h.
+
+2007-02-06  Seongbae Park <seongbae.park@gmail.com>
+
+       PR inline-asm/28686
+       * global.c (compute_regsets): New function.
+       (global_alloc): Refactored ELIMINABLE_REGSET
+       and NO_GLOBAL_ALLOC_REGS computation out.
+       (rest_of_handle_global_alloc): Call compute_regsets()
+       for non-optimizing case.
+
+2007-02-06  Richard Henderson  <rth@redhat.com>
+
+       * config/i386/constraints.md (Y2): Rename from Y.
+       (Yi): New constraint.
+       * config/i386/i386.md (movsi_1, movdi_2, pushdf_nointeger,
+       pushdf_integer, movdf_nointeger, movdf_integer, zero_extendsidi2_32,
+       zero_extendsidi2_rex64, truncxfdf2_mixed): Change Y constraints to Y2.
+       (extendsfdf2_mixed, extendsfdf2_sse, truncdfsf_fast_mixed,
+       truncdfsf_fast_sse, truncdfsf_mixed, fix_truncdfdi_sse,
+       fix_truncdfsi_sse, floatsidf2_mixed, floatsidf2_sse,
+       floatdidf2_mixed, floatdidf2_sse, absnegdf2_mixed, 
+       absnegdf2_sse, sse_setccdf, fop_df_comm_mixed, fop_df_comm_sse,
+       fop_df_1_mixed, fop_df_1_sse): Change Y constraints to x.
+       * config/i386/mmx.md (mov<MMXMODEI>_internal_rex64,
+       mov<MMXMODEI>_internal, movv2sf_internal_rex64, movv2sf_internal,
+       vec_extractv2si_1): Change Y constraints to Y2.
+       * config/i386/sse.md (vec_setv4sf_0, vec_concatv2df, vec_dupv4si,
+       vec_dupv2di, sse2_concatv2si, vec_concatv4si_1, vec_concatv2di):
+       Change Y constraints to Y2.
+       (sse2_loadld): Change Y constraints to x.
+
+2007-02-06  Roger Sayle  <roger@eyesopen.com>
+
+       * config/rs6000/rs6000.md (popcount<mode>2): Rewrite.
+       (parity<mode>2): New define_expand using rs6000_emit_parity.
+       * config/rs6000/rs6000.c (rs6000_emit_popcount,
+       rs6000_emit_parity): New functions.
+       * config/rs6000/rs6000-protos.h (rs6000_emit_popcount,
+       rs6000_emit_parity): Prototype here.
+
+2007-02-06  Ian Lance Taylor  <iant@google.com>
+
+       * lower-subreg.c (simple_move_operand): Reject CONST.
+       (resolve_clobber): Call validate_change rather than directly
+       assigning to XEXP (pat, 0).
+
+2006-02-06  Paolo Bonzini  <bonzini@gnu.org>
+
+       * Makefile.in (tree-ssa-loop-ivopts.o): Add pointer-set.h dependency.
+       (tree-ssa-reassoc.o): Add pointer-set.h dependency.
+       (tree-cfg.o): Remove hashtab.h dependency.
+
+       * tree-ssa-loop-ivopts.c: Include pointer-set.h.
+       (struct ivopts_data): Change niters to pointer_map_t.
+       (struct nfe_cache_elt, nfe_hash, nfe_eq): Delete.
+       (niter_for_exit): Create pointer_map on demand.  Change for
+       pointer_map API.
+       (tree_ssa_iv_optimize_init): Initialize data->niters to NULL.
+       (free_loop_data): Destroy data->niters if created and reset field.
+       (tree_ssa_iv_optimize_finalize): Don't delete data->niters here.
+       (tree_ssa_iv_optimize_loop): Check for presence of stale data.
+
+       * tree-ssa-reassoc.c: Include pointer-set.h.
+       (bb_rank): Change to long *.
+       (operand_rank): Change to pointer_map_t.
+       (find_operand_rank): Return long, -1 if not found.  Declare as inline.
+       (insert_operand_rank): Accept long.
+       (operand_entry_hash, operand_entry_eq): Remove.
+       (get_rank): Return long.  Adjust for changes above.
+       (init_reassoc): Change rank type to long.  Adjust creation of bb_rank
+       and operand_rank.
+       (fini_reassoc): Delete operand_rank with pointer_map_destroy.
+
+       * tree-ssa-structalias.c (vi_for_tree): Change to pointer_map.
+       (struct tree_vi, tree_vi_t, tree_vi_hash, tree_vi_eq): Delete.
+       (insert_vi_for_tree): Rewrite for pointer_map API.  Assert argument
+       is not NULL.
+       (lookup_vi_for_tree): Rewrite for pointer_map API.  Return varinfo_t
+       directly since it cannot be NULL.
+       (get_vi_for_tree): Rewrite for pointer_map API.
+       (find_what_p_points_to): Adjust for change to lookup_vi_for_tree.
+       (init_alias_vars): Create vi_for_tree as pointer_map.
+       (delete_points_to_sets): Delete vi_for_tree using pointer_map_destroy.
+
+       * tree-cfg.c: Don't include hashtab.h.
+       (edge_to_cases): Declare as pointer_map.
+       (struct edge_to_cases_elt, edge_to_cases_hash, edge_to_cases_eq):
+       Delete.
+       (edge_to_cases_cleanup): Rewrite as pointer_map_traverse callback.
+       (start_recording_case_labels): Create edge_to_cases as pointer_map.
+       (end_recoding_case_labels): Cleanup edge_to_cases manually before
+       destroying it.
+       (record_switch_edge): Delete.
+       (get_cases_for_edge): Adjust for pointer_map API, inline
+       record_switch_edge (rewritten for new API), remove goto.
+
+2006-02-06  Paolo Bonzini  <bonzini@gnu.org>
+
+       * Makefile.in (tree-nested.o): Add pointer-set.h dependency.
+       * tree-nested.c: Include pointer-set.h.
+       (var_map_elt, var_map_eq, var_map_hash): Delete.
+       (struct nesting_info): Remove GTY marker.  Change the two htab_t's
+       to pointer_map_t's.
+       (nesting_info_bitmap_obstack): New.
+       (lookup_field_for_decl): Adjust for pointer_map API.
+       (lookup_tramp_for_decl): Adjust for pointer_map API.
+       (get_nonlocal_debug_decl): Adjust for pointer_map API.
+       (get_local_debug_decl): Adjust for pointer_map API.
+       (convert_nl_goto_reference): Adjust for pointer_map API.
+       (convert_nl_goto_receiver): Adjust for pointer_map API.
+       (create_nesting_tree): Create outside GGC space.  Create bitmap on
+       the new obstack.  Create field_map and var_map as pointer_maps.
+       (free_nesting_tree): Adjust for changes to create_nesting_tree.
+       (root): Delete. 
+       (lower_nested_functions): Move root here, no need to NULL it.
+       Initialize and release the obstack.
+
+2007-02-06  Paolo Bonzini  <bonzini@gnu.org>
+
+        * tree.c (tree_int_map_hash, tree_int_map_eq, tree_int_map_marked_p):
+        Remove prototypes and make them non-static.
+        (struct tree_int_map): Remove.
+        * tree.h (struct tree_int_map): Move here, turning TO into an
+        unsigned int.
+        (tree_int_map_hash, tree_int_map_eq, tree_int_map_marked_p): Declare.
+
+        * tree.h (TREE_COMPLEXITY): Remove.
+        (struct tree_exp): Remove complexity field.
+        * tree.c (build1_stat): Don't set it.
+
+2007-02-06  Dorit Nuzman  <dorit@il.ibm.com>
+           Victor Kaplansky  <victork@il.ibm.com>
+
+       * tree-vectorizer.c (vect_is_simple_use): Support induction.
+       (vect_is_simple_reduction): Support reduction with induction as
+       one of the operands.
+       (vect_is_simple_iv_evolution): Fix formatting.
+       * tree-vect-analyze.c (vect_mark_stmts_to_be_vectorized): Fix 
+       formatting.  Don't mark induction phis for vectorization.
+       (vect_analyze_scalar_cycles): Analyze all inductions, then reductions.
+       * tree-vect-transform.c (get_initial_def_for_induction): New function.
+       (vect_get_vec_def_for_operand): Support induction.
+       (vect_get_vec_def_for_stmt_copy): Fix formatting and add check for
+       induction case.
+       (vectorizable_reduction): Support reduction with induction as one of 
+       the operands. 
+       (vectorizable_type_demotion): Use def-type of stmt argument rather
+       than dummy def-type.
+
+       * tree-ssa-loop.c (gate_scev_const_prop): Return the value of
+       flag_tree_scev_cprop.
+       * common.opt (tree-scev-cprop): New flag.
+
+       * tree-vect-transform.c (vect_create_destination_var): Use 'kind' in
+       call to vect_get_new_vect_var.
+
+2007-02-06  Ira Rosen  <irar@il.ibm.com>
+
+       * tree-vect-patterns.c (vect_recog_widen_mult_pattern): Check that 
+       vectype is not NULL.
+       (vect_pattern_recog_1): Likewise.
+
+2007-02-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * fold-const.c (negate_expr_p): Handle CONJ_EXPR.
+       (fold_negate_expr): Likewise.
+
+2007-02-05  Alexandre Oliva  <aoliva@redhat.com>
+
+       PR debug/30189
+       * dwarf2out.c (modified_type_die): Follow DECL_ORIGINAL_TYPE
+       even if cv-qualification is the same.
+
+2007-02-05  Geoffrey Keating  <geoffk@apple.com>
+
+       * config/rs6000/darwin-tramp.asm (__trampoline_setup): Call
+       __enable_execute_stack on completion.
+
+2007-02-05     Harsha Jagasia  <harsha.jagasia@amd.com>
+
+       * config/i386/athlon.md (athlon_fldxf_k8, athlon_fld_k8,
+       athlon_fstxf_k8, athlon_fst_k8, athlon_fist, athlon_fmov,
+       athlon_fadd_load, athlon_fadd_load_k8, athlon_fadd, athlon_fmul,
+       athlon_fmul_load, athlon_fmul_load_k8, athlon_fsgn,
+       athlon_fdiv_load, athlon_fdiv_load_k8, athlon_fdiv_k8,
+       athlon_fpspc_load, athlon_fpspc, athlon_fcmov_load,
+       athlon_fcmov_load_k8, athlon_fcmov_k8, athlon_fcomi_load_k8,
+       athlon_fcomi, athlon_fcom_load_k8, athlon_fcom): Added amdfam10.
+
+2007-02-05     Harsha Jagasia  <harsha.jagasia@amd.com>
+
+       * config/i386/i386.md (x86_sahf_1, cmpfp_i_mixed, cmpfp_i_sse,
+       cmpfp_i_i387, cmpfp_iu_mixed, cmpfp_iu_sse, cmpfp_iu_387,
+       swapsi, swaphi_1, swapqi_1, swapdi_rex64, fix_truncsfdi_sse,
+       fix_truncdfdi_sse, fix_truncsfsi_sse, fix_truncdfsi_sse,
+       x86_fldcw_1, floatsisf2_mixed, floatsisf2_sse, floatdisf2_mixed,
+       floatdisf2_sse, floatsidf2_mixed, floatsidf2_sse,
+       floatdidf2_mixed, floatdidf2_sse, muldi3_1_rex64, mulsi3_1,
+       mulsi3_1_zext, mulhi3_1, mulqi3_1, umulqihi3_1, mulqihi3_insn,
+       umulditi3_insn, umulsidi3_insn, mulditi3_insn, mulsidi3_insn,
+       umuldi3_highpart_rex64, umulsi3_highpart_insn,
+       umulsi3_highpart_zext, smuldi3_highpart_rex64,
+       smulsi3_highpart_insn, smulsi3_highpart_zext, x86_64_shld,
+       x86_shld_1, x86_64_shrd, sqrtsf2_mixed, sqrtsf2_sse,
+       sqrtsf2_i387, sqrtdf2_mixed, sqrtdf2_sse, sqrtdf2_i387,
+       sqrtextendsfdf2_i387, sqrtxf2, sqrtextendsfxf2_i387,
+       sqrtextenddfxf2_i387): Added amdfam10_decode.
+       
+       * config/i386/athlon.md (athlon_idirect_amdfam10,
+       athlon_ivector_amdfam10, athlon_idirect_load_amdfam10,
+       athlon_ivector_load_amdfam10, athlon_idirect_both_amdfam10,
+       athlon_ivector_both_amdfam10, athlon_idirect_store_amdfam10,
+       athlon_ivector_store_amdfam10): New define_insn_reservation.
+       (athlon_idirect_loadmov, athlon_idirect_movstore): Added
+       amdfam10.
+
+2007-02-05     Harsha Jagasia  <harsha.jagasia@amd.com>
+
+       * config/i386/athlon.md (athlon_call_amdfam10,
+       athlon_pop_amdfam10, athlon_lea_amdfam10): New
+       define_insn_reservation.
+       (athlon_branch, athlon_push, athlon_leave_k8, athlon_imul_k8,
+       athlon_imul_k8_DI, athlon_imul_mem_k8, athlon_imul_mem_k8_DI,
+       athlon_idiv, athlon_idiv_mem, athlon_str): Added amdfam10.
+
+2007-02-05     Harsha Jagasia  <harsha.jagasia@amd.com>
+
+       * config/i386/athlon.md (athlon_sseld_amdfam10,
+       athlon_mmxld_amdfam10, athlon_ssest_amdfam10,
+       athlon_mmxssest_short_amdfam10): New define_insn_reservation.
+
+2007-02-05     Harsha Jagasia  <harsha.jagasia@amd.com>
+
+       * config/i386/athlon.md (athlon_sseins_amdfam10): New
+       define_insn_reservation.
+       * config/i386/i386.md (sseins): Added sseins to define_attr type
+       and define_attr unit.
+       * config/i386/sse.md: Set type attribute to sseins for insertq
+       and insertqi.
+
+2007-02-05     Harsha Jagasia  <harsha.jagasia@amd.com>
+
+       * config/i386/athlon.md (sselog_load_amdfam10, sselog_amdfam10,
+       ssecmpvector_load_amdfam10, ssecmpvector_amdfam10,
+       ssecomi_load_amdfam10, ssecomi_amdfam10,
+       sseaddvector_load_amdfam10, sseaddvector_amdfam10): New
+       define_insn_reservation.
+       (ssecmp_load_k8, ssecmp, sseadd_load_k8, seadd): Added amdfam10.
+
+2007-02-05     Harsha Jagasia  <harsha.jagasia@amd.com>
+
+       * config/i386/athlon.md (cvtss2sd_load_amdfam10,
+       cvtss2sd_amdfam10, cvtps2pd_load_amdfam10, cvtps2pd_amdfam10,
+       cvtsi2sd_load_amdfam10, cvtsi2ss_load_amdfam10,
+       cvtsi2sd_amdfam10, cvtsi2ss_amdfam10, cvtsd2ss_load_amdfam10,
+       cvtsd2ss_amdfam10, cvtpd2ps_load_amdfam10, cvtpd2ps_amdfam10,
+       cvtsX2si_load_amdfam10, cvtsX2si_amdfam10): New 
+       define_insn_reservation.
+
+       * config/i386/sse.md (cvtsi2ss, cvtsi2ssq, cvtss2si,
+       cvtss2siq, cvttss2si, cvttss2siq, cvtsi2sd, cvtsi2sdq,
+       cvtsd2si, cvtsd2siq, cvttsd2si, cvttsd2siq,
+       cvtpd2dq, cvttpd2dq, cvtsd2ss, cvtss2sd,
+       cvtpd2ps, cvtps2pd): Added amdfam10_decode attribute.
+
+2007-02-05     Harsha Jagasia  <harsha.jagasia@amd.com>
+
+       * config/i386/athlon.md (athlon_ssedivvector_amdfam10,
+       athlon_ssedivvector_load_amdfam10, athlon_ssemulvector_amdfam10,
+       athlon_ssemulvector_load_amdfam10): New define_insn_reservation.
+       (athlon_ssediv, athlon_ssediv_load_k8, athlon_ssemul,
+       athlon_ssemul_load_k8): Added amdfam10.
+
+2007-02-05     Harsha Jagasia  <harsha.jagasia@amd.com>
+
+       * config/i386/i386.h (TARGET_SSE_UNALIGNED_MOVE_OPTIMAL): New macro.
+       (x86_sse_unaligned_move_optimal): New variable.
+       
+       * config/i386/i386.c (x86_sse_unaligned_move_optimal): Enable for  
+       m_AMDFAM10.
+       (ix86_expand_vector_move_misalign): Add code to generate movupd/movups
+       for unaligned vector SSE double/single precision loads for AMDFAM10.
+
+2007-02-05     Harsha Jagasia  <harsha.jagasia@amd.com>
+
+       * config/i386/i386.h (TARGET_AMDFAM10): New macro.
+       (TARGET_CPU_CPP_BUILTINS): Add code for amdfam10.
+       Define TARGET_CPU_DEFAULT_amdfam10.
+       (TARGET_CPU_DEFAULT_NAMES): Add amdfam10.
+       (processor_type): Add PROCESSOR_AMDFAM10.       
+       
+       * config/i386/i386.md: Add amdfam10 as a new cpu attribute to match
+       processor_type in config/i386/i386.h.
+       Enable imul peepholes for TARGET_AMDFAM10.
+       
+       * config.gcc: Add support for --with-cpu option for amdfam10.
+       
+       * config/i386/i386.c (amdfam10_cost): New variable.
+       (m_AMDFAM10): New macro.
+       (m_ATHLON_K8_AMDFAM10): New macro.
+       (x86_use_leave, x86_push_memory, x86_movx, x86_unroll_strlen,
+       x86_cmove, x86_3dnow_a, x86_deep_branch, x86_use_simode_fiop,
+       x86_promote_QImode, x86_integer_DFmode_moves,
+       x86_partial_reg_dependency, x86_memory_mismatch_stall, 
+       x86_accumulate_outgoing_args, x86_arch_always_fancy_math_387,
+       x86_sse_partial_reg_dependency, x86_sse_typeless_stores,
+       x86_use_ffreep, x86_use_incdec, x86_four_jump_limit,
+       x86_schedule, x86_use_bt, x86_cmpxchg16b, x86_pad_returns):
+       Enable/disable for amdfam10.
+       (override_options): Add amdfam10_cost to processor_target_table.
+       Set up PROCESSOR_AMDFAM10 for amdfam10 entry in 
+       processor_alias_table.
+       (ix86_issue_rate): Add PROCESSOR_AMDFAM10.
+       (ix86_adjust_cost): Add code for amdfam10.
+
+2007-02-05     Harsha Jagasia  <harsha.jagasia@amd.com>
+       
+       * config/i386/i386.opt: Add new Advanced Bit Manipulation (-mabm)
+       instruction set feature flag. Add new (-mpopcnt) flag for popcnt 
+       instruction. Add new SSE4A (-msse4a) instruction set feature flag.
+       * config/i386/i386.h: Add builtin definition for SSE4A.
+       * config/i386/i386.md: Add support for ABM instructions 
+       (popcnt and lzcnt).
+       * config/i386/sse.md: Add support for SSE4A instructions
+       (movntss, movntsd, extrq, insertq).
+       * config/i386/i386.c: Add support for ABM and SSE4A builtins.
+       Add -march=amdfam10 flag.
+       * config/i386/ammintrin.h: Add support for SSE4A intrinsics.
+       * doc/invoke.texi: Add documentation on flags for sse4a, abm, popcnt
+       and amdfam10.
+       * doc/extend.texi: Add documentation for SSE4A builtins.
+
+2007-02-05  Bob Wilson  <bob.wilson@acm.org>
+
+       * config/xtensa/xtensa.c (constantpool_mem_p): Skip over SUBREGs.
+
+2007-02-05  Richard Guenther  <rguenther@suse.de>
+
+       * tree-vectorizer.h (vectorizable_function): Add argument type
+       argument, change return type.
+       * tree-vect-patterns.c (vect_recog_pow_pattern): Adjust caller.
+       * tree-vect-transform.c (vectorizable_function): Handle extra
+       argument, return vectorized function decl.
+       (build_vectorized_function_call): Remove.
+       (vectorizable_call): Handle calls with result and argument types
+       differing.  Handle loop vectorization factor correctly.
+       * targhooks.c (default_builtin_vectorized_function): Adjust for
+       extra argument.
+       * targhooks.h (default_builtin_vectorized_function): Likewise.
+       * target.h (builtin_vectorized_function): Add argument type
+        argument.
+       * config/i386/i386.c (ix86_builtin_vectorized_function): Handle
+       extra argument, allow vectorizing of lrintf.
+       * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION): Adjust
+       documentation of target hook.
+
+2007-02-05  Hans-Peter Nilsson  <hp@axis.com>
+
+       PR target/30665
+       * config/cris/cris.md ("*andsi_movu", "*andsi_clear", "*andhi_movu")
+       ("*andhi_clear", andu (casesi+45)): For size-changed operand where
+       memory is allowed, require !side_effects_p, not just !MEM_VOLATILE_P.
+
+2007-02-05  Roger Sayle  <roger@eyesopen.com>
+
+       * fold-const.c (fold_unary) <REAL_PART>: Test for availability of
+       BUILT_IN_COS before simplifying REAL_PART(CEXPI)) to COS.
+       <IMAG_PART>: Likewise, check for availability of BUILT_IN_SIN.
+       * builtins.c (fold_builtin_sincos): Check for TARGET_C99_FUNCTIONS
+       before canonicalizing sincos to cexpi.
+       (fold_builtin_cexp): Likewise, for canonicalizing cexp to cexpi.
+
+2007-02-05  Roger Sayle  <roger@eyesopen.com>
+
+       * config/alpha/alpha.c (alpha_add_builtins): New Helper function.
+       Set TREE_READONLY and TREE_NOTHROW directly, not via attributes.
+       (alpha_init_builtins): Use alpha_add_builtins to process tables.
+
+2007-02-05  Roger Sayle  <roger@eyesopen.com>
+
+       * mips-tfile.c (initialize_init_file): Correct endianness test.
+
+2007-02-05  Kazu Hirata  <kazu@codesourcery.com>
+
+       * config/m68k/m68k.md (pushdi-1, pushdi, movsi+1): Don't use
+       the 'y' constraint.
+
+2007-02-05  Richard Sandiford  <richard@codesourcery.com>
+
+       * dwarf2out.c (dwarf2out_frame_debug_expr): Record the register
+       saves in a PARALLEL before the register assignments.
+
+2007-02-05  Richard Sandiford  <richard@codesourcery.com>
+
+       * doc/tm.texi (DWARF_ALT_FRAME_RETURN_COLUMN): Do not require
+       DWARF_FRAME_RETURN_COLUMN to be a general register.
+       * dwarf2out.c (init_return_column_size): New function, split from...
+       (expand_builtin_init_dwarf_reg_sizes): ...here.  Allow both
+       DWARF_FRAME_RETURN_COLUMN and DWARF_ALT_FRAME_RETURN_COLUMN
+       to be nongeneral registers.
+       * config/m68k/m68k.h (DWARF_FRAME_REGNUM): Only map FP and
+       integer registers.
+       (DWARF_FRAME_REGISTERS, DWARF_FRAME_RETURN_COLUMN): Define.
+       (DWARF_ALT_FRAME_RETURN_COLUMN): Define.
+
+2007-02-04  Zdenek Dvorak <dvorakz@suse.cz>
+
+       * cfgcleanup.c (try_optimize_cfg): Avoid removing ENTRY_BLOCK_PTR.
+
+2007-02-04  Zdenek Dvorak <dvorakz@suse.cz>
+
+       * cfgloopmanip.c (loop_delete_branch_edge): Removed.
+       (remove_path): Use can_remove_branch_p and remove_branch instead
+       of loop_delete_branch_edge.
+       * tree-ssa-loop-manip.c (scale_dominated_blocks_in_loop): New function.
+       (tree_transform_and_unroll_loop): Remove dead branches immediately.
+       Update profile using scale_dominated_blocks_in_loop.
+       * cfghooks.c (can_remove_branch_p, remove_branch): New functions.
+       * cfghooks.h (struct cfg_hooks): Add can_remove_branch_p.
+       (can_remove_branch_p, remove_branch): Declare.
+       * tree-cfg.c (tree_can_remove_branch_p): New function.
+       (tree_cfg_hooks): Add tree_can_remove_branch_p.
+       * cfgrtl.c (rtl_can_remove_branch_p): New function.
+       (rtl_cfg_hooks, cfg_layout_rtl_cfg_hook): Add rtl_can_remove_branch_p.
+
+2007-02-05  Jan Hubicka  <jh@suse.cz>
+
+       PR middle-end/30696
+       * ipa-inline.c (cgraph_clone_inlined_nodes): When there are unanalyzed
+       nodes in cgraph, don't remove offline copy of the function.
+
+2007-02-04  Jan Hubicka  <jh@suse.cz>
+
+       * tree-sra.c (sra_walk_expr): Add linebreaks. BITFIELD_REFs into
+       vectors might cause maybe_lookup_element_for_expr to be called
+       on non-sra-candidate.
+
+2007-02-04  Kazu Hirata  <kazu@codesourcery.com>
+
+       * config/bfin/bfin-modes.def, config/bfin/bfin.c,
+       config/bfin/bfin.md, config/bfin/predicates.md: Follow
+       spelling conventions.
+
+2007-02-04  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/30636
+       * fold-const.c (try_move_mult_to_index): Make sure to not
+       overflow one dimension of a multi-dimensional array access.
+
+2007-02-04  Jan Hubicka  <jh@suse.cz>
+
+       * passes.c (init_optimization_passes): Reindent.
+
+2007-02-04  Jan Hubicka  <jh@suse.cz>
+           Eric Botcazou  <ebotcazou@adacore.com>
+
+       * tree-optimize.c (has_abnormal_outgoing_edge_p): Move to...
+       (execute_fixup_cfg): Break out the abnormal goto code.
+       * tree-inline.c (has_abnormal_outgoing_edge_p): ...here.
+       (make_nonlocal_label_edges): Move here from execute_fixup_cfg.
+       (optimize_inline_calls): Call make_nonlocal_label_edges.
+
+2007-02-04  Jan Hubicka  <jh@suse.cz>
+
+       * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Return
+       true when something was changed.
+       (rename_ssa_copies): When something was changed, do
+       TODO_remove_unused_locals.
+       * tree-ssa-forwprop.c (tree_ssa_forward_propagate_single_use_value):
+       add TODO_remove_unused_locals when instruction was removed.
+
+2007-02-04  Jan Hubicka  <jh@suse.cz>
+
+       * ipa-inline.c (try_inline): Improve debug output; work on already
+       inline edges too.
+       (cgraph_decide_inlining_incrementally): Indent; improve debug output;
+       call try_inline for already inlined edges too when flattening; 
+       inline also functions that make callee growth but overall unit size
+       reduce.
+
+2007-02-04  Kazu Hirata  <kazu@codesourcery.com>
+
+       * config/m32c/bitops.md, config/m32c/jump.md,
+       config/m32c/m32c.c, config/m32c/m32c.h, config/m32r/m32r.c,
+       config/m32r/m32r.h, config/m32r/m32r.md,
+       config/m32r/predicates.md, config/m68hc11/larith.asm,
+       config/m68hc11/m68hc11.c, config/m68hc11/m68hc11.h,
+       config/m68k/m68k.h, config/mcore/mcore.md, config/mips/4k.md,
+       config/mips/mips-protos.h, config/mips/mips.c,
+       config/mips/mips.h, config/mips/mips.md, config/mips/mips16.S,
+       config/mn10300/mn10300.h, config/mn10300/predicates.md,
+       config/mt/mt.c, config/mt/mt.h, config/mt/mt.md: Follow
+       spelling conventions.
+
+       * config/v850/v850.c, config/v850/v850.h, config/v850/v850.md:
+       Follow spelling conventions.
+
+2007-02-03  Douglas Gregor  <doug.gregor@gmail.com>
+
+       * c-opts.c (c_common_post_options): If C++0x mode is enabled, don't
+       warn about C++0x compatibility.
+       
+2007-02-04  Kazu Hirata  <kazu@codesourcery.com>
+
+       * config/h8300/h8300.c, config/h8300/h8300.h,
+       config/h8300/h8300.md: Follow spelling conventions.
+
+2007-02-03  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR middle-end/30667
+       * combine.c (try_combine): Do not substitute source operand
+       with constants wider than 2 * HOST_BITS_PER_WIDE_INT.
+
+2007-02-03  Jan Hubicka  <jh@suse.cz>
+
+       PR gcov-profile/30650
+       * value-prof.c (stringop_block_profile): Fix handling of size counter;
+       do not divide by zero for never executed counters.
+       (tree_find_values_to_profile): Fix counters.
+       * gcov-ui.h (GCOV_COUNTER_AVERAGE, GCOV_COUNTER_IOR): Fix comments.
+
+2007-02-03  Ian Lance Taylor  <iant@google.com>
+
+       * lower-subreg.c (simple_move_operand): New static function,
+       broken out of simple_move.  Reject LABEL_REF, SYMBOL_REF, and HIGH
+       operands.
+       (simple_move): Call simple_move_operand.
+       (find_decomposable_subregs): Add special handling of MEMs.
+       (can_decompose_p): Rename from cannot_decompose_p.  Reverse
+       meaning of return value.  If we see a hard register, test whether
+       it can store a word_mode value.  Change all callers.
+
+2007-02-03  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       * pa.md (addvdi3, addvsi3, subvdi3, subvsi3, negvdi2, negvsi2): New
+       ftrapv insns and expanders.
+       (subdi3): Change define_expand operand 1 to arith11_operand, and
+       operand 2 to reg_or_0_operand.  Change constraints of 64-bit insn
+       pattern to handle reg_or_0 operands.  Revise 32-bit insn pattern to
+       handle 11-bit constants and reg_or_0 operands in operands 1 and 2,
+       respectively.
+
+       PR middle-end/30174
+       * varasm.c (notice_global_symbol): Treat global objects as weak when
+       flag_shlib is true.
+
+2007-02-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * emit-rtl.c (dconstpi): Delete.
+       (dconstsqrt2): New.
+       (init_emit_once): Delete dconstpi and init dconstsqrt2.
+       * real.h (dconstpi): Delete.
+       (dconstsqrt2): New.
+       * builtins.c (fold_builtin_cabs): Use dconstsqrt2.
+       (fold_builtin_hypot): Likewise.
+
+2007-02-03  Tom Tromey  <tromey@redhat.com>
+
+       PR driver/30246
+       * gcc.c (cpp_unique_options): Any of -ggdb3, -gstabs3,
+       -gcoff3, -gxcoff3, -gvms3 implies -dD.
+
+2007-02-03  Kazu Hirata  <kazu@codesourcery.com>
+
+       * c-decl.c, config/avr/avr.c, config/avr/avr.h,
+       config/m68k/m68k.c, config/m68k/netbsd-elf.h,
+       config/mn10300/mn10300.c, config/pdp11/pdp11.h,
+       config/rs6000/cell.md, config/rs6000/darwin.h,
+       config/sh/sh.md, config/sh/sh4-300.md, config/spu/spu.c,
+       config/spu/spu.md, cselib.c, expr.c, haifa-sched.c, hwint.h,
+       jump.c, reload.c, sched-deps.c, sched-int.h, tree-inline.c,
+       tree-profile.c, tree-ssa-live.h, tree-vrp.c: Fix comment
+       typos.  Follow spelling conventions.
+       * doc/invoke.texi: Follow spelling conventions.
+
+2007-02-03  Roger Sayle  <roger@eyesopen.com>
+
+       * simplify-rtx.c (simplify_relational_operation_1): Implement some
+       canonicalization transformations that attempt to simplify integer
+       constant comparisons to become comparisons against zero.
+
+2007-02-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * builtins.c (fold_builtin_cabs): Fold cabs(x+xi) into
+       fabs(x)*sqrt(2).
+       * fold-const.c (fold_binary): Fix comment typos.  Fold complex
+       (x,0)-(0,y) into (x,-y).  Likewise (0,y)-(x,0) into (-x,y).
+
+2007-02-02  Mike Stump  <mrs@apple.com>
+
+       * config/darwin9.h (DARWIN_LINKER_GENERATES_ISLANDS): Add.
+       * config/rs6000/rs6000.c (DARWIN_GENERATE_ISLANDS): Add.
+       (output_call): Use DARWIN_GENERATE_ISLANDS to decide when to
+       generate a branch island.
+
+2007-02-02  Bob Wilson  <bob.wilson@acm.org>
+
+       * config/xtensa/xtensa.c (smalloffset_mem_p): Use BASE_REG_P.
+       (xtensa_legitimate_address_p): New.
+       (xtensa_legitimize_address): New.
+       (xtensa_output_addr_const_extra): New.
+       * config/xtensa/xtensa.h (REG_OK_STRICT_FLAG): Define.
+       (BASE_REG_P): New.
+       (REG_OK_FOR_BASE_P): Use BASE_REG_P.
+       (GO_IF_LEGITIMATE_ADDRESS): Move code to xtensa_legitimate_address_p.
+       (LEGITIMIZE_ADDRESS): Move code to xtensa_legitimize_address.
+       (OUTPUT_ADDR_CONST_EXTRA): Move code to xtensa_output_addr_const_extra.
+       * config/xtensa/xtensa-protos.h (xtensa_legitimate_address_p): New.
+       (xtensa_legitimize_address): New.
+       (xtensa_output_addr_const_extra): New.
+
+2007-02-02  Steve Ellcey  <sje@cup.hp.com>
+
+       * config/ia64/ia64.c (ia64_print_operand): Fix compare strings.
+
+2007-02-02  Ian Lance Taylor  <iant@google.com>
+
+       * expmed.c (expand_divmod): Add comment.
+
+2007-02-02  Kazu Hirata  <kazu@codesourcery.com>
+
+       * emit-rtl.c (renumber_insns): Remove.
+       * flags.h: Remove the extern for flag_renumber_insns.
+       * rtl.h: Remove the prototype for renumber_insns.
+       * toplev.c (flag_renumber_insns): Remove.
+
+2007-02-02  Hui-May Chang  <hm.chang@apple.com>
+
+       Revert for x86 darwin:
+       2005-06-19  Uros Bizjak  <uros@kss-loka.si>
+       
+       * config/i386/i386.c (ix86_function_arg_regno_p): Put back the
+       code before the following patch under TARGET_MACHO.
+       (ix86_function_value_regno_p): Likewise.
+
+2007-02-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * fold-const.c (negate_expr_p, fold_negate_expr): Handle
+       COMPLEX_EXPR.
+
+2007-02-02  Maxim Kuvyrkov  <mkuvyrkov@ispras.ru>
+
+       PR target/29682
+       * config/ia64/ia64.c (ia64_speculate_insn): Restrict to memory loads to
+       general or fp registers.  Add comments.
+       * config/ia64/ia64.md (reg_pred_prefix): Add comment.
+
+2007-02-02  Paolo Bonzini  <bonzini@gnu.org>
+
+       * pointer-set.c (insert_aux): Only return insertion slot.
+       (pointer_set_insert): Adjust.
+       (pointer_set_traverse, struct pointer_map_t, pointer_map_create,
+       pointer_map_destroy, pointer_map_insert, pointer_map_contains,
+       pointer_map_traverse): New.
+       * pointer-set.h (pointer_set_traverse, struct pointer_map_t,
+       pointer_map_create,  pointer_map_destroy, pointer_map_insert,
+       pointer_map_contains, pointer_map_traverse): Declare.
+
+2007-02-02  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/30473
+       * builtins.c (fold_builtin_sprintf): Do not attempt to optimize
+       sprintf (str, "%s").  Do not optimize sprintf (str, "nopercent", p++).
+
+2007-02-02  Maxim Kuvyrkov  <mkuvyrkov@ispras.ru>
+
+       * sched-int.h (ds_to_dk, dk_to_ds): Declare functions.
+       
+       (struct _dep): New type.
+       (dep_t): New typedef.
+       (DEP_PRO, DEP_CON, DEP_KIND): New access macros.
+       (DEP_STATUS): New access macro.  The macro with the same name was
+       renamed to DEP_LINK_STATUS.
+       (dep_init): Declare function
+
+       (struct _dep_link): New type.
+       (dep_link_t): New typedef.
+       (DEP_LINK_NODE, DEP_LINK_NEXT, DEP_LINK_PREV_NEXTP): New access macros.
+       (DEP_LINK_DEP, DEP_LINK_PRO, DEP_LINK_CON, DEP_LINK_KIND): New macros.
+       (DEP_LINK_STATUS): New macro.
+       (debug_dep_links): New debug function.
+
+       (struct _deps_list): New type.
+       (deps_list_t): New typedef.
+       (DEPS_LIST_FIRST): New access macro.
+       (FOR_EACH_DEP_LINK): New cycle macro.
+       (create_deps_list, free_deps_list, delete_deps_list): Declare
+       functions.
+       (deps_list_empty_p, debug_deps_list, add_back_dep_to_deps_list): Ditto.
+       (find_link_by_pro_in_deps_list, find_link_by_con_in_deps_list): Ditto.
+       (copy_deps_list_change_con): Ditto.
+
+       (move_dep_link): Declare function.
+
+       (struct _dep_node): New type.
+       (dep_node_t): New typedef.
+       (DEP_NODE_BACK, DEP_NODE_DEP, DEP_NODE_FORW): New access macros.
+
+       (struct haifa_insn_data.back_deps): New field to hold backward
+       dependencies of the insn.
+       (struct haifa_insn_data.depend): Rename to forw_deps.  Change its type
+       to deps_list_t.
+       (struct haifa_insn_data.resolved_deps): Rename to resolved_back_deps.
+       Change its type to deps_list_t.
+       (INSN_BACK_DEPS): New access macro to use instead of LOG_LINKS.
+       (INSN_DEPEND): Rename to INSN_FORW_DEPS.
+       (RESOLVED_DEPS): Rename to INSN_RESOLVED_BACK_DEPS.
+
+       (INSN_COST): Move to haifa-sched.c.  Use insn_cost () instead.
+       
+       (DEP_STATUS): Rename to DEP_LINK_STATUS.  Fix typo in the comment.
+
+       (add_forw_dep, delete_back_forw_dep, insn_cost): Update declaration and
+       all callers.
+       (dep_cost): Declare.
+       
+       * sched-deps.c (CHECK): New macro to (en/dis)able sanity checks.
+       (ds_to_dk, dk_to_ds): New functions.
+       
+       (init_dep_1): New static function.
+       (init_dep): New function.
+       (copy_dep): New static function.
+       
+       (dep_link_consistent_p, attach_dep_link, add_to_deps_list): New static
+       functions.
+       (detach_dep_link): New static function.
+       (move_dep_link): New function.
+       
+       (dep_links_consistent_p, dump_dep_links): New static functions.
+       (debug_dep_links): New debugging function.
+       
+       (deps_obstack, dl_obstack, dn_obstack): New static variables.
+       
+       (alloc_deps_list, init_deps_list): New static functions.
+       (create_deps_list): New function.
+       (clear_deps_list): New static function.
+       (free_deps_list, delete_deps_list, deps_list_empty_p): New functions.
+       (deps_list_consistent_p, dump_deps_list): New static functions.
+       (debug_deps_list): New function.
+       (add_back_dep_to_deps_list, find_link_by_pro_in_deps_list): New
+       functions.
+       (find_link_by_con_in_deps_list, copy_deps_list_change_con): Ditto.
+
+       (maybe_add_or_update_back_dep_1, add_or_update_back_dep_1): Update to
+       use new scheduler dependencies lists.
+       (add_back_dep, delete_all_dependences, fixup_sched_groups): Ditto.
+       (sched_analyze): Ditto.  Initialize dependencies lists.
+       (add_forw_dep, compute_forward_dependences): Update to use new
+       scheduler dependencies lists.
+       
+       (init_dependency_caches): Init deps_obstack.
+       (free_dependency_caches): Free deps_obstack.
+       
+       (adjust_add_sorted_back_dep, adjust_back_add_forw_dep): Update to use
+       new scheduler dependencies lists.
+       (delete_forw_dep, add_or_update_back_forw_dep): Ditto.
+       (add_back_forw_dep, delete_back_forw_dep): Ditto.
+
+       * sched-rgn.c (set_spec_fed, find_conditional_protection, is_pfree):
+       Update to use new scheduler dependencies lists.
+       (is_conditionally_protected, is_prisky, add_branch_dependences): Ditto.
+       (debug_dependencies): Ditto.
+       (schedule_region): Update comments.
+       
+       * sched-ebb.c (earliest_block_with_similiar_load): Update to use new
+       scheduler dependencies lists.
+       (schedule_ebb): Update comments.
+       
+       * rtl.def (DEPS_LIST): Remove.
+       
+       * lists.c (unused_deps_list): Remove.
+       (free_list): Update assertions.
+       
+       (alloc_DEPS_LIST, free_DEPS_LIST_list, free_DEPS_LIST_node): Remove.
+       (remove_free_DEPS_LIST_elem, copy_DEPS_LIST_list): Ditto.
+
+       * rtl.h (free_DEPS_LIST_list, alloc_DEPS_LIST): Remove declarations.
+       (remove_free_DEPS_LIST_elem, copy_DEPS_LIST_list): Ditto.
+       
+       * haifa-sched.c (comments): Update.
+       (insn_cost1): Remove.  Inline the code into insn_cost ().
+       (insn_cost): Update to use new scheduler dependencies lists.  Move
+       processing of the dependency cost to dep_cost ().
+       (dep_cost): New function.  Use it instead of insn_cost () when
+       evaluating cost of the dependency.  Use compatible interface to
+       interact with the target.
+       (priority): Update to use new scheduler dependencies lists.
+       (rank_for_schedule): Ditto.  Optimize heuristic that prefers the insn
+       with greater number of insns that depend on the insn.
+       (schedule_insn): Update to use new scheduler dependencies lists.  Add
+       code to free backward dependencies lists.  Inline and optimize code
+       from resolve_dep () - see PR28071.
+       (ok_for_early_queue_removal): Update to use new scheduler dependencies
+       lists.  Update call to targetm.sched.is_costly_dependence hook.
+       
+       (fix_inter_tick, try_ready, fix_tick_ready): Update to use new
+       scheduler dependencies lists.
+       
+       (resolve_dep): Remove.  Move the logic to schedule_insn ().
+       (init_h_i_d): Initialize dependencies lists.
+       
+       (process_insn_depend_be_in_spec): Rename to
+       process_insn_forw_deps_be_in_spec.  Update to use new scheduler
+       dependencies lists.
+       (add_to_speculative_block, create_check_block_twin, fix_recovery_deps):
+       Update to use new scheduler dependencies lists.
+       (clear_priorities, calc_priorities, add_jump_dependencies): Ditto.
+       
+       * ddg.c (create_ddg_dependence, create_ddg_dep_no_link): Update to use
+       new scheduler dependencies lists.
+       (build_intra_loop_deps): Ditto.
+       
+       * target.h (struct _dep): Declare to use in
+       gcc_target.sched.is_costly_dependence.
+       (struct gcc_target.sched.adjust_cost): Fix typo.
+       (struct gcc_target.sched.is_costly_dependence): Change signature to use
+       single dep_t parameter instead of an equivalent triad.
+       (struct gcc_target.sched.adjust_cost_2): Remove.
+
+       * target-def.h (TARGET_SCHED_ADJUST_COST_2): Remove.
+
+       * reg-notes.def (DEP_TRUE, DEP_OUTPUT, DEP_ANTI): Update comments.
+
+       * doc/tm.texi (TARGET_SCHED_IS_COSTLY_DEPENDENCE): Update
+       documentation.
+       (TARGET_SCHED_ADJUST_COST_2): Remove documentation.
+
+       * doc/rtl.texi (LOG_LINKS): Remove part about instruction scheduler.
+       (REG_DEP_TRUE): Document.
+       
+       * config/ia64/ia64.c (ia64_adjust_cost_2): Rename to ia64_adjust_cost.
+       Change signature to correspond to the targetm.sched.adjust_cost hook.  
+       Update use in TARGET_SCHED_ADJUST_COST_2.
+       (TARGET_SCHED_ADJUST_COST_2): Rename to TARGET_SCHED_ADJUST_COST.
+       (ia64_dependencies_evaluation_hook, ia64_dfa_new_cycle): Update to use
+       new scheduler dependencies lists.
+       (ia64_gen_check): Ditto.
+
+       * config/mips/mips.c (vr4130_swap_insns_p): Update to use new scheduler
+       dependencies lists.
+       
+       * config/rs6000/rs6000.c (rs6000_is_costly_dependence): Change
+       signature to correspond to the targetm.sched.is_costly_dependence hook.
+       (is_costly_group): Update to use new scheduler dependencies lists.
+
+       * config/spu/spu.c (spu_sched_adjust_cost): Use insn_cost () function
+       instead of INSN_COST () macro.
+
+2007-02-01  Ian Lance Taylor  <iant@google.com>
+
+       * lower-subreg.c (resolve_clobber): Handle a subreg of a concatn.
+
+2007-02-01  Guy Martin  <gmsoft@gentoo.org>
+
+       * pa.md (tp_load): Correct mfctl instruction syntax.
+
+2007-02-01  Geoffrey Keating  <geoffk@apple.com>
+
+       * config/rs6000/rs6000.c (rs6000_stack_info): Correct
+       altivec_padding_size calculation on AIX.  Improve comment, add
+       assert to verify that it's right.
+
+       * config/rs6000/darwin.h (MD_UNWIND_SUPPORT): Don't define for
+       64-bit.
+
 2007-2-01   Seongbae Park <seongbae.park@gmail.com>
 
         PR inline-asm/28686