OSDN Git Service

PR middle-end/31322
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index ce64d10..55def7e 100644 (file)
+2007-04-13  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       PR middle-end/31322
+       * dwarf2out.c (output_call_frame_info): Call assemble_external_libcall
+       when a personality function is used.
+
+2007-04-13  Bob Wilson  <bob.wilson@acm.org>
+
+       * config/xtensa/xtensa.c (xtensa_expand_builtin): Use CALL_EXPR_FN.
+
+2007-04-13  Mike Stump  <mrs@apple.com>
+
+       * config/darwin-c.c (handle_c_option): Handle -fapple-kext here so
+       we can...
+       * config/darwin.opt (fapple-kext): Make C++ only.
+       * config/darwin.c (darwin_override_options): Remove code to ensure
+       -fapple-kext is given for C++ only.
+
+2007-04-13  Richard Sandiford  <richard@codesourcery.com>
+
+       * config/mips/vxworks.h (SUBTARGET_OVERRIDE_OPTIONS): Define.
+       * config/mips/mips.c (override_options): Call
+       SUBTARGET_OVERRIDE_OPTIONS, if defined.
+
+2007-04-13  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * config/i386/i386.opt (msvr3-shlib): Removed.
+
+       * doc/invoke.texi: Remove -msvr3-shlib.
+
+2007-04-13  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * config/i386/i386.opt (mpopcnt): Replace "popcount" instruction
+       with "popcnt" instruction.
+
+2007-04-13  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/21258
+       * tree-vrp.c (compare_case_labels): New helper.
+       (find_switch_asserts): New function.
+       (find_assert_locations): Call it for SWITCH_EXPRs.
+
+2007-04-13  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.h (X87_FLOAT_MODE_P): Check for TARGET_80387.
+       * config/i386/i386.md (*cmpfp0): Remove check for TARGET_80387, this
+       check is now implied in X87_FLOAT_MODE_P.
+       (*cmpfp_u, *cmpfp_<mode>, *cmpfp_i_i387): Ditto.
+       (*cmpfp_iu_387, fix_trunc<mode>_fisttp_i386_1): Ditto.
+       (fix_trunc<mode>_i386_fisttp): Ditto.
+       (fix_trunc<mode>_i387_fisttp_with_temp): Ditto.
+       (*fix_trunc<mode>_i387_1, fix_truncdi_i387): Ditto.
+       (fix_truncdi_i387_with_temp, fix_trunc<mode>_i387): Ditto.
+       (fix_trunc<mode>_i387_with_temp, *fp_jcc_1_387): Ditto.
+       (*fp_jcc_2_387, *fp_jcc_5_387, *fp_jcc_6_387): Ditto.
+       (*fp_jcc_7_387, *fp_jcc_8<mode>_387): Ditto.
+       (unnamed_splitters): Ditto.
+       * config/i386/i386.c (function_value_32): Generate FIRST_FLOAT_REG
+       for X87_FLOAT_MODE_P mode.  Override FIRST_FLOAT_REG with
+       FIRST_SSE_REG for local functions when SSE math is enabled or
+       for functions with sseregparm attribute.
+       (standard_80387_constant_p): Return -1 if mode is not
+       X87_FLOAT_MODE_P.
+       (ix86_cc_mode): Assert that scalar mode is not DECIMAL_FLOAT_MODE_P.
+       (ix86_expand_compare): Ditto.
+       (ix86_expand_carry_flag_compare): Ditto.
+       (ix86_expand_int_movcc): Check for SCALAR_FLOAT_MODE_P instead
+       of FLOAT_MODE_P for cmp_mode and assert that cmp_mode is not
+       DECIMAL_FLOAT_MODE_P.
+       (ix86_preferred_output_reload_class): Use X87_FLOAT_MODE_P instead
+       of SCALAR_FLOAT_MODE_P.
+       (ix86_rtx_costs) [PLUS] Remove FLOAT_MODE_P and fall through to ...
+       [MINUS]: ... here.  Add SSE_FLOAT_MODE_P and X87_FLOAT_MODE_P
+       checks before FLOAT_MODE_P.
+       [MULT]: Add SSE_FLOAT_MODE_P and X87_FLOAT_MODE_P checks
+       before FLOAT_MODE_P.
+       [DIV]: Ditto.
+       [NEG]: Ditto.
+       [ABS]: Ditto.
+       [SQRT]: Ditto.
+       [FLOAT_EXTEND]: Use SSE_FLOAT_MODE_P.
+
+2007-04-12  Paolo Bonzini  <bonzini@gnu.org>
+            Charles Wilson  <libtool@cwilson.fastmail.fm>
+
+       * Makefile.in (stamp-as, stamp-collect-ld, stamp-nm): Remove.
+       (libgcc.mvars): Don't depend on them.
+       * configure.ac (as, collect-ld, nm): Create from exec-tool.in.
+       * exec-tool.in: New.
+
+2007-04-12  Brooks Moses  <brooks.moses@codesourcery.com>
+
+       * doc/invoke.text (--help): Document --help=common.
+
+2007-04-12  Thomas Neumann  <tneumann@users.sourceforge.net>
+
+       * stub-objc.c (objc_build_keyword_decl): Avoid C++ keywords.
+
+2007-04-12  Richard Sandiford  <richard@codesourcery.com>
+
+       * Makefile.in (insn-emit.o): Depend on $(INTEGRATE_H).
+       * genemit.c (main): Emit #include "integrate.h".
+       * config/mips/mips-protos.h (SYMBOL_HALF): New mips_symbol_type.
+       (LOADGP_RTP): New mips_loadgp_style.
+       * config/mips/mips.h: Include config/vxworks-dummy.h.
+       (TARGET_RTP_PIC): New macro.
+       (TARGET_USE_GOT): Return true for TARGET_RTP_PIC.
+       (TARGET_USE_PIC_FN_ADDR_REG): Return true for TARGET_VXWORKS_RTP.
+       (ASM_OUTPUT_ADDR_DIFF_ELT): Emit function-relative case tables
+       for TARGET_RTP_PIC.
+       * config/mips/vxworks.h (SUBTARGET_ASM_SPEC): Define.  Pass down
+       -mvxworks-pic when using -mrtp and a PIC option.
+       * config/mips/mips.c (mips_classify_symbol): Return SYMBOL_GOT_DISP
+       for RTP PIC.
+       (mips_symbolic_constant_p, mips_symbolic_address_p)
+       (mips_symbol_insns): Handle SYMBOL_HALF.
+       (override_options): Warn about -G and -mrtp being used together.
+       Initialize mips_lo_relocs[SYMBOL_HALF].
+       (mips_current_loadgp_style): Return LOADGP_RTP for RTP PIC.
+       (mips_emit_loadgp): Handle LOADGP_RTP.
+       (mips_in_small_data_p): Return false for TARGET_VXWORKS_RTP.
+       * config/mips/mips.md (loadgp_rtp): New insn and splitter.
+       (tablejump): Handle function-relative case table entries if
+       TARGET_RTP_PIC.
+       * config/mips/predicates.md (symbol_ref_operand): New predicate.
+
+2007-04-12  Richard Sandiford  <richard@codesourcery.com>
+
+       * config/mips/mips.md (load_call<mode>): Allow any general register.
+       destination.
+       (sibcall_value_internal, sibcall_value_multiple_internal)
+       (call_value_internal, call_value_split, call_value_multiple_internal)
+       (call_value_multiple_split): Remove constraints from operand 0.
+
+2007-04-12  Richard Sandiford  <richard@codesourcery.com>
+
+       * config/mips/mips-protos.h: In comments, refer to loadgp_absolute
+       rather than loadgp_noshared.
+       * config/mips/mips.c (mips_emit_loadgp): Use gen_loadgp_absolute
+       instead of gen_loadgp_noshared.  Use gen_loadgp_newabi instead of
+       gen_loadgp.
+       * config/mips/mips.md (loadgp): Rename to...
+       (loadgp_newabi): ...this.
+       (loadgp_noshared): Rename to...
+       (loadgp_absolute): ...this.
+
+2007-04-12  Richard Sandiford  <richard@codesourcery.com>
+
+       * config/mips/mips.c (mips_ok_for_lazy_binding_p): Always return
+       false for locally-binding symbols.
+       (mips_dangerous_for_la25_p): Check mips_global_symbol_p.
+
+2007-04-12  Richard Sandiford  <richard@codesourcery.com>
+
+       * config/mips/mips-protos.h (SYMBOL_GOT_LOCAL): Rename to...
+       (SYMBOL_GOT_PAGE_OFST): ...this.
+       (SYMBOL_GOT_GLOBAL): Rename to...
+       (SYMBOL_GOT_DISP): ...this.
+       (SYMBOL_GOTOFF_GLOBAL): Rename to...
+       (SYMBOL_GOTOFF_DISP): ...this.  Update comments accordingly.
+       * config/mips/mips.c (mips_global_symbol_p): New function.
+       (mips_symbol_binds_local_p): Likewise.
+       (mips_classify_symbol): Rename SYMBOL_GOT_GLOBAL to SYMBOL_GOT_DISP
+       and SYMBOL_GOT_LOCAL to SYMBOL_GOT_PAGE_OFST.  Use mips_global_symbol_p
+       and mips_symbol_binds_local_p.
+       (mips_symbolic_constant_p, mips_symbolic_address_p, mips_symbol_insns)
+       (override_options): Rename SYMBOL_GOT_GLOBAL to SYMBOL_GOT_DISP,
+       SYMBOL_GOT_LOCAL to SYMBOL_GOT_PAGE_OFST and SYMBOL_GOTOFF_GLOBAL to
+       SYMBOL_GOTOFF_DISP.
+       (mips_ok_for_lazy_binding_p): New function.
+       (mips_load_call_address, mips_expand_call): Use it.
+       (mips_dangerous_for_la25_p): Likewise.
+       * config/mips/mips.md (*xgot_hi<mode>, *xgot_lo<mode>)
+       (*got_disp<mode>): Use got_disp_operand instead of
+       global_got_operand.  Use SYMBOL_GOTOFF_DISP instead of
+       SYMBOL_GOTOFF_GLOBAL.
+       (*got_page<mode>): Use got_page_ofst_operand instead of
+       local_got_operand.
+       * config/mips/predicates.md (const_call_insn_operand): Use
+       SYMBOL_GOT_DISP instead of SYMBOL_GOT_GLOBAL.
+       (global_got_operand): Rename to...
+       (got_disp_operand): ...this and use SYMBOL_GOT_DISP instead of
+       SYMBOL_GOT_GLOBAL.
+       (local_got_operand): Rename to...
+       (got_page_ofst_operand): ...this and use SYMBOL_GOT_PAGE_OFST instead
+       of SYMBOL_GOT_LOCAL.
+
+2007-04-12  Richard Sandiford  <richard@codesourcery.com>
+
+       * config/mips/mips.h (TARGET_SPLIT_CALLS): Check
+       TARGET_CALL_CLOBBERED_GP.
+       (TARGET_SIBCALLS): Check TARGET_USE_GOT instead of TARGET_ABICALLS.
+       (TARGET_USE_GOT, TARGET_CALL_CLOBBERED_GP): New macros.
+       (TARGET_CALL_SAVED_GP, TARGET_USE_PIC_FN_ADDR_REG): Likewise.
+       (STARTING_FRAME_OFFSET): Check TARGET_CALL_CLOBBERED_GP instead
+       of TARGET_ABICALLS && !TARGET_NEWABI.
+       (MIPS_CALL): Check TARGET_USE_GOT instead of TARGET_ABICALLS.
+       * config/mips/mips.c (mips_load_call_address): Check
+       TARGET_CALL_SAVED_GP instead of TARGET_NEWABI.
+       (mips_global_pointer): Check TARGET_USE_GOT instead of TARGET_ABICALLS.
+       Check TARGET_CALL_SAVED_GP instead of TARGET_NEWABI.
+       (mips_save_reg_p): Check TARGET_CALL_SAVED_GP instead of
+       TARGET_ABICALLS && TARGET_NEWABI.
+       (mips_current_loadgp_style): Check TARGET_USE_GOT instead of
+       TARGET_ABICALLS.
+       (mips_expand_prologue): Check TARGET_OLDABI instead of !TARGET_NEWABI.
+       (mips_expand_epilogue): Check TARGET_CALL_SAVED_GP instead of
+       TARGET_ABICALLS && TARGET_NEWABI.
+       (mips_output_mi_thunk): Check TARGET_USE_GOT instead of
+       TARGET_ABICALLS.  Check TARGET_CALL_SAVED_GP instead of
+       TARGET_NEWABI.  Use TARGET_USE_PIC_FN_ADDR_REG to decide
+       whether indirect calls must use $25.
+       (mips_extra_live_on_entry): Check TARGET_GOT instead of
+       TARGET_ABICALLS.
+       * config/mips/mips.md (jal_macro): Check flag_pic and
+       TARGET_CALL_CLOBBERED_GP instead of TARGET_ABICALLS and TARGET_NEWABI.
+       (builtin_setjmp_setup, builtin_longjmp): Check TARGET_USE_GOT
+       instead of TARGET_ABICALLS.
+       (exception_receiver): Check TARGET_CALL_CLOBBERED_GP instead of
+       TARGET_ABICALLS && TARGET_OLDABI.
+       (load_call<mode>): Check TARGET_USE_GOT instead of TARGET_ABICALLS.
+       (sibcall): In the comment above the define_insn, mention
+       TARGET_USE_PIC_FN_ADDR_REG instead of TARGET_ABICALLS.
+       * config/mips/constraints.md (c): Check TARGET_USE_PIC_FN_ADDR_REG
+       instead of TARGET_ABICALLS.
+
+2007-04-12  Bernd Schmidt  <bernd.schmidt@analog.com>
+
+       * doc/md.texi (Blackfin family constraints): Document PA and PB.
+       * config/bfin/bfin.h (CONST_OK_FOR_P): Handle PA and PB.
+       (MACFLAGS_MATCH_P): New macro.
+       * config/bfin/bfin.c (print_operand): Handle MACFLAG_IS_M.
+       (bfin_secondary_reload): Treat EVEN_AREGS and ODD_AREGS like AREGS.
+       * config/bfin/bfin.md (MACFLAG_IS_M): New constant.  Renumber some of
+       the other MACFLAG constants.
+       (sum_of_accumulators, lshrpdi3, ashrpdi3): New patterns.
+       (flag_machi): Tighten constraints.  Renumber some of the operands.
+       (flag_machi_acconly): Tighten constraints.  Correct operand numbers in
+       output template.
+       (flag_machi_parts_acconly): New pattern.
+       (flag_macinithi): Tighten constraints.  Allow any accumulator to be
+       used.
+       (flag_macinit1hi): Tighten constraints.
+       (flag_mul_macv2hi_parts_acconly): New pattern.
+
+       * config/bfin/lib1funcs.asm (___umulsi3_highpart, __smulsi3_highpart):
+       Use a more efficient implementation.
+       * config/bfin/bfin.md (umulsi3_highpart, smulsi3_highpart): Emit
+       inline sequences when not optimizing for size.
+
+       * config/bfin/bfin.md (movhi_low2high, movhi_high2high, movhi_low2low,
+       movhi_high2low): Delete, merge functionality into...
+       (packv2hi): ... this pattern.
+
+       2007-02-11  Jie Zhang  <jie.zhang@analog.com>
+       * config/bfin/bfin.opt (msim): New option.
+       (mcpu=): New option.
+       * config/bfin/bfin-protos.h (enum bfin_cpu): New.
+       (bfin_cpu_t): Typedef of enum bfin_cpu.
+       (bfin_cpu_type): New declaration.
+       * config/bfin/elf.h (STARTFILE_SPEC): Add support for
+       -msim and -mcpu= options.
+       (LIB_SPEC): Likewise.
+       * config/bfin/bfin.c (bfin_cpu_type): Define.
+       (bfin_handle_option): Handle -mcpu= option.
+       * config/bfin/bfin.h (DEFAULT_CPU_TYPE): Define as BFIN_CPU_BF532.
+       (TARGET_CPU_CPP_BUILTINS): Define __ADSPBF531__, __ADSPBF532__,
+       __ADSPBF533__ or __ADSPBF537__ according to the cpu type.
+
+2007-04-12  Richard Sandiford  <richard@codesourcery.com>
+
+       * config.gcc (*-*-vxworks*): Don't add to tm_files in this stanza.
+       (arm-wrs-vxworks, mips-wrs-vxworks, powerpc-wrs-vxworks)
+       (powerpc-wrs-vxworksae): Use ${tm_file}.
+       (i[4567]86-wrs-vxworks, i[4567]86-wrs-vxworksae): Add svr4.h
+       after elfos.h.  Remove i386/sysv4.h and add i386/vx-common.h.
+       * config/i386/vx-common.h: New file.
+
+2007-04-12  Richard Sandiford  <richard@codesourcery.com>
+
+       * config/vxworks.h (VXWORKS_STARTFILE_SPEC): Use -l:crt0.o instead
+       of crt0.o%s.
+
+2007-04-12  Andreas Krebbel  <krebbel1@de.ibm.com>
+
+       * config/s390/s390.md ("trunctddd2"): Use TDmode for the target of
+       ldxtr.
+
+2007-04-12  Douglas Gregor  <doug.gregor@gmail.com>
+
+       PR c++/31078
+       PR c++/31103
+       * c-common.c (c_build_qualified_type): Set canonical type
+       appropriately.  
+
+2007-04-12  Richard Guenther  <rguenther@suse.de>
+
+       * tree-pretty-print.c (dump_generic_node): Print ARRAY_REF
+       lower bound and element size if lower bound is not zero
+       or either of the ARRAY_REF operands is set.
+
+2007-04-12  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/24689
+       PR tree-optimization/31307
+       * fold-const.c (operand_equal_p): Compare INTEGER_CST array
+       indices by value.
+       * gimplify.c (canonicalize_addr_expr): To be consistent with
+       gimplify_compound_lval only set operands two and three of
+       ARRAY_REFs if they are not gimple_min_invariant.  This makes
+       it never at this place.
+       * tree-ssa-ccp.c (maybe_fold_offset_to_array_ref): Likewise.
+
+2007-04-11  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       * pa.c (pa_som_asm_init_sections): Ensure that cfun->machine is not
+       null before emitting a .nsubspa directive.
+
+2007-04-11  Diego Novillo  <dnovillo@redhat.com>
+
+       * tree-ssa-alias.c (dump_mem_ref_stats): Do not call
+       need_to_partition_p if there are no memory statements in the
+       function.
+
+2007-04-11  Zdenek Dvorak  <dvorakz@suse.cz>
+
+       * tree-data-ref.c (chrec_steps_divide_constant_p): Removed.
+       (gcd_of_steps_may_divide_p): New function.
+       (analyze_miv_subscript): Use gcd_of_steps_may_divide_p.
+
+2007-04-11  Bernd Schmidt  <bernd.schmidt@analog.com>
+
+       * reload.c (find_reloads_toplev, find_reloads_address,
+       find_reloads_address_1, find_reloads_subreg_address): Use rtx_equal_p,
+       not a pointer equality test, to decide if we need to call
+       push_reg_equiv_alt_mem.
+
+2007-04-11  Sebastian Pop  <sebastian.pop@inria.fr>
+
+       * tree-data-ref.c (affine_function_zero_p, constant_access_functions,
+       insert_innermost_unit_dist_vector, add_distance_for_zero_overlaps): New.
+       (build_classic_dist_vector): Call add_distance_for_zero_overlaps.
+
+2007-04-11  Zdenek Dvorak  <dvorakz@suse.cz>
+
+       * tree-data-ref.c (add_multivariate_self_dist): Force the distance
+       vector to be positive.
+
+2007-04-11  Diego Novillo  <dnovillo@redhat.com>
+
+       PR 30735
+       PR 31090
+       * doc/invoke.texi: Document --params max-aliased-vops and
+       avg-aliased-vops.
+       * tree-ssa-operands.h (get_mpt_for, dump_memory_partitions,
+       debug_memory_partitions): Move to tree-flow.h
+       * params.h (AVG_ALIASED_VOPS): Define.
+       * tree-ssa-alias.c (struct mp_info_def): Remove.  Update all
+       users.
+       (mp_info_t): Likewise.
+       (get_mem_sym_stats_for): New.
+       (set_memory_partition): Move from tree-flow-inline.h.
+       (mark_non_addressable): Only clear the set of symbols for the
+       partition if it exists.
+       (dump_memory_partitions): Move from tree-ssa-operands.c
+       (debug_memory_partitions): Likewise.
+       (need_to_partition_p): New.
+       (dump_mem_ref_stats): New.
+       (debug_mem_ref_stats): New.
+       (dump_mem_sym_stats): New.
+       (debug_mem_sym_stats): New.
+       (update_mem_sym_stats_from_stmt): New.
+       (compare_mp_info_entries): New.
+       (mp_info_cmp): Call it.
+       (sort_mp_info): Change argument to a list of mem_sym_stats_t
+       objects.
+       (get_mpt_for): Move from tree-ssa-operands.c.
+       (find_partition_for): New.
+       (create_partition_for): Remove.
+       (estimate_vop_reduction): New.
+       (update_reference_counts): New.
+       (build_mp_info): New.
+       (compute_memory_partitions): Refactor.
+       Document new heuristic.
+       Call build_mp_info, update_reference_counts,
+       find_partition_for and estimate_vop_reduction.
+       (compute_may_aliases): Populate virtual operands before
+       calling debugging dumps.
+       (delete_mem_sym_stats): New.
+       (delete_mem_ref_stats): New.
+       (init_mem_ref_stats): New.
+       (init_alias_info): Call it.
+       (maybe_create_global_var): Remove alias_info argument.
+       Get number of call sites and number of pure/const call sites
+       from gimple_mem_ref_stats().
+       (dump_alias_info): Call dump_memory_partitions first.
+       (dump_points_to_info_for): Show how many times a pointer has
+       been dereferenced.
+       * opts.c (decode_options): For -O2 set --param
+       max-aliased-vops to 500.
+       For -O3 set --param max-aliased-vops to 1000 and --param
+       avg-aliased-vops to 3.
+       * fortran/options.c (gfc_init_options): Remove assignment to
+       MAX_ALIASED_VOPS.
+       * tree-flow-inline.h (gimple_mem_ref_stats): New.
+       * tree-dfa.c (dump_variable): Dump memory reference
+       statistics.
+       Dump NO_ALIAS* settings.
+       (referenced_var_lookup): Tidy.
+       (mem_sym_stats): New.
+       * tree-ssa-copy.c (may_propagate_copy): Return true if DEST
+       and ORIG are different SSA names for a memory partition.
+       * tree-ssa.c (delete_tree_ssa): Call delete_mem_ref_stats.
+       * tree-flow.h (struct mem_sym_stats_d): Define.
+       (mem_sym_stats_t): Define.
+       (struct mem_ref_stats_d): Define.
+       (struct gimple_df): Add field mem_ref_stats.
+       (enum noalias_state): Define.
+       (struct var_ann_d): Add bitfield noalias_state.
+       (mem_sym_stats, delete_mem_ref_stats, dump_mem_ref_stats,
+       debug_mem_ref_stats, debug_memory_partitions,
+       debug_mem_sym_stats): Declare.
+       * tree-ssa-structalias.c (update_alias_info): Update call
+       sites, pure/const call sites and asm sites in structure
+       returned by gimple_mem_ref_stats.
+       Remove local variable IS_POTENTIAL_DEREF.
+       Increase NUM_DEREFS if the memory expression is a potential
+       dereference.
+       Call update_mem_sym_stats_from_stmt.
+       If the memory references memory, call
+       update_mem_sym_stats_from_stmt for all the direct memory
+       symbol references found.
+       (intra_create_variable_infos): Set noalias_state field for
+       pointer arguments according to the value of
+       flag_argument_noalias.
+       * tree-ssa-structalias.h (struct alias_info): Remove fields
+       num_calls_found and num_pure_const_calls_found.
+       (update_mem_sym_stats_from_stmt): Declare.
+       * params.def (PARAM_MAX_ALIASED_VOPS): Change description.
+       Set default value to 100.
+       (PARAM_AVG_ALIASED_VOPS): Define.
+
+2007-04-11  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/31530
+       * simplify-rtx.c (simplify_binary_operation_1): Do not simplify
+       a * -b + c as c - a * b if we honor sign dependent rounding.
+
+2007-04-11  Bernd Schmidt  <bernd.schmidt@analog.com>
+
+       * config/bfin/bfin-protos.h (bfin_expand_movmem): Renamed from
+       bfin_expand_strmov.
+       * config/bfin/bfin.c (bfin_expand_prologue, bfin_delegitimize_address,
+       bfin_function_ok_for_sibcall, split_load_immediate): Remove unused
+       variables.
+       (initialize_trampoline): Don't use old-style function definition.
+       (bfin_secondary_reload): Mark IN_P argument as unused.
+
+2007-04-10  Sebastian Pop  <sebastian.pop@inria.fr>
+
+       PR tree-optimization/31343
+       * tree-chrec.h (chrec_zerop): Moved before build_polynomial_chrec.
+       (build_polynomial_chrec): Return a scalar when the evolution is zero.
+       * testsuite/gcc.dg/vect/pr31343.c: New.
+
+2007-04-10  Eric Christopher  <echristo@apple.com>
+
+       * config/i386/i386.h (X87_FLOAT_MODE_P): New.
+       * config/i386/i386.md (*cmpfp0): Use.
+       (*cmpfp_u, *cmpfp_<mode>, *cmpfp_i_i387): Ditto.
+       (*cmpfp_iu_387, fix_trunc<mode>_fisttp_i386_1): Ditto.
+       (fix_trunc<mode>_i386_fisttp): Ditto.
+       (fix_trunc<mode>_i387_fisttp_with_temp): Ditto.
+       (*fix_trunc<mode>_i387_1, fix_truncdi_i387): Ditto.
+       (fix_truncdi_i387_with_temp, fix_trunc<mode>_i387): Ditto.
+       (fix_trunc<mode>_i387_with_temp, *fp_jcc_1_387): Ditto.
+       (*fp_jcc_2_387, *fp_jcc_5_387, *fp_jcc_6_387): Ditto.
+       (*fp_jcc_7_387, *fp_jcc_8<mode>_387): Ditto.
+       (unnamed_splitters): Ditto.
+       * config/i386/i386.c (output_fix_trunc): Assert that
+       we're not being passed a TFmode operand.
+
+2007-04-10  Zdenek Dvorak  <dvorakz@suse.cz>
+
+       PR tree-optimization/31526
+       * tree-inline.c (copy_cfg_body): Use last_basic_block instead of
+       n_basic_blocks to find newly added blocks.
+
+2007-04-10  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.md (fix_trunc<mode>di_sse): Remove "x" from "xm"
+       alternative.
+       (fix_trunc<mode>si_sse): Ditto.
+       (*floatsisf2_mixed, *floatsisf2_sse): Ditto.
+       (*floatsidf2_mixed, *floatsidf2_sse): Ditto.
+       (*floatdisf2_mixed, *floatdisf2_sse): Ditto.
+       (*floatdidf2_mixed, *floatdidf2_sse): Ditto.
+       (floathi<mode>2): Rename from floathisf2 and floathidf2. Macroize
+       expander using SSEMODEF mode macro.
+       (floatsi<mode>2): Rename from floatsisf2 and floashidf2. Macroize
+       expander using SSEMODEF mode macro.
+       (*floathi<mode>2_i387): Rename from *floathisf2_i387 and
+       *floathidf2_i387. Macroize insn using X87MODEF12 mode macro.
+       (*floatsi<mode>2_i387): Rename from *floatsisf2_i387 and
+       *floatsidf2_i387. Macroize insn using X87MODEF12 mode macro.
+       (*floatdi<mode>2_i387): Rename from *floatdisf2_i387 and
+       *floatdidf2_i387. Macroize insn using X87MODEF12 mode macro.
+       (float<mode>xf2): Rename from floathixf2, floatsixf2 and floatdixf2.
+       Macroize insn using X87MODEF mode macro.
+
+2007-04-09  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * config/i386/sse.md (sse2_pinsrw): Removed.
+       (sse2_pextrw): Renamed to ...
+       (*sse2_pextrw): This.
+
+2007-04-09  Jan Hubicka  <jh@suse.cz>
+
+       PR target/27869
+       * config/i386/sse.md
+       (sse_vmaddv4sf3, sse_vmmulv4sf3): Remove '%' modifier.
+       (sse_vmsmaxv4sf3_finite, sse_vmsminv4sf3_finite): Remove.
+       (sse2_vmaddv2df3, sse2_vmmulv2df3): Remove '%' modifier.
+       (sse2_vmsmaxv2df3_finite, sse2_vmsminv2df3_finite): Remove.
+
+2007-04-09  Jan Hubicka  <jh@suse.cz>
+
+       * tree-ssa-ccp (maybe_fold_offset_to_component_ref): Recurse into
+       multiple fields of union.
+
+2007-04-09  Zdenek Dvorak  <dvorakz@suse.cz>
+
+       * cfgloopmanip.c (create_preheader): Do not use loop_preheader_edge.
+       (create_preheaders): Check that loops are available.
+       (fix_loop_structure): Clean up, improve comments.
+       * tree-ssa-loop-manip.c (rewrite_into_loop_closed_ssa):
+       Check that loops are available.  Set LOOP_CLOSED_SSA to the loops
+       state flags.
+       * tree-scalar-evolution.c (scev_finalize): Clear scalar_evolution_info.
+       * predict.c (tree_estimate_probability): Do not call
+       calculate_dominance_info.  Call create_preheaders.
+       * tree-cfgcleanup.c (cleanup_tree_cfg_loop): Only call
+       rewrite_into_loop_closed_ssa if LOOP_CLOSED_SSA is set in loops state
+       flags.
+       * cfgloop.c (loop_preheader_edge): Assert that loops have preheaders.
+       * cfgloop.h (LOOP_CLOSED_SSA): New constant.
+       * tree-cfg.c (tree_split_edge): Make an assert more precise.
+       * tree-ssa-threadedge.c (thread_across_edge): Comment the function
+       arguments.
+
+2007-04-08  Jan Hubicka  <jh@suse.cz>
+
+       * tree.h (maybe_fold_offset_to_component_ref): Declare.
+       * tree-ssa-ccp.c (maybe_fold_offset_to_component_ref): Export.
+       * fold-const.c (fold_unary): Use it.
+
+2007-04-08  Andrew Pinski  <andrew_pinski@playstation.sony.com>
+
+       * varasm.c (assemble_variable): Remove call to
+       lang_hooks.decls.prepare_assemble_variable.
+       * langhooks-def.h (LANG_HOOKS_PREPARE_ASSEMBLE_VARIABLE): Kill.
+       (LANG_HOOKS_DECLS): Remove LANG_HOOKS_PREPARE_ASSEMBLE_VARIABLE.
+       * langhooks.h (lang_hooks_for_decls): Remove
+       prepare_assemble_variable.
+
+2007-04-08  Mike Stump  <mrs@apple.com>
+
+       * config/i386/i386.c: Use inc/dec on Core2.
+
+2007-04-08  Steven Bosscher  <steven@gcc.gnu.org>
+
+       * langhooks.c (lhd_tree_inlining_add_pending_fn_decls,
+       lhd_tree_inlining_anon_aggr_type_p, lhd_tree_inlining_start_inlining,
+       lhd_tree_inlining_end_inlining): Remove.
+       * langhooks.h (struct lang_hooks_for_tree_inlining): Remove then
+       add_pending_fn_decls, anon_aggr_type_p, start_inlining, and
+       end_inlining hooks.
+       * langhooks-def.h (lhd_tree_inlining_add_pending_fn_decls,
+       lhd_tree_inlining_anon_aggr_type_p, lhd_tree_inlining_start_inlining,
+       lhd_tree_inlining_end_inlining): Remove prototypes.
+       (LANG_HOOKS_TREE_INLINING_ADD_PENDING_FN_DECLS,
+       LANG_HOOKS_TREE_INLINING_ANON_AGGR_TYPE_P,
+       LANG_HOOKS_TREE_INLINING_START_INLINING,
+       LANG_HOOKS_TREE_INLINING_END_INLINING): Remove.
+
+       * c-objc-common.h (LANG_HOOKS_TREE_INLINING_ANON_AGGR_TYPE_P): Do
+       not set it.
+
+2007-04-08  Anatoly Sokolov <aesok@post.ru>
+
+       PR target/29932
+       * config/avr/predicates.md (io_address_operand): Delete predicate.
+       (low_io_address_operand): Don't use 'mode' argument.
+       (higth_io_address_operand): Rename ...
+       (high_io_address_operand): ... to this. Don't use 'mode' argument.
+       * config/avr/avr.md (*sbix_branch_tmp, *sbix_branch_tmp_bit7): Adjust
+       for above change.
+
+2007-04-07  Daniel Berlin  <dberlin@dberlin.org>
+
+       Revert change removing staticp.
+
+2007-04-07  Anatoly Sokolov <aesok@post.ru>
+
+       PR target/30289
+       * config/avr/avr.md (*clrmemqi, *clrmemhi): Mark operand 4 as
+       earlyclobber.
+
+2007-04-07  Bruce Korb  <bkorb@gnu.org>
+
+       * c.opt: Add -Wformat-contains-nul.
+       * c-format.c (set_Wformat):  Set warn_format_contains_nul to the
+         -Wformat setting.
+       (check_format_info_main): Check OPT_Wformat_contains_nul before emitting
+       the NUL byte warning.
+
+2007-04-07  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * config/i386/i386.c (ix86_handle_option): Handle SSSE3.
+
+2007-04-06  Daniel Berlin  <dberlin@dberlin.org>
+
+       * tree.c (staticp): No longer use staticp langhook.
+       * langhooks.c (lhd_staticp): Removed.
+       * langhooks.h (struct lang_hooks): Remove staticp.
+       * c-common.c (c_staticp): Remove.
+       * c-common.h (c_staticp): Ditto.
+       * langhooks-defs.h (lhd_staticp): Ditto.
+       (LHD_HOOKS_STATICP): Ditto
+       * tree.h (gcc_assert_lowered): New macro.
+
+2007-04-06  Zdenek Dvorak  <dvorakz@suse.cz>
+
+       * tree-ssa-loop-niter.c (idx_infer_loop_bounds): Add and use
+       argument "reliable".
+       (infer_loop_bounds_from_ref, infer_loop_bounds_from_array):
+       Add argument "reliable".  Propagate it through calls.
+       (infer_loop_bounds_from_undefined):  Derive number of iterations
+       estimates from references in blocks that do not dominate loop latch.
+       (gcov_type_to_double_int): New function.
+       (estimate_numbers_of_iterations_loop): Use gcov_type_to_double_int
+       and expected_loop_iterations_unbounded.
+       * cfgloopanal.c (expected_loop_iterations_unbounded): New function.
+       (expected_loop_iterations): Use expected_loop_iterations_unbounded.
+       * tree-data-ref.c (estimated_loop_iterations): Export.
+       (get_references_in_stmt): Fix -- do not return addresses of local
+       objects.
+       * cfgloop.h (expected_loop_iterations_unbounded,
+       estimated_loop_iterations): Declare.
+
+2007-04-06  Andreas Tobler  <a.tobler@schweiz.org>
+
+       * tree-sra.c (sra_build_elt_assignment): Initialize min/maxshift.
+
+2007-04-06  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.md (extend<mode>xf2): Rename from extendsfxf2
+       and extenddfxf2. Macroize expander using X87MODEF12 mode macro.
+       (*truncdfsf_mixed, *truncdfsf_i387, *truncdfsf2_i387_1):
+       Use output_387_reg_move().
+       (*truncxf<mode>2): Rename from *truncxfsf2 and truncxfdf2. Macroize
+       expander using X87MODEF12 mode macro.
+       (*truncxfsf2_mixed): Combine alternatives, ignore "r" alternative when
+       choosing register preferences.  Use output_387_reg_move().
+       (*truncxfdf2_mixed): Combine alternatives, use "r" alternative
+       instead of "x".  Use output_387_reg_move().
+       (*truncxf<mode>2_i387_noop): Rename from *truncxfsf2_i387_noop and
+       *truncxfdf2_i387_noop.  Macroize insn using X87MODEF12 mode macro.
+       (*truncxf<mode>2_i387): Rename from *truncxfsf2_i387 and
+       *truncxfdf2_i387.  Macroize insn using X87MODEF12 mode macro.
+       Use output_387_reg_move().
+       (*truncxf?f_mixed splitter): Macroize splitter using X87MODEF12
+       mode macro.
+       (*truncxf?f_i387 splitter): Ditto.
+
+2007-04-06  Daniel Berlin  <dberlin@dberlin.org>
+
+       * langhooks-def.h (LANG_HOOKS_INITIALIZER): Remove
+       LANG_HOOKS_SAFE_FROM_P.
+       * expr.c (safe_from_p): Remove langhook call.
+       * langhooks.h (lang_hooks): Remove safe_from_p.
+       (lhd_safe_from_p): Remove prototype.
+       * langhooks.c (lhd_safe_from_p): Remove.
+
+2007-04-06  Jan Hubicka  <jh@suse.cz>
+
+       * cgraphunit.c (decide_is_function_needed): Do not keep always_inline
+       functions.
+
+2007-04-06  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.c (output_387_reg_move): Handle memory operand[0].
+       * config/i386/i386.md (*movsf_1, *movdf_nointeger,
+       *movdf_integer_rex64, *movdf_integer, *movxf_nointeger,
+       *movxf_integer): Use output_387_reg_move() for x87 reg->mem
+       alternative.
+       (*extendsfdf2_mixed, *extendsfdf2_i387, *extendsfxf2_i387,
+       *extenddfxf2_i387, *truncdfsf_fast_mixed): Ditto.
+
+2007-04-05  Richard Henderson  <rth@redhat.com>
+
+       * config/alpha/alpha.c (print_operand) [+]: Remove.
+       (alpha_end_function): Print nop if call at end of function.
+       * config/alpha/alpha.h (PRINT_OPERAND_PUNCT_VALID_P): Remove +.
+       * config/alpha/alpha.md (UNSPEC_LDGP1): New.
+       (call_osf_1_er_noreturn, call_value_osf_1_er_noreturn): New.
+       (call_osf_2_er_nogp, call_value_osf_2_er_nogp): New.
+       (call_osf_2_er, call_value_osf_2_er): Merge the ldgp highpart into
+       the call pattern. Update peepholes to match.
+
+2007-04-05  Janis Johnson  <janis187@us.ibm.com>
+
+       * doc/extend.texi (Other Builtins): Add decimal float variants
+       of signbit.
+       * builtins.def: Ditto.
+       * builtins.c (expand_builtin): Ditto.
+
+2007-04-05  Uros Bizjak  <ubizjak@gmail.com>
+           H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR target/31478
+       * config/i386/sse.md (sse2_umulv2siv2di3): Use V4SImode instead
+       of V8HImode when calling ix86_binary_operator_ok.
+       (sse2_pmaddwd): Call ix86_binary_operator_ok.
+       (sdot_prodv8hi): Operands 1 and 2 must be register.
+
+2007-04-05  Alexandre Oliva  <aoliva@redhat.com>
+
+       * tree-sra.c (try_instantiate_multiple_fields): Needlessly
+       initialize align to silence bogus warning.
+
+2007-04-05  Alexandre Oliva  <aoliva@redhat.com>
+
+       PR middle-end/22156
+       * tree-sra.c (struct sra_elt): Add in_bitfld_block.  Remove
+       all_no_warning.
+       (struct sra_walk_fns): Remove use_all parameter from use.
+       (sra_hash_tree): Handle BIT_FIELD_REFs.
+       (sra_elt_hash): Don't hash bitfld blocks.
+       (sra_elt_eq): Skip them in parent compares as well.  Handle
+       BIT_FIELD_REFs.
+       (sra_walk_expr): Don't maintain or pass down use_all_p.
+       (scan_use): Remove use_all parameter.
+       (scalarize_use): Likewise.  Re-expand assignment to
+       BIT_FIELD_REF of gimple_reg.  De-scalarize before input or
+       output, and re-scalarize after output.  Don't mark anything
+       for no warning.
+       (scalarize_ldst): Adjust.
+       (scalarize_walk_gimple_modify_statement): Likewise.
+       (build_element_name_1): Handle BIT_FIELD_REFs.
+       (instantiate_element): Don't warn for any element whose parent
+       is used as a whole.
+       (instantiate_missing_elements_1): Return the sra_elt.
+       (canon_type_for_field): New.
+       (try_instantiate_multiple_fields): New.
+       (instantiate_missing_elemnts): Use them.
+       (mark_no_warning): Removed.
+       (generate_one_element_ref): Handle BIT_FIELD_REFs.
+       (REPLDUP, sra_build_elt_assignment): New.
+       (generate_copy_inout): Use them.
+       (generate_element_copy): Likewise.  Handle bitfld differences.
+       (generate_element_zero): Don't recurse for blocks.  Use
+       sra_build_elt_assignment.
+       (generate_one_element_int): Take elt instead of var.  Use
+       sra_build_elt_assignment.
+       (generate_element_init_1): Adjust.
+       (scalarize_use, scalarize_copy): Use REPLDUP.
+       (scalarize_ldst): Move assert before dereference.
+       (dump_sra_elt_name): Handle BIT_FIELD_REFs.
+
+2007-04-05  Steven Bosscher  <steven@gcc.gnu.org>
+
+       * regmove.c: Fix unused variable warnings due to previous commit.
+
+2007-04-05  Steven Bosscher  <steven@gcc.gnu.org>
+
+       * regmove.c (STACK_GROWS_DOWNWARD): Don't boolean-ize.
+       (regmove_bb_head): Remove.
+       (copy_src_to_dest): Don't update regmove_bb_head and BB_HEAD.
+       (regmove_optimize): Don't do unnecessary CFG fixes for non-existing
+       problems with fixup_match_1.
+       Don't initialize/free regmove_bb_head.
+
+       (reg_is_remote_constant_p): If an insn is in the same basic block
+       but not before INSN, consider it remote, too.
+
+2007-04-05  Anatoly Sokolov <aesok@post.ru>
+
+       PR target/25448
+       * config/avr/avr.c (avr_handle_fndecl_attribute): Use the
+       DECL_ASSEMBLER_NAME, not the DECL_NAME.
+
+2007-04-05  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * config/i386/i386.h (TARGET_CPU_CPP_BUILTINS): Reformat.
+       (CONDITIONAL_REGISTER_USAGE): Likewise.
+
+2007-04-04  Richard Henderson  <rth@redhat.com>
+
+       * config/alpha/lib1funcs.asm: Remove unused file.
+
+2007-04-04  Brooks Moses  <brooks.moses@codesourcery.com>
+
+       PR other/31356
+       * opts.c (print_specific_help): Fix --help=<language>
+       header line.
+       (common_handle_option): Support --help=common.
+
+2007-04-04  Brooks Moses  <brooks.moses@codesourcery.com>
+
+       PR other/31353
+       * gcc.c (main): Do not run the linker if
+       print_subprocess_help indicates that it shouldn't be
+       run.
+
+2007-04-04  Brooks Moses  <brooks.moses@codesourcery.com>
+
+       PR doc/31355
+       * doc/invoke.texi (--help=): Document <languages> value, fix
+       formatting in tables of values.
+
+2007-04-04  Danny Smith  <dannysmith.users.sourceforge.net>
+
+       * config/i386/winnt-cxx.c (i386_pe_type_dllimport_p): Don't ignore
+       dllimport attribute of virtual methods.
+
+2007-04-04  Chen Liqin  <liqin@sunnorth.com.cn>
+
+        * config/score/crti.asm: Change _bss_start to __bss_start.
+        * config/score/score.h (CONDITIONAL_REGISTER_USAGE): Added.
+        (OUTGOING_REG_PARM_STACK_SPACE) update.
+        * config/score/score.opt: add options to make backend support
+        score5, score5u, score7 and score7d.
+        * config/score/score.md: Likewise.
+        * config/score/misc.md: Likewise.
+        * config/score/mac.md: Likewise.
+        * doc/invoke.texi: Likewise.
+        * doc/md.texi: update constraints define.
+
+2007-04-03  Richard Henderson  <rth@redhat.com>
+
+       * expr.c (store_expr): If get_signed_or_unsigned_type doesn't yield
+       an appropriate type, use the mode instead.
+
+2007-04-03  Richard Sandiford  <richard@codesourcery.com>
+
+       * config.gcc (mips-wrs-vxworks): Add vx-common.h to tm_file.
+       Set the default --with-arch setting to mips2.
+       * config/mips/t-vxworks (MULTILIB_OPTIONS, MULTILIB_MATCHES)
+       (MULTILIB_EXCEPTIONS): Redefine with new multilibs.
+       (MULTILIB_OSDIRNAMES): Delete.
+       (MULTILIB_DIRNAMES): Define.
+       * config/mips/vxworks.h (LINK_SPEC): Add VXWORKS_LINK_SPEC.
+       (LIB_SPEC, STARTFILE_SPEC, ENDFILE_SPEC): Define.
+       (TARGET_OS_CPP_BUILTINS): Incorporate old SUBTARGET_CPP_SPEC
+       definitions, except for _WRS_R3K_EXC_SUPPORT.  Call
+       VXWORKS_OS_CPP_BUILTINS.
+       (SUBTARGET_CPP_SPEC): Redefine to VXWORKS_ADDITIONAL_CPP_SPEC.
+       (MIPS_DEBUGGING_INFO): Undefine.
+       (FUNCTION_PROFILER): Define to VXWORKS_FUNCTION_PROFILER.
+
+2007-04-03  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/30704
+       * fold-const.c (native_encode_real): Encode real.c provided longs
+       as a series of 32-bit native integers.
+       (native_interpret_real): Interpret buffer as a series of 32-bit
+       native integers.
+
+2007-04-03  Richard Guenther  <rguenther@suse.de>
+
+       * genpreds.c (write_insn_constraint_len): Write function
+       optimized for CONSTRAINT_LEN implementation.
+       (write_tm_preds_h): Output insn_constraint_len inline and
+       use it for CONSTRAINT_LEN.
+       (write_insn_preds_c): Don't output insn_constraint_len.
+       * doc/md.texi (define_register_constraint): Document multi-letter
+       constraints shall have the same length if they start with the same
+       letter.
+
+2007-04-03  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR target/31175
+       * config/i386/i386.md (isinf<mode>2): Expand only when
+       TARGET_C99_FUNCTIONS is set.
+
+2007-04-03  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config.gcc (i[34567]86-*-linux*): Add i386/t-crtpc to tm-file.
+       (x86_64-*-linux*): Ditto.
+       * config/i386/i386.opt (mpc): New option.
+       * config/i386/i386.c (overrride_options): Handle
+       ix87_precision_string.
+       * config/i386/crtprec.c: New file.
+       * config/i386/t-crtpc: Ditto.
+       * config/i386/linux.h (ENDFILE_SPEC): Add handling of -mpc32, -mpc64
+       and -mpc80 options.
+       * config/i386/linux64.h (ENDFILE_SPEC): Ditto.
+       * config/i386/t-linux64 (EXTRA_MULTILIB_PARTS): Add
+       crtprec32.o, crtprec64.o and crtprec80.o.
+
+       * doc/invoke.texi (Machine Dependent Options): Add -mpc32, -mpc64
+       and -mpc80 options.
+       (i386 and x86-64 Options): Document -mpc32, -mpc64 and -mpc80 options.
+
+2007-04-02  Eric Christopher  <echristo@apple.com>
+
+       * doc/invoke.texi (i386 and x86-64 Options): Document -m64
+       limitations on darwin.
+
+2007-04-02  Anatoly Sokolov <aesok@post.ru>
+
+       PR target/31137
+       * config/avr/avr.c (avr_rtx_costs): Add missing 'break' statements.
+
+2007-04-02  Dave Korn  <dave.korn@artimi.com>
+
+       * doc/tm.texi (FUNCTION_MODE): Update and extend documentation.
+
+2007-04-02  Dave Korn  <dave.korn@artimi.com>
+
+       * libgcc2.h (exception_descriptor): Don't forward-declare.
+       (__get_eh_table_language, __get_eh_table_version): Delete
+       prototypes of long-dead functions.
+
+2007-04-01  Daniel Berlin  <dberlin@dberlin.org>
+
+       * ebitmap.h: New file
+       * ebitmap.c: New file
+       * Makefile.in (ebitmap.o): New target.
+
+2007-04-01  Jan Hubicka  <jh@suse.cz>
+
+       * emit-rtl.c (emit_insn_before_setloc): Do not ICE when asked to emit
+       before very first instruction.
+
+2007-04-01  Jan Hubicka  <jh@suse.cz>
+
+       * ggc-page.c (ggc_print_statistics): Fix formatting string to avoid
+       waring on 64bit hosts.
+       * bitmap.h: Fix typo in bitmap_head_def.
+
+2007-04-01  Steven Bosscher  <steven@gcc.gnu.org>
+
+       PR rtl-optimization/31391
+       * cfgcleanup.c (try_optimize_cfg): If a removed label is turned
+       into a DELETED_LABEL note, and the label is in an empty basic
+       block, update BB_END as well as BB_HEAD.
+
+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, 
+       * 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  Anatoly Sokolov <aesok@post.ru>
 
