+2007-01-19 Nathan Sidwell <nathan@codesourcery.com>
+ Richard Sandiford <richard@codesourcery.com>
+
+ * config/m68k/m68k.h (M68K_STATIC_CHAIN_REG_NAME): New macro.
+ (INITIALIZE_TRAMPOLINE): Use STATIC_CHAIN_REGNUM.
+ (__transfer_from_trampoline): Use M68K_STATIC_CHAIN_REG_NAME.
+ * config/m68k/m68kelf.h (STATIC_CHAIN_REGNUM): Override.
+ (M68K_STATIC_CHAIN_REG_NAME): Likewise.
+ * config/m68k/netbsd-elf.h (M68K_STATIC_CHAIN_REG_NAME): Likewise.
+
+2007-01-19 Richard Sandiford <richard@codesourcery.com>
+
+ * config/m68k/m68k.md (adddi_dilshr32): Rename to...
+ (*adddi_dilshr32): ...this. Fix formatting. Remove commented-out
+ non-canonical pattern. Restrict to !TARGET_COLDFIRE.
+ (*adddi_dilshr32_cf): New pattern.
+ (adddi3, subdi3): Remove first alternatives.
+
+2007-01-19 Richard Sandiford <richard@codesourcery.com>
+
+ * config/m68k/m68k.c (notice_update_cc): If an SFmode move is
+ implemented using move.l, do not use its cc result for floating-point
+ comparisons.
+
+2007-01-19 Richard Sandiford <richard@codesourcery.com>
+
+ * config/m68k/m68k.h (EXTRA_CONSTRAINT): Stop the 'T' constraint
+ from accepting 's' constraints if flag_pic.
+
+2007-01-19 Richard Sandiford <richard@codesourcery.com>
+
+ * config/m68k/m68k.md (bordered, bunordered, buneq, bunge, bungt)
+ (bunle, bunlt, bltgt, bordered_rev, bunordered_rev, buneq_rev)
+ (bunge_rev, bungt_rev, bunle_rev, bunlt_rev, bltgt_rev): Change
+ condition from TARGET_68881 to TARGET_HARD_FLOAT.
+
+2007-01-19 Sandra Loosemore <sandra@codesourcery.com>
+
+ * longlong.h (count_leading_zeros, COUNT_LEADING_ZEROS_0): Add
+ ColdFire alternatives.
+ * config/m68k/m68k.h (CLZ_DEFINED_VALUE_AT_ZERO): New macro.
+ * config/m68k/m68k.md (clzsi2): Define for ColdFire
+ architectures that support ff1 instruction.
+
+2007-01-19 Richard Sandiford <richard@codesourcery.com>
+ Julian Brown <julian@codesourcery.com>
+
+ * config/m68k/m68k.h (CONST_OK_FOR_LETTER_P): Add an 'R' case.
+ * config/m68k/m68k.md (*movsi_cfv4): Fold into...
+ (*movsi_cf): ...here. Remove unnecessary 'R' from 'Rg'.
+ Add commentary.
+
+2007-01-19 Richard Sandiford <richard@codesourcery.com>
+
+ * config/m68k/m68k-protos.h (valid_mov3q_const): Take a HOST_WIDE_INT
+ and return a bool.
+ (output_move_const_into_data_reg, output_move_simode_const): Delete.
+ * config/m68k/m68k.c (const_method, const_int_cost): Take a
+ HOST_WIDE_INT instead of an rtx.
+ (m68k_rtx_costs): Update call accordingly.
+ (output_move_const_into_data_reg): Likewise. Fix formatting.
+ (valid_mov3q_const): Take a HOST_WIDE_INT instead of an rtx.
+ Return a bool.
+ (output_move_simode_const): Update calls after above changes.
+ Rework to use automatic variables and predicates like MEM_P.
+ * config/m68k/m68k.md (pushexthisi_const): Update call to
+ valid_mov3q_const.
+
+2007-01-19 Dirk Mueller <dmueller@suse.de>
+
+ * tree-ssa-alias.c (perform_var_substitution): Fix typo
+ in dump_flags test.
+
+2007-01-19 Richard Guenther <rguenther@suse.de>
+
+ * builtins.c (expand_builtin_cexpi): Fall back to expanding
+ via cexp in case sincos is not available.
+
+2007-01-19 Richard Guenther <rguenther@suse.de>
+
+ * doc/tm.texi (TARGET_HAS_SINCOS): Document new target macro.
+ * defaults.h (TARGET_HAS_SINCOS): Default to off.
+ * config/linux.h (TARGET_HAS_SINCOS): Set to on if we have glibc.
+ * config/alpha/linux.h (TARGET_HAS_SINCOS): Likewise.
+ * config/sparc/linux.h (TARGET_HAS_SINCOS): Likewise.
+ * config/sparc/linux64.h (TARGET_HAS_SINCOS): Likewise.
+ * config/rs6000/linux.h (TARGET_HAS_SINCOS): Likewise.
+ * config/rs6000/linux64.h (TARGET_HAS_SINCOS): Likewise.
+
+2007-01-19 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (*fpatanxf3_i387, fpatan_extend<mode>xf3_i387):
+ New insn patterns.
+ (atan2sf3_1, atan2df3_1, atan2xf3_1): Remove insn patterns.
+ (atan2xf3): Directly generate RTL pattern.
+ (atan2<mode>3): Rename from atan2sf3 and atan2df3 and macroize insn
+ patterns using X87MODEF12 mode macro. Use fpatan_extend<mode>xf3_i387
+ and truncate result to requested mode. Use SSE_FLOAT_MODE_P to
+ disable patterns for SSE math.
+ (atan<mode>2): Rename from atansf2 and atandf2 and macroize insn
+ patterns using X87MODEF12 mode macro. Use fpatan_extend<mode>xf3_i387
+ and truncate result to requested mode. Use SSE_FLOAT_MODE_P to
+ disable patterns for SSE math.
+
+2007-01-19 Alexandre Oliva <aoliva@redhat.com>
+
+ * libgcc-std.ver: Fix typo in %inherit for GCC_4.3.0.
+
+2007-01-18 Roger Sayle <roger@eyesopen.com>
+
+ * fold-const.c (fold_unary) <VIEW_CONVERT_EXPR>: Optimize away a
+ VIEW_CONVERT_EXPR to the same type as it's operand.
+
+2007-01-18 David Edelsohn <edelsohn@gnu.org>
+
+ * config/rs6000/darwin-ldouble.c: Only build _SOFT_FLOAT if
+ configured for long double 128.
+
+2007-01-18 Mike Stump <mrs@apple.com>
+
+ * config/rs6000/rs6000.c (rs6000_emit_vector_compare): Fix build
+ error.
+
+2007-01-18 Michael Meissner <michael.meissner@amd.com>
+
+ * i386.c (ix86_compute_frame_layout): Make fprintf's in #if 0 code
+ type correct.
+
+2007-01-18 Jan Hubicka <jh@suse.cz>
+
+ * tree-ssa-operands.c (vop_free_bucket_size): Never return value
+ greater than NUM_VOP_FREE_BUCKETS.
+
+2007-01-18 Daniel Berlin <dberlin@dberlin.org>
+
+ * tree-ssa-structalias.c: Update comments.
+ (ptabitmap_obstack): Removed.
+ (pta_obstack): New.
+ (oldpta_obstack): Ditto.
+ (stats): Add a few members.
+ (struct variable_info): Remove node, complex, address_taken, and
+ indirect_target members. Add oldsolution member.
+ (new_var_info): Do not initialize removed members.
+ (constraint_expr_type): Remove INCLUDES.
+ (constraint_graph): Add size, implicit_preds, rep,
+ indirect_cycles, eq_rep, label, direct_nodes, and complex members.
+ (FIRST_REF_NODE): New macro.
+ (LAST_REF_NODE): Ditto.
+ (FIRST_ADDR_NODE): Ditto.
+ (find): New function.
+ (unite): Ditto.
+ (dump_constraint): Do not handle INCLUDES.
+ (insert_into_complex): Do not insert duplicate constraints.
+ (condense_varmap_nodes): Renamed and rewritten into ...
+ (merge_node_constraints): This. Also fix bug in handling of
+ offseted copy constraints.
+ (clear_edges_for_node): No longer need to deal with preds at all,
+ or removing associated preds/succs.
+ (merge_graph_nodes): Deal with indirect_cycles.
+ Don't deal with predecessors.
+ (add_implicit_graph_edge): New function.
+ (add_pred_graph_edge): Ditto.
+ (add_graph_edge): Don't deal with predecessors.
+ (build_constraint_graph): Removed.
+ (build_pred_graph): New function.
+ (build_succ_graph): Ditto.
+ (struct scc_info): Removed in_component. Added roots, dfs, and
+ node_mapping. Remove visited_index, unification_queue.
+ (scc_visit): Deal with union-find we do now.
+ Deal with cycles with REF nodes.
+ (collapse_nodes): Renamed and rewritten to ...
+ (unify_nodes): This.
+ (process_unification_queue): Removed.
+ (topo_visit): Cleanup
+ (do_da_constraint): Use find.
+ (do_sd_constraint): Ditto.
+ (do_ds_constraint): Ditto.
+ (do_complex_constraint): Ditto.
+ (init_scc_info): Update for removed and added members.
+ (find_and_collapse_graph_cycles): Renamed and rewritten into ...
+ (find_indirect_cycles): This.
+ (equivalence_class): New variable.
+ (label_visit): New function.
+ (perform_variable_substitution): Rewritten.
+ (free_var_substitution_info): New function.
+ (find_equivalent_node): Ditto.
+ (move_complex_constraints): Ditto.
+ (eliminate_indirect_cycles): Ditto.
+ (solve_graph): Only propagate changed bits.
+ Use indirect cycle elimination.
+ Use find.
+ (tree_id_t): Rename to tree_vi_t, delete id member, add vi member.
+ (tree_id_eq): Renamed to ...
+ (tree_vi_eq): This. Update for member change
+ (insert_id_for_tree): Renamed and rewritten to ...
+ (insert_vi_for_tree): This.
+ (lookup_id_for_tree): Renamed and rewritten to ...
+ (lookup_vi_for_tree): This.
+ (get_id_for_tree): Renamed and rewritten to ...
+ (get_vi_for_tree): Ditto.
+ (get_constraint_exp_from_ssa_var): Update to use get_vi_for_tree.
+ (process_constraint): Don't handle INCLUDES.
+ Remove special ADDRESSOF case.
+ (find_func_aliases): Rewrite to use vi functions instead of id
+ ones.
+ (create_function_info_for): Ditto.
+ (create_variable_info_for): Ditto.
+ (intra_create_variable_infos): Ditto.
+ (merge_smts_into): Ditto.
+ (find_what_p_points_to): Ditto.
+ (init_base_vars): Ditto.
+ (init_alias_vars): Ditto.
+ (remove_preds_and_fake_succs): New function.
+ (dump_sa_points_to_info): Dump new stats.
+ (dump_solution_for_var): Use find.
+ (set_used_smts): Fix formatting.
+ (compute_points_to_sets): Updated for new functions.
+ (ipa_pta_execute): Ditto.
+
+2007-01-18 Kazu Hirata <kazu@codesourcery.com>
+ Richard Sandiford <richard@codesourcery.com>
+
+ * doc/tm.texi (TARGET_FUNCTION_VALUE): Expand documentation of
+ parallels.
+ * calls.c (expand_call): If the return value is a PARALLEL,
+ extract its first member.
+ * config/m68k/linux.h (FUNCTION_EXTRA_EPILOGUE): Remove.
+ * config/m68k/m68k.c (m68k_output_function_epilogue): Don't
+ use FUNCTION_EXTRA_EPILOGUE.
+ (m68k_function_value): Return a PARALLEL if the return value
+ is of a pointer type.
+ * config/m68k/netbsd-elf.h (current_function_returns_pointer)
+ (FUNCTION_EXTRA_EPILOGUE): Remove.
+ * config/m68k/m68k.md (D0_REG): New constant.
+
+2007-01-18 Kazu Hirata <kazu@codesourcery.com>
+
+ * config/m68k/m68k.c (m68k_output_function_epilogue): Don't
+ output a NOP for empty epilogues.
+
2007-01-18 Richard Sandiford <richard@codesourcery.com>
* config/m68k/m68k.c (m68k_use_return_insn): Update comments