+2007-04-01 Richard Henderson <rth@redhat.com>
+
+ PR tree-optimization/31169
+ * tree-vrp.c (extract_range_from_binary_expr) <RSHIFT_EXPR>: Drop
+ to varying if the range is outside [0, prec-1].
+
+2007-04-01 Richard Sandiford <richard@codesourcery.com>
+
+ PR target/31388
+ * config/mips/mips.md (load_const_gp): New insn.
+ * config/mips/mips.c (mips_split_symbol): Avoid using or creating
+ the MIPS16 GP pseudo register if no_new_pseudos.
+ (mips16_gp_pseudo_reg): Use gen_load_const_gp.
+
+2007-03-31 Andrew Pinski <andrew_pinski@playstation.sony.com>
+
+ PR target/31364
+ * config/rs6000/rs6000.md (call): Convert to LR hard reg for
+ secureplt.
+ (call_value): Likewise.
+
+2007-03-31 Wolfgang Bangerth <bangerth@dealii.org>
+ Manuel Lopez-Ibanez <manu@gcc.gnu.org>
+
+ PR 14737
+ * doc/invoke.texi: (optimization options): Reword description
+ of -ffast-math. Document its primary purpose.
+
+2007-03-31 Richard Guenther <rguenther@suse.de>
+
+ * omp-low.c (splay-tree.h): Include.
+ (lookup_decl): Replace splay-tree usage by pointer-map.
+ (maybe_lookup_decl): Likewise.
+ (new_omp_context): Likewise.
+ (delete_omp_context): Likewise.
+ * gimplify.c (splay-tree.h): Include.
+ * tree-inline.c (insert_decl_map): Replace splay-tree usage by
+ pointer-map.
+ (remap_ssa_name): Likewise.
+ (remap_decl): Likewise.
+ (remap_type_1): Likewise.
+ (remap_type): Likewise.
+ (copy_body_r): Likewise.
+ (expand_call_inline): Likewise.
+ (clone_body): Likewise.
+ (copy_tree_r): Likewise.
+ (remap_save_expr): Likewise.
+ (unsave_r): Likewise.
+ (unsave_expr_now): Likewise.
+ (tree_function_versioning): Likewise.
+ (build_duplicate_type): Likewise.
+ * tree-inline.h (pointer-set.h): Include instead of splay-tree.h.
+ (struct copy_body_data): Replace splay-tree by pointer-map.
+ * Makefile.in (TREE_INLINE_H): Depend on pointer-map.h,
+ not $(SPLAY_TREE_H).
+ (gimplify.o): Depend on $(SPLAY_TREE_H).
+ (omp-low.p): Likewise.
+
+2007-03-31 Anatoly Sokolov <aesok@post.ru>
+
+ * config/avr/predicates.md (even_register_operand,
+ odd_register_operand): New predicates.
+ * config/avr/avr.md (movw peephole2): New.
+ (movw_r peephole2): New.
+
+2007-03-30 Rafael Avila de Espindola <espindola@google.com>
+
+ * tree.h (get_signed_or_unsigned_type): New.
+ * fold-const.c (operand_equal_for_comparison_p): Use
+ get_signed_or_unsigned_type instead of
+ lang_hooks.types.signed_or_unsigned_type.
+ * expr.c (store_expr): Ditto.
+ * langhooks.c (get_signed_or_unsigned_type): New.
+ (lhd_signed_or_unsigned_type): New.
+ * langhooks.h (lhd_signed_or_unsigned_type): New.
+ * langhooks-def.h (LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): Define.
+
+2007-03-30 Richard Henderson <rth@redhat.com>
+
+ * tree-ssa-loop-ivopts.c: Include target.h.
+ (produce_memory_decl_rtl): Pass the rtx through encode_section_info.
+ (get_address_cost): Force SYMBOL_FLAG_LOCAL set.
+ (force_expr_to_var_cost): Use produce_memory_decl_rtl.
+ * Makefile.in (tree-ssa-loop-ivopts.o): Depend on TARGET_H.
+
+2007-03-30 Richard Henderson <rth@redhat.com>
+ Kai Tietz <kai.tietz@onevision.com>
+
+ * config/i386/cygming.h (DWARF2_DEBUGGING_INFO): Enable by
+ default for 64-bit.
+ (PREFERRED_DEBUGGING_TYPE): Prefer dwarf2 for 64-bit.
+ (TARGET_64BIT_MS_ABI): New.
+ (DBX_REGISTER_NUMBER): Handle 64-bit.
+ (SIZE_TYPE, PTRDIFF_TYPE): Use long long for 64-bit.
+ (LONG_TYPE_SIZE): Force to 32.
+ (REG_PARM_STACK_SPACE): New.
+ (OUTGOING_REG_PARM_STACK_SPACE): New.
+ (REGPARM_MAX, SSE_REGPARM_MAX): New.
+ (HANDLE_PRAGMA_PUSH_POP_MACRO): New.
+ (STACK_BOUNDARY): Use 128 for 64-bit.
+ * config/i386/cygwin.asm: Use push/ret to preserve call stack.
+ Add 64-bit implementation.
+ * config/i386/gthr-win32.c (__gthr_win32_key_create): Mark dtor
+ argument unused.
+ * config/i386/i386.c (x86_64_ms_abi_int_parameter_registers): New.
+ (override_options): Set ix86_cmodel for TARGET_64BIT_MS_ABI.
+ Warn for -mregparm, -mrtd in 64-bit mode; force ix86_regparm
+ for 64-bit; use TARGET_SUBTARGET64_DEFAULT.
+ (ix86_handle_cconv_attribute): Don't warn when ignoring if
+ TARGET_64BIT_MS_ABI.
+ (ix86_function_arg_regno_p): Handle TARGET_64BIT_MS_ABI.
+ (ix86_pass_by_reference): Likewise.
+ (ix86_function_value_regno_p): Likewise.
+ (ix86_build_builtin_va_list): Likewise.
+ (ix86_va_start, ix86_gimplify_va_arg): Likewise.
+ (function_arg_advance_ms_64): New.
+ (function_arg_advance): Call it.
+ (function_arg_ms_64): New.
+ (function_arg): Call it.
+ (function_value_ms_64): New.
+ (ix86_function_value_1): Call it.
+ (return_in_memory_ms_64): New.
+ (ix86_return_in_memory): Call it.
+ (setup_incoming_varargs_ms_64): New.
+ (ix86_setup_incoming_varargs): Call it.
+ (ix86_expand_prologue): Handle 64-bit stack probing.
+ (legitimize_pic_address): Handle TARGET_64BIT_MS_ABI.
+ (output_pic_addr_const): Likewise.
+ (x86_this_parameter): Likewise.
+ (x86_output_mi_thunk): Likewise.
+ (x86_function_profiler): Likewise.
+ (TARGET_STRICT_ARGUMENT_NAMING): New.
+ * config/i386/i386.h (TARGET_SUBTARGET64_DEFAULT): New.
+ (TARGET_64BIT_MS_ABI): New.
+ (CONDITIONAL_REGISTER_USAGE): Handle TARGET_64BIT_MS_ABI.
+ * config/i386/i386.md (allocate_stack_worker): Remove.
+ (allocate_stack_worker_32): Rename from allocate_stack_worker_1;
+ describe the clobber of eax without a match_scratch.
+ (allocate_stack_worker_postreload): Remove.
+ (allocate_stack_worker_64): Rename from allocate_stack_worker_rex64;
+ describe the clobbers of rax, r10, r11 properly; use __chkstk symbol.
+ (allocate_stack_worker_rex64_postreload): Remove.
+ (allocate_stack): Handle 64-bit.
+ * config/i386/i386elf (TARGET_SUBTARGET_DEFAULT): Remove.
+ * config/i386/mingw32.h (TARGET_VERSION): Set correctly for 64-bit.
+ (EXTRA_OS_CPP_BUILTINS): Handle 64-bit.
+ (STANDARD_INCLUDE_DIR): Handle TARGET_64BIT_DEFAULT.
+ (STANDARD_STARTFILE_PREFIX_1): Likewise.
+ * config/i386/unix.h (TARGET_SUBTARGET64_DEFAULT): New.
+ * config.build (x86_64-*-mingw*): New host.
+ * config.host (x86_64-*-mingw*): New host.
+ * config.gcc (x86_64-*-mingw*): New target.
+ * gthr-win32.h (__gthread_key_create): Mark dtor unused.
+
+2007-03-30 Richard Henderson <rth@redhat.com>
+ Kai Tietz <kai.tietz@onevision.com>
+
+ * c-pragma.c (struct def_pragma_macro_value): New.
+ (struct def_pragma_macro): New.
+ (pushed_macro_table): New.
+ (dpm_hash, dpm_eq): New.
+ (handle_pragma_push_macro, handle_pragma_pop_macro): New.
+ (init_pragma): Install them.
+ * doc/tm.texi (HANDLE_PRAGMA_PUSH_POP_MACRO): New.
+
2007-03-30 Anatoly Sokolov <aesok@post.ru>
* config/avr/avr.c (avr_override_options): Clear