OSDN Git Service

2007-03-09 Daniel Berlin <dberlin@dberlin.org>
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 2974266..48e94f6 100644 (file)
@@ -1,3 +1,959 @@
+2007-03-09  Daniel Berlin  <dberlin@dberlin.org>
+
+       * tree-ssa-structalias.c (variable_info): Remove
+       finished_solution.
+       (new_var_info): Ditto.
+       (shared_bitmap_info_t): New structure.
+       (shared_bitmap_table): New variable.
+       (shared_bitmap_hash): New function.
+       (shared_bitmap_eq): Ditto
+       (shared_bitmap_lookup): Ditto.
+       (shared_bitmap_add): Ditto.
+       (merge_smts_into): Change to take bitmap directly.
+       (find_what_p_points_to): Rewrite to use shared bitmap hashtable.
+       (init_alias_vars): Init shared bitmap hashtable.
+       (delete_points_to_sets): Delete shared bitmap hashtable.
+       * tree-ssa-operands.c (add_virtual_operand): Partially revert the
+       is_aliased removal as a change that was still necessary was
+       deleted.
+
+2007-03-09  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.h (override_options): Conditionally disable
+       x86_sahf for 64bit targets only.
+
+2007-03-08  Andrew Pinski  <andrew_pinski@playstation.sony.com>
+
+       PR C/31072
+       * c-decl.c (merge_decls): Don't call make_var_volatile.
+       * varasm.c (make_var_volatile): Remove.
+       * output.h (make_var_volatile): Remove.
+
+2007-03-08  Zdenek Dvorak  <dvorakz@suse.cz>
+
+       PR tree-optimization/31085
+       * tree-ssa-address.c (create_mem_ref): Fix test of type of base.
+
+2007-03-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * builtins.def (lceil, lceilf, lceill, lfloor, lfloorf, lfloorl,
+       llceil, llceilf, llceill, llfloor, llfloorf, llfloorl): Mark with
+       ATTR_CONST_NOTHROW_LIST.
+       
+       * fold-const.c (tree_expr_nonnegative_warnv_p): Handle
+       FIX_TRUNC_EXPR.
+
+2007-03-08  Diego Novillo  <dnovillo@redhat.com>
+
+       * doc/tree-ssa.texi: Remove documentation for V_MUST_DEF.
+
+2007-03-08  Geoffrey Keating  <geoffk@apple.com>
+
+       PR 31013
+       * gccspec.c (lang_specific_driver): Do nothing when NEXT_OBJC_RUNTIME
+       is declared.
+       * config/darwin.h (REAL_LIBGCC_SPEC): When -fgnu-runtime is
+       passed, use shared libgcc.
+
+2007-03-08  Roger Sayle  <roger@eyesopen.com>
+
+       * tree-eh.c (do_return_redirection): Call build_gimple_modify_stmt
+       instead of calling build2 with a GIMPLE_MODIFY_STMT.
+       (honor_protect_cleanup_actions, lower_try_finally_switch):
+       Likewise.
+       * tree-if-conv.c (replace_phi_with_cond_gimple_modify_stmt,
+       ifc_temp_var): Likewise.
+       * tree-inline.c (setup_one_parameter): Likewise.
+       * tree-mudflap.c (mf_decl_cache_locals,
+       mf_build_check_statement_for): Likewise.
+       * tree-nested.c (init_tmp_var, save_tmp_var,
+       finalize_nesting_tree_1): Likewise.
+       * tree-outof-ssa.c (insert_copy_on_edge,
+       insert_backedge_copies): Likewise.
+       * tree-profile.c (tree_gen_edge_profiler,
+       tree_gen_ic_profiler): Likewise.
+       * tree-scalar-evolution.c (scev_const_prop): Likewise.
+       * tree-sra.c (sra_build_assignment): Likewise.
+       * tree-ssa-loop-im.c (determine_invariantness_stmt): Likewise.
+       * tree-ssa-math-opts.c (insert_reciprocals,
+       execute_cse_sincos_1): Likewise.
+       * tree-tailcall.c (adjust_accumulator_values,
+       adjust_return_value): Likewise.
+       * tree-vect-patterns.c (vect_pattern_recog_1): Likewise.
+       * tree-vect-transform.c (vect_create_data_ref_ptr,
+       bump_vector_ptr, vect_init_vector, get_initial_def_for_induction,
+       vect_create_epilog_for_reduction, vectorizable_reduction,
+       vectorizable_call, vectorizable_conversion,
+       vectorizable_assignment, vectorizable_operation,
+       vectorizable_type_demotion, vect_gen_widened_results_half,
+       vect_permute_store_chain, vectorizable_store,
+       vect_setup_realignment, vect_permute_load_chain,
+       vectorizable_load, vectorizable_condition,
+       vect_create_cond_for_align_checks): Likewise.
+       * tree-vrp.c (build_assert_expr_for): Likewise.
+
+2007-03-08  Ian Lance Taylor  <iant@google.com>
+
+       * tree-vrp.c: Include "intl.h".
+       (usable_range_p): New static function.
+       (compare_values_warnv): Don't test TYPE_OVERFLOW_UNDEFINED for
+       overflowed values, juts set *strict_overflow_p.
+       (compare_values): Only return -2 if one of the operands is not a
+       constant.
+       (compare_ranges): Call usable_range_p.
+       (compare_range_with_value): Likewise.
+       (vrp_evaluate_conditional_warnv): Rename from
+       vrp_evaluate_conditional.  Make static.  Change all callers.
+       (vrp_evaluate_conditional): New function.
+       (simplify_div_or_mod_using_ranges): Issue warning about reliance
+       on signed overflow.
+       (simplify_abs_using_ranges): Likewise.
+       (simplify_stmt_for_jump_threading): Add within_stmt parameter.
+       * tree-ssa-dom.c (simplify_stmt_for_jump_threading): Add
+       within_stmt parameter.
+       * tree-ssa-propagate.c (fold_predicate_in): Update call to
+       vrp_evaluate_conditional.
+       * tree-ssa-threadedge.c
+       (record_temporary_equivalences_from_stmts_at_dest): Change
+       simplify parameter to take a second tree parameter.
+       (simplify_control_stmt_condition): Likewise.
+       (thread_across_edge): Likewise.
+       * tree-flow.h (vrp_evaluate_conditional): Update declaration.
+       (thread_across_edge): Likewise.
+       * gcc/Makefile.in (tree-vrp.o): Depend upon intl.h.
+
+2007-03-08  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.h (TARGET_SAHF): New define.
+       * config/i386/i386.c (ix86_tune_features) [X86_TUNE_USE_SAHF]:
+       Also enable for m_K8, m_AMDFAM10 and m_CORE2.
+       (x86_sahf): New global variable.
+       (override_options): Add PTA_NO_SAHF to pta_flags enum.  Recode
+       pta_flags masks using shifts.  Add PTA_NO_SAHF to x86_64 and
+       nocona processor flags.  Set x86_sahf when PTA_NO_SAHF is not set
+       in processor flags.  Do not unconditionally disable TARGET_USE_SAHF
+       for 64-bit.
+       (ix86_fp_comparison_sahf_cost): Return high value for !TARGET_SAHF.
+       (ix86_expand_fp_compare): Check for TARGET_CMOVE or TARGET_SAHF
+       when expanding fcomi/sahf based tests.
+       (ix86_emit_fp_unordered_jump): Check for TARGET_SAHF when
+       expanding sahf based alternative. Emit sahf based sequence when
+       optimizing for code size.
+       * config/i386/i386.md (x86_sahf_1): Do not disable for
+       TARGET_64BIT, enable for TARGET_SAHF. 
+
+2007-03-08  Martin Michlmayr  <tbm@cyrius.com>
+
+       * tree-ssa-coalesce.c (fail_abnormal_edge_coalesce): Remove
+       spurious whitespace from error message.
+
+2007-03-08  Volker Reichelt  <reichelt@netcologne.de>
+
+       PR c++/30852
+       * c-common.c (fold_offsetof_1): Handle COMPOUND_EXPR.
+
+2007-03-08  Alexandre Oliva  <aoliva@redhat.com>
+
+       * c-decl.c (grokdeclarator): Disable warnings for anonymous
+       bitfields.
+       * tree-sra.c (instantiate_element): Propagate disabled warnings
+       from the element itself to the created variable.
+
+2007-03-07  Richard Henderson  <rth@redhat.com>
+
+       PR target/30848
+       * reg-stack.c (emit_swap_insn): If a malformed asm was seen,
+       silently fix up the stack in the case of a missing register.
+
+2007-03-07  Paul Brook  <paul@codesourcery.com>
+
+       * config/arm/libunwind.S: Add .arch/.object_arch for armv4 builds.
+
+2007-03-07  Joseph Myers  <joseph@codesourcery.com>
+
+       * config/arm/unwind-arm.c (struct wmmxd_regs, struct wmmxc_regs):
+       New.
+       (phase1_vrs): Use them.
+       (DEMAND_SAVE_WMMXD, DEMAND_SAVE_WMMXC): New.
+       (__gnu_Unwind_Save_WMMXD, __gnu_Unwind_Restore_WMMXD,
+       __gnu_Unwind_Save_WMMXC, __gnu_Unwind_Restore_WMMXC): Declare.
+       (restore_non_core_regs): Call __gnu_Unwind_Restore_WMMXD and
+       __gnu_Unwind_Restore_WMMXC if required.
+       (_Unwind_VRS_Pop): Implement iWMMXt support.
+       * config/arm/libunwind.S (gnu_Unwind_Restore_WMMXD,
+       gnu_Unwind_Save_WMMXD, gnu_Unwind_Restore_WMMXC,
+       gnu_Unwind_Save_WMMXC): Define.
+
+2007-03-07  Richard Sandiford  <richard@codesourcery.com>
+
+       * config/vxworks.h (vxworks_override_options): Declare.
+       (VXWORKS_OVERRIDE_OPTIONS): Use it.
+       * config/vxworks.c: Include target.h and toplev.h.
+       (vxworks_override_options): New function.
+       * config/t-vxworks (vxworks.o): Depend on $(TARGET_H) and toplev.h.
+
+2007-03-07  Andreas Krebbel  <krebbel1@de.ibm.com>
+
+       * config/s390/s390.c (override_options): Don't emit an error when
+       -mstack-size is used without providing -mstack-guard.
+       (s390_emit_prologue): Choose stack_guard value automatically if not
+       provided via command line.
+       * doc/invoke.texi: Adjust description of -mstack-guard and -mstack-size.
+
+2007-03-07  Richard Sandiford  <richard@codesourcery.com>
+
+       * config/i386/i386.c (output_set_got): Add a GOT initialization
+       sequence for VxWorks PIC.
+       (legitimate_pic_address_disp_p): Allow UNSPEC_GOT wrappers
+       around labels as well as symbols.  Use gotoff_operand instead
+       of local_symbolic_operand.
+       (legitimize_pic_address): Use gotoff_operand instead of
+       local_symbolic_operand.  Use @GOT accesses for labels as
+       well as symbols.
+       (ix86_output_addr_diff_elt): Use PC-relative rather than
+       GP-relative offsets for VxWorks PIC.
+       (ix86_expand_move): Pass NULL_RTX to legitimize_pic_address unless
+       no_new_pseudos.  Check whether the returned register is op0.
+       * config/i386/i386.md (tablejump): Use PC-relative rather than
+       GP-relative offsets for VxWorks PIC.
+       * config/i386/predicates.md (gotoff_operand): New predicate.
+
+2007-03-06  Richard Sandiford  <richard@codesourcery.com>
+
+       * config/vxworks.h (VXWORKS_GOTT_BASE, VXWORKS_GOTT_INDEX): Undefine
+       before defining.
+       * config/vxworks-dummy.h: New file.
+       * config/i386/i386.h: Include it.
+
+2007-03-07  Alexandre Oliva  <aoliva@redhat.com>
+
+       * dwarf2out.c (is_inlined_entry_point): New
+       (add_high_low_attributes): Emit DW_AT_entry_pc along with
+       DW_AT_ranges if the first subblock is the entry point.
+
+2007-03-06  David Daney  <ddaney@avtrex.com>
+
+       * doc/install.texi (mips-*-*): Change recommended binutils
+       version.
+
+2007-03-06  Anatoly Sokolov <aesok@post.ru>
+
+       * config/avr/avr.c (avr_mcu_types): Add support for ATmega325P,
+       ATmega3250P, ATmega329P, ATmega3290P, AT90USB82 and AT90USB162 
+       devices.
+       * config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): (Ditto.).
+       * config/avr/t-avr (MULTILIB_MATCHES): (Ditto.).
+
+2007-03-06  Jan Hubicka  <jh@suse.cz>
+
+       * errors.h (warning, error, fatal, internal_error): Mark as cold.
+       * predict.c (maybe_hot_bb): Cold functions are never hot; hot functions
+       are hot.
+       (probably_cold_bb_p): Cold functions are cold.
+       (probably_never_executed_bb_p): Cold functions are cold.
+       (tree_bb_level_predictions): Predict calls to cold functions as not
+       taken.
+       (compute_function_frequency): Check hot/cold attributes.
+       * function.h (function_frequency): Update comments.
+       * predict.def (PRED_COLD_FUNCTION): Predict cold function.
+       * c-common.c (handle_hot_attribute, handle_cold_attribute): New.
+       (c_common_att): Add cold and hot.
+
+       * doc/extend.texi (hot,cold attributes): Document.
+
+2007-03-06  Andrew Haley  <aph@redhat.com>
+
+       * function.c (expand_function_end): Move blockage to just after we
+       emit the label for the naked return from the function.
+
+2007-03-06  Richard Sandiford  <richard@codesourcery.com>
+
+       * config/i386/att.h (ASM_OUTPUT_ASCII, ASM_OUTPUT_SKIP): Undefine
+       before redefining.
+
+2007-03-06  Jan Hubicka  <jh@suse.cz>
+
+       * reg-stack.c (reg_to_stack): Large models don't allow NAN to be
+       loaded for constant large models.  Non-large 64bit PIC can do.
+       * i386.h (CASE_VECTOR_MODE): Large PIC cases are 64bit.
+       * cmodel.h: Add LARGE PIC.
+       * i386.md (UNSPEC_PLTOFF): New.
+       (UNSPEC_SET_RIP, UNSPEC_SET_GOT_OFFSET): New; renumber other unspecs as
+       needed.
+       (*call_1_rex64): Disable for large models.
+       (*call_1_rex64_large): New.
+       (*call_value_1_rex64): Disable for large models.
+       (*call_value_1_rex64_large): New.
+       (set_rip_rex4): New.
+       (set_got_offset_rex64): New.
+       * predicates.md (constant_call_address_operand): For large model
+       constant calls are not possible.
+       * i386-protos.h (construct_plt_address): Declare.
+       * i386.c (override_options): Accept large models.
+       (ix86_expand_prologue): Expand large PIC GOT pointer load.
+       (legitimate_constant_p): Add new UNSPECs.
+       (legitimate_pic_operand_p): Likewise.
+       (legitimate_pic_address_disp_p): Disallow local symbols for large PICs.
+       (legitimize_pic_address): Do easy RIP relative way for TLS only for
+       non-large model.
+       (output_pic_addr_const): Add PLTOFF.
+       (ix86_output_addr_diff_elt): Output 64bit tables when needed.
+       (ix86_expand_move): Legitimize pic address when in PIC mode.
+       (construct_plt_address): New function.
+       (ix86_expand_call): Offload the address to register and use GOT pointer
+       for large model.
+       * invoke.texi (mcmodel=large): Update documentation.
+
+2007-03-06  Richard Henderson  <rth@redhat.com>
+
+       * config/i386/i386.c (x86_use_leave, x86_push_memory,
+       x86_zero_extend_with_and, x86_movx, x86_double_with_add,
+       x86_use_bit_test, x86_unroll_strlen, x86_deep_branch,
+       x86_branch_hints, x86_use_sahf, x86_partial_reg_stall,
+       x86_partial_flag_reg_stall, x86_use_himode_fiop, x86_use_simode_fiop,
+       x86_use_mov0, x86_use_cltd, x86_read_modify_write, x86_read_modify,
+       x86_split_long_moves, x86_promote_QImode, x86_fast_prefix, 
+       x86_single_stringop, x86_qimode_math, x86_promote_qi_regs,
+       x86_himode_math, x86_promote_hi_regs, x86_sub_esp_4, x86_sub_esp_8,
+       x86_add_esp_4, x86_add_esp_8, x86_integer_DFmode_moves, 
+       x86_partial_reg_dependency, x86_memory_mismatch_stall, 
+       x86_prologue_using_move, x86_epilogue_using_move, x86_shift1,
+       x86_sse_partial_reg_dependency, x86_sse_split_regs, 
+       x86_sse_unaligned_move_optimal, x86_sse_typeless_stores,
+       x86_sse_load0_by_pxor, x86_use_ffreep, x86_use_incdec,
+       x86_inter_unit_moves, x86_ext_80387_constants, x86_four_jump_limit,
+       x86_schedule, x86_use_bt, x86_pad_returns): Merge into ...
+       (ix86_tune_features): ... here.  New array.
+       (x86_cmove, x86_use_xchgb, x86_cmpxchg, x86_cmpxchg8b,  
+       x86_xadd, x86_bswap): Merge into ...
+       (ix86_arch_features): ... here.  New array.
+       (x86_3dnow_a): Remove.
+       (x86_accumulate_outgoing_args): Make static.
+       (x86_arch_always_fancy_math_387): Make static.
+       (ix86_tune_mask, ix86_arch_mask): Move ...
+       (override_options): ... to local variables here.  Apply the
+       appropriate mask to each element of ix86_arch_features and
+       ix86_tune_features.  Adjust TARGET_CMOVE and TARGET_USE_SAHF
+       as were done in the old macros.
+       (standard_80387_constant_p): Use TARGET_EXT_80387_CONSTANTS.
+       * config/i386/i386.h (x86_use_leave, x86_push_memory,
+       x86_zero_extend_with_and, x86_use_bit_test, x86_cmove, x86_deep_branch,
+       x86_branch_hints, x86_unroll_strlen, x86_double_with_add,
+       x86_partial_reg_stall, x86_movx, x86_use_himode_fiop,
+       x86_use_simode_fiop, x86_use_mov0, x86_use_cltd, x86_use_xchgb,
+       x86_read_modify_write, x86_read_modify, x86_split_long_moves,
+       x86_promote_QImode, x86_single_stringop, x86_fast_prefix,
+       x86_himode_math, x86_qimode_math, x86_promote_qi_regs,
+       x86_promote_hi_regs, x86_integer_DFmode_moves, x86_add_esp_4,
+       x86_add_esp_8, x86_sub_esp_4, x86_sub_esp_8,
+       x86_partial_reg_dependency, x86_memory_mismatch_stall,
+       x86_accumulate_outgoing_args, x86_prologue_using_move,
+       x86_epilogue_using_move, x86_decompose_lea,
+       x86_arch_always_fancy_math_387, x86_shift1,
+       x86_sse_partial_reg_dependency, x86_sse_split_regs,
+       x86_sse_unaligned_move_optimal, x86_sse_typeless_stores,        
+       x86_sse_load0_by_pxor, x86_use_ffreep, x86_inter_unit_moves,
+       x86_schedule, x86_use_bt, x86_cmpxchg, x86_cmpxchg8b, x86_xadd,
+       x86_use_incdec, x86_pad_returns, x86_bswap,
+       x86_partial_flag_reg_stall): Remove.
+       (enum ix86_tune_indices): New.
+       (ix86_tune_features): New.
+       (TARGET_USE_LEAVE, TARGET_PUSH_MEMORY, TARGET_ZERO_EXTEND_WITH_AND,
+       TARGET_USE_BIT_TEST, TARGET_UNROLL_STRLEN,
+       TARGET_DEEP_BRANCH_PREDICTION, TARGET_BRANCH_PREDICTION_HINTS,
+       TARGET_DOUBLE_WITH_ADD, TARGET_USE_SAHF, TARGET_MOVX,
+       TARGET_PARTIAL_REG_STALL, TARGET_PARTIAL_FLAG_REG_STALL,
+       TARGET_USE_HIMODE_FIOP, TARGET_USE_SIMODE_FIOP, TARGET_USE_MOV0,
+       TARGET_USE_CLTD, TARGET_USE_XCHGB, TARGET_SPLIT_LONG_MOVES,
+       TARGET_READ_MODIFY_WRITE, TARGET_READ_MODIFY, TARGET_PROMOTE_QImode,
+       TARGET_FAST_PREFIX, TARGET_SINGLE_STRINGOP, TARGET_QIMODE_MATH,
+       TARGET_HIMODE_MATH, TARGET_PROMOTE_QI_REGS, TARGET_PROMOTE_HI_REGS,
+       TARGET_ADD_ESP_4, TARGET_ADD_ESP_8, TARGET_SUB_ESP_4,
+       TARGET_SUB_ESP_8, TARGET_INTEGER_DFMODE_MOVES,
+       TARGET_PARTIAL_REG_DEPENDENCY, TARGET_SSE_PARTIAL_REG_DEPENDENCY,
+       TARGET_SSE_UNALIGNED_MOVE_OPTIMAL, TARGET_SSE_SPLIT_REGS,
+       TARGET_SSE_TYPELESS_STORES, TARGET_SSE_LOAD0_BY_PXOR,
+       TARGET_MEMORY_MISMATCH_STALL, TARGET_PROLOGUE_USING_MOVE,
+       TARGET_EPILOGUE_USING_MOVE, TARGET_SHIFT1, TARGET_USE_FFREEP,
+       TARGET_INTER_UNIT_MOVES, TARGET_FOUR_JUMP_LIMIT, TARGET_SCHEDULE,
+       TARGET_USE_BT, TARGET_USE_INCDEC, TARGET_PAD_RETURNS,
+       TARGET_EXT_80387_CONSTANTS): Use it.
+       (enum ix86_arch_indices): New.
+       (ix86_arch_features): New.
+       (TARGET_CMOVE, TARGET_CMPXCHG, TARGET_CMPXCHG8B, TARGET_XADD,
+       TARGET_BSWAP): Use it.
+       (ix86_tune_mask, ix86_arch_mask): Remove.
+
+2007-03-06  Joseph Myers  <joseph@codesourcery.com>
+
+       PR bootstrap/31020
+       * configure.ac (CROSS_SYSTEM_HEADER_DIR, build_system_header_dir):
+       Define using $${sysroot_headers_suffix}.
+       * configure: Regenerate.
+       * cppdefault.c (cpp_include_defaults): Make FIXED_INCLUDE_DIR a
+       multilib-suffixed directory if SYSROOT_HEADERS_SUFFIX_SPEC
+       defined.
+       * doc/invoke.texi (-print-sysroot-headers-suffix): Document.
+       * gcc.c (print_sysroot_headers_suffix): New.
+       (option_map): Include --print-sysroot-headers-suffix.
+       (display_help): Mention -print-sysroot-headers-suffix.
+       (process_command): Handle -print-sysroot-headers-suffix.
+       (do_spec_1): Append multilib directory to include-fixed path if
+       sysroot suffixes in use.
+       (main): Handle -print-sysroot-headers-suffix.
+       * Makefile.in (start.encap): Don't depend on xlimits.h
+       (xlimits.h): Remove.
+       (stmp-int-hdrs): Don't depend on xlimits.h.  Inline generation of
+       limits.h for each multilib in fixinc_list.
+       (fixinc_list, s-fixinc_list): New.
+       (stmp-fixinc): Depend on fixinc_list.  If not copying headers,
+       generate them for each multilib in fixinc_list.
+       (stmp-fixproto): Use include-fixed.  Run fixproto for each
+       multilib in fixinc_list.
+       (mostlyclean): Don't remove xlimits.h.
+       (clean): Remove include-fixed.
+       (real-install-headers-tar, real-install-headers-cpio,
+       real-install-headers-cp): Don't copy include, only include-fixed.
+       (install-mkheaders): Depend on fixinc_list.  Don't depend on
+       xlimits.h.  Save limits.h files for each multilib in fixinc_list.
+       Always save mkinstalldirs.  Preserve ${sysroot_headers_suffix} in
+       SYSTEM_HEADER_DIR setting in mkheaders.conf.
+
+2007-03-06  Jan Hubicka  <jh@suse.cz>
+
+       * regstack.c (reg_to_stack): When in 64bit PIC mode, we still can load
+       NANs easilly.
+
+2007-03-06  Richard Sandiford  <richard@codesourcery.com>
+
+       * configure.ac: Allow tm_file to contain build-directory files.
+       * configure: Regenerate.
+       * config.gcc (m68k-*-uclinux*): Add ./sysroot-suffix.h to tm_file.
+       * config/m68k/t-uclinux (sysroot-suffix.h): New target.
+       * config/m68k/print-sysroot-suffix.sh: New file.
+
+2007-03-06  Richard Sandiford  <richard@codesourcery.com>
+
+       * config/m68k/m68k.h (PIC_OFFSET_TABLE_REGNUM): Use the REGNO
+       of pic_offset_table_rtx if reload_completed.
+       (CONDITIONAL_REGISTER_USAGE): Use PIC_REG instead of
+       PIC_OFFSET_TABLE_REGNUM.
+       * config/m68k/m68k.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Always
+       return true.
+       (m68k_save_reg): Use PIC_REG instead of PIC_OFFSET_TABLE_REGNO.
+       (m68k_output_mi_thunk): Rewrite to use RTL.  Honor vcall_offset.
+
+2007-03-06  Richard Sandiford  <richard@codesourcery.com>
+
+       * config/m68k/m68k.c (m68k_save_reg): Save the PIC register in
+       functions that call eh_return.
+
+2007-03-06  Richard Sandiford  <richard@codesourcery.com>
+
+       * config/m68k/m68k.c (m68k_save_reg): Save the PIC register in
+       functions that need a constant pool.
+
+2007-03-06  Richard Sandiford  <richard@codesourcery.com>
+
+       PR target/28181
+       * config/m68k/m68k-protos.h (m68k_secondary_reload_class): Declare.
+       (m68k_preferred_reload_class): Likewise.
+       * config/m68k/m68k.h (HARD_REGNO_MODE_OK): Remove duplicated comment.
+       (SECONDARY_RELOAD_CLASS): Define.
+       (PREFERRED_RELOAD_CLASS): Use m68k_preferred_reload_class.
+       (LIMIT_RELOAD_CLASS): Delete.
+       * config/m68k/m68k.c (m68k_regno_mode_ok): Don't prevent address
+       registers from storing bytes.
+       (m68k_secondary_reload_class): New function.
+       (m68k_preferred_reload_class): Likewise.
+
+2007-03-06  Richard Sandiford  <richard@codesourcery.com>
+
+       * config/m68k/m68k.c (m68k_save_reg): Remove special case for
+       leaf functions.
+       (m68k_expand_prologue): Likewise.
+
+2007-03-06  Richard Sandiford  <richard@codesourcery.com>
+
+       * config/m68k/m68k-protos.h (output_sibcall): Declare.
+       (mips_expand_epilogue): Add a bool parameter.
+       (m68k_legitimize_sibcall_address): Declare.
+       * config/m68k/m68k.c (TARGET_FUNCTION_OK_FOR_SIBCALL): Define.
+       (m68k_expand_epilogue): Add a parameter to select between sibling
+       and normal epilogues.  Only generate a return for the latter.
+       (m68k_ok_for_sibcall_p): New function.
+       (m68k_legitimize_sibcall_address, output_sibcall): New functions.
+       * config/m68k/m68k.md (sibcall, *sibcall): New patterns.
+       (sibcall_value, *sibcall_value): Likewise.
+       (*call, *call_value): Require !SIBLING_CALL_P.
+       (epilogue): Update call to m68k_expand_epilogue.
+       (sibcall_epilogue): New pattern.
+       * config/m68k/predicates.md (const_call_operand): Say that this
+       predicate applies to sibling calls too.
+       (sibcall_operand): New predicate.
+
+2007-03-06  Richard Sandiford  <richard@codesourcery.com>
+
+       * config/m68k/m68k.md (movsf_cf_soft): Provide the same non-mov3q
+       alternatives as movsi_cf.
+       (movsf_cf_hard): Add commentary.
+
+2007-03-06  Kazu Hirata  <kazu@codesourcery.com>
+           Richard Sandiford  <richard@codesourcery.com>
+
+       * config/m68k/m68k-protos.h (m68k_interrupt_function_p): Declare.
+       (m68k_movem_pattern_p, m68k_output_movem): Likewise.
+       (m68k_expand_prologue, m68k_expand_epilogue): Likewise.
+       * config/m68k/m68k.h (EPILOGUE_USES): Define.  Treat all registers
+       as being live on exit from an interrupt function.
+       (PRINT_OPERAND_PUNCT_VALID_P): Return true for '?'.
+       * config/m68k/m68k.c (MIN_MOVEM_REGS, MIN_FMOVEM_REGS): New macros.
+       (m68k_frame): Remove reg_rev_mask and fpu_rev_mask.
+       (TARGET_ASM_FUNCTION_PROLOGUE, TARGET_ASM_FUNCTION_EPILOGUE): Delete.
+       (m68k_interrupt_function_p): Globalize.
+       (m68k_compute_frame_layout): Remove reverse mask code.
+       (m68k_emit_movem, m68k_set_frame_related): New functions.
+       (m68k_output_function_prologue): Delete in favor of...
+       (m68k_expand_prologue): ...this new function.
+       (m68k_output_function_epilogue): Delete in favor of...
+       (m68k_expand_epilogue): ...this new function.
+       (m68k_split_offset, m68k_movem_pattern_p, m68k_output_movem): New
+       functions.
+       (print_operand): Handle %?.
+       * config/m68k/m68k.md (UNSPEC_SIN, UNSPEC_COS): Remove excess space.
+       (UNSPEC_GOT, A1_REG, PIC_REG, FP0_REG): New constants.
+       (prologue, epilogue): New patterns.
+       (return): Turn into a define_expand.
+       (*return): New pattern, derived from old "return" pattern.  Use rte
+       rather than rts for interrupt functions.  Only use rtd if the pop
+       count is nonzero.
+       (*m68k_store_multiple, *m68k_store_multiple_automod): New patterns.
+       (*m68k_load_multiple, *m68k_load_multiple_automod): Likewise.
+       (link, *link, unlink, *unlink, load_got): Likewise.
+
+2007-03-06  Richard Sandiford  <richard@codesourcery.com>
+
+       PR target/23482
+       PR target/17114
+       * config/m68k/m68k-protos.h (m68k_legitimate_base_reg_p): Declare.
+       (m68k_legitimate_index_reg_p, m68k_legitimate_address_p): Likewise.
+       (m68k_matches_q_p, m68k_matches_u_p): Likewise.
+       * config/m68k/m68k.h (EXTRA_CONSTRAINT): Use m68k_matches_q_p
+       and m68k_matches_u_p.
+       (PCREL_GENERAL_OPERAND_OK, LEGITIMATE_BASE_REG_P): Delete.
+       (INDIRECTABLE_1_ADDRESS_P, GO_IF_NONINDEXED_ADDRESS): Delete.
+       (GO_IF_INDEXABLE_BASE, GO_IF_INDEXING, GO_IF_INDEXED_ADDRESS): Delete.
+       (LEGITIMATE_INDEX_REG_P, LEGITIMATE_INDEX_P): Delete.
+       (GO_IF_COLDFIRE_FPU_LEGITIMATE_ADDRESS): Delete.
+       (REG_STRICT_P): New macro.
+       (LEGITIMATE_PIC_OPERAND_P): Use REG_STRICT_P rather than
+       PCREL_GENERAL_OPERAND_OK.
+       (REG_OK_FOR_BASE_P): Merge definitions.  Use REG_STRICT_P and
+       m68k_legitimate_base_reg_p.
+       (REG_MODE_OK_FOR_INDEX_P): Likewise m68k_legitimate_index_reg_p.
+       (GO_IF_LEGITIMATE_ADDRESS): Likewise m68k_legitimate_address_p.
+       (PIC_CASE_VECTOR_ADDRESS): Update comment.
+       * config/m68k/m68k.c (m68k_address): New structure.
+       (m68k_legitimate_base_reg_p, m68k_legitimate_index_reg_p)
+       (m68k_decompose_index, m68k_legitimate_constant_address_p)
+       (m68k_jump_table_ref_p, m68k_decompose_address)
+       (m68k_legitimate_address_p, m68k_legitimate_mem_p, m68k_matches_q_p)
+       (m68k_matches_u_p): New functions.
+       (print_operand_address): Rewrite to use m68k_decompose_index.
+
+2007-03-05  David Taylor  <dtaylor@emc.com>
+
+       * gcc.c: Correct copyright date in --version output.
+
+2007-03-05  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       * pa.md: In unamed move patterns, disparge copies between general
+       and floating point registers using '?' modifier.  Don't include 'f'
+       constraint for register preferences in DImode, SImode, HImode and
+       QImode patterns.  Likewise for 'r' in DFmode and SFmode patterns.
+       Remove constraints for copies between general and floating registers
+       in soft-float DFmode pattern.
+       (movdf): Fail if operand1 is a CONST_DOUBLE and operand0 is a hard
+       floating register.
+       (movsf): Likewise. 
+
+2007-03-05  Mike Stump  <mrs@apple.com>
+
+       * c-common.c (targetcm): Add.   
+       * c-opts.c (c_common_handle_option): Handle language specific
+       target options.
+       * opts.c (handle_option): Verify language for target options, if
+       any are given.
+       * opth-gen.awk: Add CL_LANG_ALL.
+       * target-def.h (TARGET_HANDLE_C_OPTION): Add.
+       (TARGETCM_INITIALIZER): Add.
+       * target.h (struct gcc_targetcm): Add.
+       (targetcm): Add.
+       * targhooks.c (default_handle_c_option): Add.
+       * targhooks.h (default_handle_c_option): Add.
+       * doc/tm.texi (TARGET_HANDLE_C_OPTION): Add.
+
+       * config/darwin.opt (iframework): Add.
+       * config/darwin.h (TARGET_HAS_TARGETCM): Add.
+       * config/darwin-c.c (handle_c_option): Add.
+       (TARGET_HANDLE_C_OPTION): Add.
+       (targetcm): Add.
+       * doc/invoke.texi (Darwin Options): Add -iframework.
+
+2007-03-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * convert.c (convert_to_integer): Fix nearbyint/rint -> *lrint
+       conversion.
+
+2007-03-05  Ian Lance Taylor  <iant@google.com>
+
+       * c.opt (fgnu89-inline): New option.
+       * c-opts.c (c_common_post_options): Set default value for
+       flag_gnu89_inline.
+       * c-decl.c (WANT_C99_INLINE_SEMANTICS): Remove.
+       (pop_scope): Check flag_gnu89_inline rather than flag_isoc99 for
+       inline functions.
+       (diagnose_mismatched_decls, merge_decls, start_decl): Likewise.
+       (grokdeclarator, start_function): Likewise.
+       * c-cppbuiltin.c (c_cpp_builtins): Define either
+       __GNUC_GNU_INLINE__ or __GNUC_STDC_INLINE__.
+       * doc/invoke.texi (Option Summary): Mention -fgnu89-inline.
+       (C Dialect Options): Document -fgnu89-inline.
+       * doc/extend.texi (Function Attributes): Explain what the
+       gnu_inline attribute does.
+       * doc/cpp.texi (Common Predefined Macros): Document
+       __GNUC_GNU_INLINE__ and __GNUC_STDC_INLINE__.
+
+2007-03-05  Ian Lance Taylor  <iant@google.com>
+
+       PR tree-optimization/31034
+       * tree-vrp.c (extract_range_from_assert): Don't try to handle a
+       half-range if the other side is an overflow infinity.
+
+2007-03-05  Bernd Schmidt  <bernd.schmidt@analog.com>
+
+       * config.gcc (bfin*-uclinux*): Use t-bfin-uclinux.
+       (bfin*-linux-uclibc*): New configuration.
+       * config/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Undefined before
+       defining.
+       * config/bfin/linux.h: New file.
+       * config/bfin/libgcc-bfin.ver: New file.
+       * config/bfin/t-bfin-uclinux: New file.
+       * config/bfin/t-bfin-linux: New file.
+       * config/bfin/uclinux.h (LINUX_TARGET_OS_CPP_BUILTINS): New macro.
+       (TARGET_OS_CPP_BUILTINS): New macro.
+
+2007-03-05  Richard Guenther  <rguenther@suse.de>
+
+       * fold-const.c (fold_binary): Remove duplicate folding
+       of comparison of non-null ADDR_EXPR against null.
+
+2007-03-05  Richard Guenther  <rguenther@suse.de>
+           Dorit Nuzman  <dorit@il.ibm.com>
+
+       PR tree-optimization/26420
+       * tree-vectorizer.c (vectorize_loops): Bail out early if there
+       are no loops in the function.  Only print the number of
+       vectorized loops if it is greater than zero or we are supposed
+       to print information about unvectorized loops.
+
+2007-03-05  Revital Eres  <eres@il.ibm.com>
+
+       * gcc.dg/var-expand1.c: New test.
+       * loop-unroll.c (analyze_insn_to_expand_var): Add dump info
+       when an accumulator is expanded.
+
+2007-03-04  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
+
+       PR other/30465
+       * c-common.c (convert_and_check): Don't give warnings for
+       conversion if 'expr' already overflowed.
+       
+2007-03-04  Roger Sayle  <roger@eyesopen.com>
+
+       PR middle-end/30744
+       * fold-const.c (fold_comparison): Enforce type consistency when
+       transforming ~X op ~Y to Y op X, and ~X op C to X op' ~C.
+
+2007-03-04  Zdenek Dvorak  <dvorakz@suse.cz>
+
+       * tree-ssa-address.c (create_mem_ref): Do not put an expression
+       containing a cast to the base of TARGET_MEM_REF.
+
+2007-03-04  Martin Michlmayr  <tbm@cyrius.com>
+
+       * tree.c (tree_contains_struct_check_failed): Remove spurious
+       whitespace from error message.
+
+2007-03-04 Andrew Pinski <andrew_pinski@playstation.sony.com>
+
+       PR target/30406
+       * config/rs6000/rs6000.c (rs6000_function_value): Look at bit size
+       instead of precision.
+
+2007-03-04  Roman Zippel <zippel@linux-m68k.org>
+           Nathan Sidwell  <nathan@codesourcery.com>
+
+       * emit-rtl.c (find_auto_inc): New.
+       (try_split): recreate REG_INC notes,
+       Use regular for loops rather than whiles.
+
+2007-03-03  Andreas Schwab  <schwab@suse.de>
+
+       * configure.ac (HAVE_AS_REL16): Move test back to correct place.
+       * configure: Regenerate.
+
+2007-03-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * builtins.def (ATTR_MATHFN_FPROUNDING): Rely on
+       flag_rounding_math, not flag_unsafe_math_optimizations.
+
+       * c-pretty-print.c (pp_c_direct_abstract_declarator): Use
+       fold_build2.
+       * config/alpha/alpha.c (alpha_fold_builtin_zapnot,
+       alpha_fold_vector_minmax): Likewise.
+       * config/i386/i386.c (ix86_gimplify_va_arg): Likewise.
+       * config/sparc/sparc.c (sparc_gimplify_va_arg): Likewise.
+
+2007-03-02  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * tree-sra.c (sra_walk_fns) <ldst>: Document new restriction.
+       (sra_walk_modify_expr) <rhs_elt>: Treat the reference as a use
+       if the lhs has side-effects.
+       <lhs_elt>: Treat the reference as a use if the rhs has side-effects.
+
+2007-03-02  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.h (TUNEMASK): Remove define.
+       (ARCHMASK): Remove define.
+       (TARGET_*): Use ix86_tune_mask variable instead of TUNEMASK.
+        Use ix86_arch_mask variable instead of ARCHMASK.
+       * config/i386/i386.c (override_options): Ditto.
+       (standard_80387_constant_p): Ditto.
+
+2007-03-02  Ian Lance Taylor  <iant@google.com>
+
+       Used signed infinities in VRP.
+       * tree-vrp.c (uses_overflow_infinity): New static function.
+       (supports_overflow_infinity): New static function.
+       (make_overflow_infinity): New static function.
+       (negative_overflow_infinity): New static function.
+       (positive_overflow_infinity): New static function.
+       (is_negative_overflow_infinity): New static function.
+       (is_positive_overflow_infinity): New static function.
+       (is_overflow_infinity): New static function.
+       (overflow_infinity_range_p): New static function.
+       (compare_values_warnv): New function split out of compare_values.
+       (compare_value): Call it.
+       (set_value_range_to_nonnegative): Add overflow_infinity
+       parameter.  Change caller.
+       (vrp_expr_computes_nonnegative): Add strict_overflow_p parameter.
+       Change callers.
+       (vrp_expr_computes_nonzero): Likewise.
+       (compare_ranges, compare_range_with_value): Likewise.
+       (compare_name_with_value, compare_names): Likewise.
+       (vrp_evaluate_conditional): Likewise.
+       (set_value_range): Handle infinity
+       (vrp_operand_equal_p, operand_less_p): Likewise.
+       (extract_range_from_assert): Likewise.
+       (vrp_int_const_binop): Likewise.
+       (extract_range_from_binary_expr): Likewise.
+       (extract_range_from_unary_expr): Likewise.
+       (extract_range_from_comparison): Likewise.
+       (extract_range_from_expr): Likewise.
+       (dump_value_range): Likewise.
+       (vrp_visit_cond_stmt, vrp_visit_phi_node): Likewise.
+       (test_for_singularity): Likewise.
+       (vrp_int_const_binop): Remove inline qualifier.
+       (adjust_range_with_scev): Add comment.
+       * tree-flow.h (vrp_evaluate_conditional): Update declaration.
+
+2007-03-02  Diego Novillo  <dnovillo@redhat.com>
+
+       * tree-ssa-structalias.c (could_have_pointers): Tidy.
+       (get_constraint_for): Likewise.
+       (do_structure_copy): Likewise.
+       (find_func_aliases): Fix references to MODIFY_EXPR.
+       (intra_create_variable_infos): Tidy.
+       * tree-ssa-operands.c (add_virtual_operand): Add argument
+       IS_CALL_SITE.
+       When adding members of alias sets, if IS_CALL_SITE is true and
+       the symbol is not call-clobbered, skip it.
+       Adjust all callers.
+
+2007-03-02  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * config/alpha/alpha.c (alpha_gp_save_rtx): Insert the insns at the
+       entry by means of emit_insn_at_entry.
+
+2007-03-02  Richard Henderson  <rth@redhat.com>
+
+       * expr.h (promoted_input_arg): Remove decl.
+       * function.c (promoted_input_arg): Merge into ...
+       * combine.c (setup_incoming_promotions): ... only caller.
+       Rearrange to avoid double loop.
+
+2007-03-02  Ben Elliston  <bje@au.ibm.com>
+           Peter Bergner  <bergner@vnet.ibm.com>
+           Janis Johnson  <janis187@us.ibm.com>
+
+       * config/rs6000/dfp.md: New file.
+       * config/rs6000/rs6000.md: Include dfp.md.
+       (add<mode>3_internal1): Disable for DECIMAL_FLOAT_MODE_P operands.
+       * config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): Handle DDmode
+       and TDmode decimal float modes in FP registers.
+       (num_insns_constant): Likewise.
+       (rs6000_legitimate_offset_address_p): Likewise.
+       (rs6000_legitimize_address): Likewise.
+       (rs6000_legitimize_reload_address): Likewise.
+       (rs6000_legitimate_address): Likewise.
+       (rs6000_emit_move): Likewise.
+       (function_arg_boundary): Likewise.
+       (function_arg_advance): Likewise.
+       (rs6000_darwin64_record_arg_recurse): Likewise.
+       (function_arg): Likewise.
+       (rs6000_gimplify_va_arg): Likewise.
+       (rs6000_split_multireg_move): Likewise.
+       (rs6000_output_function_epilogue): Likewise.
+       (rs6000_output_function_epilogue): Likewise.
+       (rs6000_register_move_cost): Likewise.
+       (rs6000_function_value): Likewise.
+       (rs6000_libcall_value): Likewise.
+
+2007-03-02  Richard Sandiford  <richard@codesourcery.com>
+
+       * config/t-vxworks (LIMITS_H_TEST): Define to true for VxWorks.
+
+2007-03-02  Richard Sandiford  <richard@codesourcery.com>
+
+       * config/t-vxworks (LIBGCC2_INCLUDES): Pass -nostdinc.
+       Use $MULTIDIR to choose between the kernel and RTP headers,
+       and use $WIND_BASE and $WIND_USR to locate them.
+
+2007-03-02  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.c (override_options): Put initialization of
+       ix86_tune_mask and ix86_arch_mask to the correct place.
+
+2007-03-02  Uros Bizjak  <ubizjak@gmail.com>
+           Michael Meissner  <michael.meissner@amd.com>
+
+       PR target/31019
+       * config/i386/i386.h (TUNEMASK): Redefine to use ix86_tune_mask.
+       (ARCHMASK): Define.
+       (TARGET_CMOVE): Use ARCHMASK.
+       (TARGET_CMPXCHG): Ditto.
+       (TARGET_CMPXCHG8B): Ditto.
+       (TARGET_XADD): Ditto.
+       (TARGET_BSWAP): Ditto.
+       * config/i386/i386.c (ix86_tune_mask): New global variable.
+       (ix86_arch_mask): Ditto.
+       (override_options): Initialize ix86_tune_mask and
+       ix86_arch_mask. Use ARCHMASK to clear MASK_NO_FANCY_MATH_387 in
+       target_flags.
+
+2007-03-02  Ben Elliston  <bje@au.ibm.com>
+
+       PR 30992
+       * config/dfp-bit.c (DFP_TO_INT): Initialise qval with "1.".
+
+2007-03-02  Joseph Myers  <joseph@codesourcery.com>
+
+       * target.h (init_dwarf_reg_sizes_extra): New target hook.
+       * target-def.h (TARGET_INIT_DWARF_REG_SIZES_EXTRA): New default.
+       * doc/tm.texi (TARGET_INIT_DWARF_REG_SIZES_EXTRA): Document.
+       * dwarf2out.c (expand_builtin_init_dwarf_reg_sizes): Call this
+       hook.
+       * config/rs6000/rs6000.c (TARGET_INIT_DWARF_REG_SIZES_EXTRA,
+       rs6000_init_dwarf_reg_sizes_extra): New.
+       * config/rs6000/linux-unwind.h (ppc_fallback_frame_state): Support
+       SPE register high parts.
+
+2007-03-01  Brooks Moses  <brooks.moses@codesourcery.com>
+
+       * Makefile.in: Add install-pdf target as
+       copied from automake v1.10 rules.
+       * configure.ac: Add install-pdf to target list.
+       * configure: Regenerate.
+
+2007-03-01  Paul Brook  <paul@codesourcery.com>
+
+       * config/arm/arm.c (arm_legitimate_index_p): Limit iWMMXt addressing
+       modes to LDRD for DImode.
+       (output_move_double): Fixup out of range ldrd/strd.
+       (vfp_secondary_reload_class): Rename...
+       (coproc_secondary_reload_class): ... to this.  Add wb argument.
+       * config/arm/arm.h (SECONDARY_OUTPUT_RELOAD_CLASS): Use
+       coproc_secondary_reload_class for CLASS_IWMMXT.
+       (SECONDARY_INPUT_RELOAD_CLASS): Ditto.
+       * arm-protos.h (coproc_secondary_reload_class): Update prototype.
+
+2007-03-01  Zdenek Dvorak  <dvorakz@suse.cz>
+
+       * tree-ssa-loop-prefetch.c (determine_unroll_factor):  Bound the unroll
+       factor by the estimated number of iterations.
+       (loop_prefetch_arrays): Do not prefetch in loops that iterate less than
+       prefetch latency.
+
+       * config/i386/driver-i386.c (describe_cache, detect_caches_amd,
+       decode_caches_intel, detect_caches_intel): New functions.
+       (host_detect_local_cpu): Use detect_caches_amd and
+       detect_caches_intel.
+
+2007-03-01  Richard Henderson  <rth@redhat.com>
+
+       * expr.c (emit_move_complex_push): Export.
+       (emit_move_complex_parts): Split out from ...
+       (emit_move_complex): ... here.
+       * expr.h (emit_move_complex_push, emit_move_complex_parts): Declare.
+       * config/i386/i386.md (movcdi): New.
+
+2007-03-01  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.c (ix86_modes_tieable_p): Fix typo, use also
+       size of mode1 to check for tieable modes in MMX case.
+
+2007-03-01  Richard Sandiford  <richard@codesourcery.com>
+
+       * Makefile.in (rtlanal.o): Depend on tree.h.
+       * rtl.h (offset_within_section_p, split_const): Declare.
+       * rtlanal.c: Include tree.h.
+       (offset_within_block_p): New function, taken from
+       mips_offset_within_object_p.
+       (split_const): New function, taken from mips_split_const.
+       * config/m68k/m68k-protos.h (m68k_illegitimate_symbolic_constant_p):
+       Declare.
+       * config/m68k/m68k.h (M68K_OFFSETS_MUST_BE_WITHIN_SECTIONS_P): Define.
+       (CONSTANT_ADDRESS_P): Only accept legitimate constants.
+       (LEGITIMATE_CONSTANT_P): Check m68k_illegitimate_symbolic_constant_p.
+       * config/m68k/m68k.c (TARGET_CANNOT_FORCE_CONST_MEM): Define.
+       (m68k_illegitimate_symbolic_constant_p): New function.
+       * config/m68k/m68k.md (movsi): Remove misleading predicates.
+       If M68K_OFFSETS_MUST_BE_WITHIN_SECTIONS_P and the source is a
+       symbolic constant that might be outside the symbol's section,
+       move the symbol first and then add the offset.
+       * config/m68k/uclinux.h (M68K_OFFSETS_MUST_BE_WITHIN_SECTIONS_P):
+       Override.
+       * config/mips/mips.c (mips_split_const): Delete.
+       (mips_offset_within_object_p): Delete.
+       (mips_symbolic_constant_p): Use offset_within_section_p and
+       split_const instead of mips_offset_within_object_p and
+       mips_split_const.
+       (mips_cannot_force_const_mem, mips_const_insns, mips_unspec_address)
+       (mips_legitimize_const_move, print_operand_reloc)
+       (mips_dangerous_for_la25_p): Use split_const instead of
+       mips_split_const.
+
+2007-02-28  Eric Christopher  <echristo@apple.com>
+
+       * Makefile.in (install-include-dir): Don't rm -rf include.
+
+2007-02-28  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/30364
+       * fold-const.c (fold_binary): Do not associate expressions
+       with more than one variable for integer types that do not wrap.
+
 2007-02-28  Sandra Loosemore  <sandra@codesourcery.com>
 
        * builtins.c (fold_builtin_call_list, fold_builtin_call_valist):
 
        * calls.c (emit_library_call_value_1): Handle partial registers
        correctly when building up CALL_INSN_FUNCTION_USAGE.
-       
+
 2007-02-27  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
 
        * pa/predicates.md (move_src_operand): Allow zero for mode.
 
        * loop-iv.c (simplify_using_initial_values): Fix oversight in previous
        change; avoid a memory leak when returning early.
-       
+
 2007-02-26  Mark Mitchell  <mark@codesourcery.com>
 
        * c-decl.c (static_ctors): Move to c-common.c.
 2007-02-22  Ira Rosen  <irar@il.ibm.com>
 
        PR tree-optimization/30843
-       * tree-vect-transform.c (vect_transform_loop): Remove strided scalar 
+       * tree-vect-transform.c (vect_transform_loop): Remove strided scalar
        stores only after all the group is vectorized.
 
 2007-02-22  Dorit Nuzman  <dorit@il.ibm.com>