-       * config/avr/avr.c (avr_override_options): Clear 
+       * config/avr/avr.c (avr_override_options): Clear
        'flag_delete_null_pointer_checks'.
 
 2007-03-30  Paolo Carlini  <pcarlini@suse.de>
 
 2007-03-30  Jan Hubicka  <jh@suse.cz>
 
-       PR middle-end/PR30700
-       * dwarf2out.c (reference_to_unused): Ask cgraph for functions 
+       PR middle-end/30700
+       * dwarf2out.c (reference_to_unused): Ask cgraph for functions
        availablility; add more sanity checking; ask varpool only about
        VAR_DECL.
 
        than calling gen_rtx_SET directly.  Use r0 to hold the value of
        'address + 4' rather than a stack based temporary which can be
        mis-optimized away.
-       
+
 2007-03-29  Andreas Krebbel  <krebbel1@de.ibm.com>
 
        * config/s390/s390.c (s390_secondary_input_reload_class,
        * config.gcc: Accept barcelona as a variant of amdfam10.
        * config/i386/i386.c (override_options): Likewise.
        * doc/invoke.texi: Likewise.
-       
+
 2007-03-28  Eric Botcazou  <ebotcazou@adacore.com>
 
        * tree-dfa.c (get_ref_base_and_extent): Do not expect positive
 2007-03-28  Lars Poeschel <larsi@wh2.tu-dresden.de>
 
        * config/fr30/fr30.md (movsi_internal): Change destination
-       constraint from m to V and add m to the end. 
+       constraint from m to V and add m to the end.
 
 2007-03-28  Christian Bruel  <christian.bruel@st.com>
 
        * config/s390/s390.md ("fix_trunc<mode>di2"): New expander.
        ("fix_trunc<DFP:mode>di2_dfp"): New insn definition renamed from
        fix_trunc<mode>di2.
-       ("fixuns_truncdddi2", "fixuns_trunctddi2"): Use 
+       ("fixuns_truncdddi2", "fixuns_trunctddi2"): Use
        fix_trunc<DFP:mode>di2_dfp instead of fix_trunc<mode>di2.
        ("fix_truncdfsi2", "fix_truncsfsi2", "fixuns_truncdddi2",
        "fixuns_trunctddi2"): Whitespace fix.
 
 2007-03-27  Anatoly Sokolov <aesok@post.ru>
 
-       * config/avr/avr.c (avr_mcu_types): Move at90usb82 device to 'avr4' 
+       * config/avr/avr.c (avr_mcu_types): Move at90usb82 device to 'avr4'
        architecture.
 
 2007-03-27  Janis Johnson  <janis187@us.ibm.com>
 2007-03-27  Richard Guenther  <rguenther@suse.de>
 
        * tree-dfa.c (get_ref_base_and_extent): Replace bit_offset and
-       computations with it with a HOST_WIDE_INT variable.  
+       computations with it with a HOST_WIDE_INT variable.
 
 2007-03-26  Mike Stump  <mrs@apple.com>
 
        _mm_srli_epi64): Mark __B const.
        (_mm_srli_si128, _mm_srli_si128): Fix disabled inline versions.
        (_mm_sll_epi16, _mm_sll_epi32, _mm_sll_epi64, _mm_sra_epi16,
-       _mm_sra_epi32, _mm_srl_epi16, _mm_srl_epi32, _mm_srl_epi64): Use 
+       _mm_sra_epi32, _mm_srl_epi16, _mm_srl_epi32, _mm_srl_epi64): Use
        new two-vector shift builtins.
 
 2007-03-26  Ian Lance Taylor  <iant@google.com>