OSDN Git Service

* config/mmix/mmix.md ("*cmpcc_folded"): In condition, gate
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 4c102c6..b46d937 100644 (file)
@@ -1,3 +1,557 @@
+2007-09-25  Hans-Peter Nilsson  <hp@bitrange.com>
+
+       * config/mmix/mmix.md ("*cmpcc_folded"): In condition, gate
+       with REG_P tests before REGNO access.
+
+2007-09-24  DJ Delorie  <dj@redhat.com>
+
+       PR target/31482
+       * config/m32c/cond.md (stzx_reversed_<mode>): Add an output
+       constraint.
+       (movqicc_<code>_<mode>): Likewise.
+       (movhicc_<code>_<mode>): Likewise.
+
+2007-09-24  Rask Ingemann Lambertsen  <rask@sygehus.dk>
+
+       PR target/33184
+       * config/m32c/m32c.c (m32c_eh_return_data_regno): Leave an address
+       register for reload.
+
+2007-09-24  Danny Smith  <dannysmith@user.sourceforge.net>
+
+       PR c++/14688
+       * config/i386/i386.c (ix86_comp_type_attributes): Check
+       METHOD_TYPE too.
+
+2007-09-24  Roman Zippel <zippel@linux-m68k.org> 
+
+       * config/m68k/m68k.h (ASM_OUTPUT_ALIGN_WITH_NOP): New, use
+       "move.l %a4,%a4" to produce nops.
+       * config/m68k/m68k.c (override_options): Reset align options,
+       if neccessary align macro isn't avaible.
+
+2007-09-24  Roman Zippel <zippel@linux-m68k.org> 
+
+       config/m68k/linux.h (PREFERRED_STACK_BOUNDARY): New.
+
+2007-09-24  Roman Zippel <zippel@linux-m68k.org> 
+
+       * config/m68k/m68k.c (strict_low_part_peephole_ok): Don't leave
+       the basic block.
+       * config/m68k/m68k.md (movsi_m68k): Allow certain constant when
+       reload is completed.
+       (peephole pattern): Convert most of them to RTL peephole pattern.
+
+2007-09-24  Roman Zippel <zippel@linux-m68k.org> 
+
+       * config/m68k/m68k.c (notice_update_cc): Recognize fp compare
+       (moved from fp compare patterns).
+       * config/m68k/m68k.md (cmp<mode>, cmp<mode>_68881, cmp<mode>_cf):
+       Cleanup predicates to relieve reload.
+       (conditional_trap): Reject conditional trap with fp condition.
+       * gcc/config/m68k/predicates.md (fp_src_operand): New, reject
+       certain constants early.
+
+2007-09-24  Roman Zippel <zippel@linux-m68k.org>
+
+       * gcc/final.c (final_scan_insn): Remove accidentally duplicated code.
+
+2007-09-24  Andrew Pinski  <andrew_pinski@playstation.sony.com>
+
+       * config.gcc (powerpc*-*-*): --with-cpu=cell is a 64bit CPU.
+       Allow --with-tune=cell and --with-cpu=cell.
+
+2007-09-24  David Edelsohn  <edelsohn@gnu.org>
+
+       * config/rs6000/rs6000-protos.h (rs6000_emit_swrsqrtsf): Declare.
+       * config/rs6000/rs6000.opt (swdiv): Change option to ...
+       (recip): this.
+       * config/rs6000/rs6000.c (rs6000_builtin_reciprocal): New
+       function.
+       (TARGET_BUILTIN_RECIPROCAL): Use it.
+       (rs6000_builtin_expand): Expand recip, recipf, and rsqrtf.
+       (rs6000_init_builtins): Initialize recip, recipf, and rsqrtf.
+       (rs6000_emit_swrsqrtsf): New.
+       * config/rs6000/rs6000.h (rs6000_builtins): Add recip, recipf, and
+       rsqrtf. 
+       * config/rs6000/rs6000.md (UNSPEC_RSQRT): Define.
+       (divsf3): Remove swdiv support.
+       (recipsf3): New.
+       (rsqrtsf2): New.
+       (rsqrt_internal1): New.
+       (divdf3): Remove swdiv support.
+       (reciptdf3): New.
+
+2007-09-24  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/33506
+       * langhooks.h (struct lang_hooks_for_types): Add type_hash_eq
+       field.
+       * langhooks-def.h (LANG_HOOKS_TYPE_HASH_EQ): Define.
+       (LANG_HOOKS_FOR_TYPES_INITIALIZER): Add LANG_HOOKS_TYPE_HASH_EQ.
+       * tree.c (type_hash_eq): For FUNCTION_TYPE use
+       lang_hooks.type.type_hash_eq in addition to generic tests.
+
+2007-09-24  Pranav Bhandarkar  <pranav.bhandarkar@celunite.com>
+       Ramana Radhakrishnan  <ramana@hercules.pun.celunite.com>
+
+       * tree-inline.h (eni_weights): Add field target_builtin_cost to
+       reflect the cost per call to a target specific builtin.
+       * tree-inline.c (estimate_num_insns_1): If it is a CALL_EXPR for a
+       call to a target specific builtin, then use target_builtin_call_cost.
+       (init_inline_once): Initialize target_builtin_call_cost field.
+
+2007-09-24  Kai Tietz  <kai.tietz@onevision.com>
+
+       PR middle-end/33472
+       * config/i386/i386.c (return_in_memory_ms_64): Handle return types for
+       complex types.
+
+2007-09-23  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * configure.ac (ld_vers): Support GNU linker version xx.xx.*
+       * configure: Regenerated.
+
+2007-09-23  Ollie Wild  <aaw@google.com>
+
+       * fold-const.c (fold_binary): Fold BIT_AND_EXPR's with a pointer
+       operand.
+       (get_pointer_modulus_and_residue): New function.
+
+2007-09-23  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+       * config/mips/mips.c (build_mips16_call_stub): On 64-bit targets,
+       combine an SC return value into a single register.
+
+2007-09-23  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+       * opth-gen.awk (target_flags_explicit): Declare.
+       * toplev.h (target_flags_explicit): Delete declaration.
+       * toplev.c (target_flags): Likewise.
+       * config/mips/mips.h (mips_llsc_setting, mips_llsc): Delete.
+       (GENERATE_SYNC, GENERATE_LL_SC): Redefine using target_explicit_flags.
+       Never return true for TARGET_MIPS16.
+       * config/mips/mips.c (mips_llsc): Delete.
+       (mips_handle_option): Remove -mllsc handling.
+       (mips_strip_unspec_address): Tweak comment.
+       * config/mips/mips.opt (mllsc): Use a target mask.
+
+2007-09-23  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+       * doc/tm.texi (POINTERS_EXTEND_UNSIGNED): Document extensions to
+       word_mode as well as Pmode.
+
+2007-09-23  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+       * function.c (assign_parm_setup_block): Explicitly convert BLKmode
+       parameters from word_mode to the subword type if such a truncation
+       is not a no-op.
+
+2007-09-23  Jakub Jelinek  <jakub@redhat.com>
+
+       * configure.ac (MAKEINFO): Handle makeinfo version 4.10 and above.
+       * configure: Regenerated.
+
+2007-09-23  Jan Hubicka  <jh@suse.cz>
+
+       * params.def (INLINE_CALL_COST): Set to 12.
+       * invoke.texi (inline-call-cost): Update default value.
+
+2007-09-23  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * config/alpha/alpha.md (movti): Use operand_subword for the split.
+
+2007-09-23  Ayal Zaks  <zaks@il.ibm.com>
+           Revital Eres  <eres@il.ibm.com>
+
+       * modulo-sched.c (doloop_register_get): Rewrite the loop which
+       checks whether the count_reg is found outside the control part.
+
+2007-09-23  Jakub Jelinek  <jakub@redhat.com>
+
+       * expr.c (expand_expr_real_1) <case CALL_EXPR>: Use get_callee_fndecl
+       instead of checking CALL_EXPR_FN directly to test for builtins.
+       If error or warning attributes are present, print
+       error resp. warning.
+       * c-common.c (handle_error_attribute): New function.
+       (c_common_attribute_table): Add error and warning
+       attributes.
+       * doc/extend.texi: Document error and warning attributes.
+
+       * tree.h (block_nonartificial_location): New prototype.
+       * tree.c (block_nonartificial_location): New function.
+       * dwarf2out.c (gen_subprogram_die): Add DW_AT_artificial
+       if artificial attribute is present on abstract inline decl.
+       * c-common.c (handle_artificial_attribute): New function.
+       (c_common_attribute_table): Add artificial attribute.
+       * final.c (override_filename, override_linenum): New variables.
+       (final_scan_insn): For DBX_DEBUG or SDB_DEBUG, set override_filename
+       and override_linenum if inside of a block inlined from
+       __attribute__((__artificial__)) function.
+       (notice_source_line): Honor override_filename and override_linenum.
+       * doc/extend.texi: Document __attribute__((__artificial__)).
+       * config/i386/emmintrin.h: Add __artificial__ attribute to
+       all __always_inline__ functions.
+       * config/i386/mmintrin.h: Likewise.
+       * config/i386/tmmintrin.h: Likewise.
+       * config/i386/mm3dnow.h: Likewise.
+       * config/i386/pmmintrin.h: Likewise.
+       * config/i386/ammintrin.h: Likewise.
+       * config/i386/xmmintrin.h: Likewise.
+       * config/i386/smmintrin.h: Likewise.
+       * config/i386/bmmintrin.h: Likewise.
+       * config/i386/mmintrin-common.h: Likewise.
+
+       PR middle-end/28755
+       * expr.c (expand_constructor): New function.
+       (expand_expr_real_1) <case CONSTRUCTOR>: Call it.
+       (expand_expr_real_1) <case ARRAY_REF>: Call it if VALUE is
+       CONSTRUCTOR.
+
+2007-09-23  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+       * config/mips/mips.c (dump_constants_1): Generalize to include
+       fractional and accumulator modes.
+
+2007-09-23  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+       * config/mips/mips.h (ISA_HAS_DSP, ISA_HAS_DSPR2): New macros.
+       * config/mips/mips.c (mips_set_mips16_mode): Don't clear the DSP
+       flags for MIPS16.
+       (override_options): Check TARGET_HARD_FLOAT_ABI instead of
+       TARGET_HARD_FLOAT when testing whether -mpaired-single is
+       supported.
+       (mips_conditional_register_usage): Check ISA_HAS_DSP instead of
+       TARGET_DSP.
+       * config/mips/constraints.md (ka): Check ISA_HAS_DSPR2 instead of
+       TARGET_DSPR2.
+       * config/mips/mips.md (ANYF): Require TARGET_HARD_FLOAT for V2SF.
+       (mulv2sf3, movv2sf, movv2sf_hardfloat_64bit): Require
+       TARGET_HARD_FLOAT.
+       (<u>mulsidi3_32bit_internal, <u>msubsidi4, <u>maddsidi4): Check
+       ISA_HAS_DSPR2 instead of TARGET_HAS_DSPR2.
+       * config/mips/mips-dsp.md: Use ISA_HAS_DSP instead of TARGET_HAS_DSP
+       throughout.
+       * config/mips/mips-dspr2.md: Likewise ISA_HAS_DSPR2 and
+       TARGET_HAS_DSPR2.
+       * config/mips/mips-fixed.md: Use ISA_HAS_DSP and ISA_HAS_DSPR2
+       instead of TARGET_HAS_DSP and TARGET_HAS_DSPR2.
+       * config/mips/mips-ps-3d.md: Add TARGET_HARD_FLOAT to V2SF patterns.
+
+2007-09-22  Jason Merrill  <jason@redhat.com>
+
+       PR c++/19407
+       * attribs.c (lookup_attribute_spec): Split out...
+       (decl_attributes): From here.
+       * tree.h: Declare it.
+
+2007-09-22  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+       * doc/sourcebuild.texi: Document dg-add-options mips16_attribute.
+
+2007-09-22  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * tree-inline.c (remap_type_1): Correctly chain variants.
+
+2007-09-22  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/33146
+       * fold-const.c (fold_binary): Use the original tree
+       for negating.
+       * tree.h (STRIP_SIGN_NOPS): Converting from or to pointer
+       also changes "sign".
+
+2007-09-22  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR target/32325
+       * except.c (finish_eh_generation): Call commit_edge_insertions if
+       there are insns queued on the entry edge.
+       * config/alpha/alpha.c (alpha_gp_save_rtx): Insert the insns on
+       the entry edge.
+
+2007-09-22  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+       * doc/sourcebuild.texi (dg-add-c99-runtime-options): Document.
+
+2007-09-19  Michael Meissner  <michael.meissner@amd.com>
+
+       * gcc/config/i386/i386.c: Delete trailing whitespace.
+       * gcc/config/i386/i386.h: Ditto.
+       * gcc/config/i386/bmmintrin.h: Ditto.
+       * gcc/config/i386/sync.md: Ditto.
+       * gcc/config/i386/ppro.md: Ditto.
+       * gcc/config/i386/mmx.md: Ditto.
+       * gcc/config/i386/constraints.md: Ditto.
+       * gcc/config/i386/sse.md: Ditto.
+       * gcc/config/i386/athlon.md: Ditto.
+       * gcc/config/i386/i386.md: Ditto.
+
+2007-09-21  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/33508
+       * tree-ssa-alias.c (mark_aliases_call_clobbered): Avoid
+       quadratic loop by keeping a bitmap of variables we have
+       to clobber all subvariables for.
+       (set_initial_properties): Likewise.
+
+2007-09-21  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+       * config/mips/t-sde (TARGET_LIBGCC2_CFLAGS): Delete.
+
+2007-09-20  Nigel Stephens  <nigel@mips.com>
+           Chao-ying Fu  <fu@mips.com>
+
+       * c-decl.c (finish_declspecs): When _Sat is used without
+       _Fract or _Accum, set the default type to cts_fract.
+       This avoids a warning of "type defaults to int".
+
+2007-09-20  Joseph Myers  <joseph@codesourcery.com>
+
+       * c-decl.c (check_bitfield_type_and_width): Don't allow _Bool
+       bit-fields wider than one bit.
+
+2007-09-20  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/33316
+       * dwarf2out.c (modified_type_die): Handle TYPE_DECL with NULL
+       DECL_NAME.
+       * dbxout.c (dbxout_type): Likewise.
+
+       PR c/33238
+       PR c/27301
+       * gimplify.c (gimplify_vla_decl): New function.
+       (gimplify_decl_expr): Move VLA decl handling to gimplify_vla_decl.
+       Call it.
+       (gimplify_target_expr): Handle variable length TARGET_EXPRs.
+
+2007-09-20  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+       * doc/invoke.texi (-minterlink-mips16): Document.
+       * config/mips/mips.opt (minterlink-mips16): New option.
+       * config/mips/mips.c (mips_function_ok_for_sibcall): Handle
+       -minterlink-mips16
+
+2007-09-20  Joseph Myers  <joseph@codesourcery.com>
+
+       * doc/extend.texi (Attribute Syntax): Remove old speculative
+       future direction.
+
+2007-09-20  Mark Shinwell  <shinwell@codesourcery.com>
+
+       * combine.c: Include cgraph.h.
+       (setup_incoming_promotions): Rework to allow more aggressive
+       elimination of sign extensions when all call sites of the
+       current function are known to lie within the current unit.
+
+2007-09-20  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+       * dse.c (find_shift_sequence): No-op rework of control flow.
+
+2007-09-19  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+       * config/mips/mips.c (build_mips16_call_stub): Tidy.  Fix second
+       GPR for DCmode on 64-bit targets.  Remove redundant fallback.
+
+2007-09-19  Andrew Pinski  <andrew_pinski@playstation.sony.com>
+
+       * cfgexpand.c (dump_stack_var_partition): Use the correct
+       index for the offset.
+
+2007-09-19  Joseph Myers  <joseph@codesourcery.com>
+
+       * config/mips/sde.h: Switch to GPLv3.
+
+2007-09-19  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * tree-sra.c (decide_block_copy): Decide if there are groups.
+
+2007-09-19  Roman Zippel <zippel@linux-m68k.org>
+
+       * config/m68k/m68k.c (output_move_himode): Remove jump table
+       recognition.
+       config/m68k/m68k.md (lea): Likewise.
+       * config/m68k/m68k.c (print_operand_address): Use simple pc
+       relative addressing.
+
+2007-09-19  Bernd Schmidt  <bernd.schmidt@analog.com>
+
+       * doc/tm.texi (IS_ASM_LOGICAL_LINE_SEPARATOR): Document new argument.
+       * final.c (IS_ASM_LOGICAL_LINE_SEPARATOR): Provide two-argument
+       default definition.
+       (asm_insn_count): Pass template as second argument to it.
+       * config/avr/avr.h (IS_ASM_LOGICAL_LINE_SEPARATOR): Likewise.
+       * config/pa/pa.h (IS_ASM_LOGICAL_LINE_SEPARATOR): Likewise.
+       * config/stormy16/stormy16.h (IS_ASM_LOGICAL_LINE_SEPARATOR): Likewise.
+       * config/cris/cris.h (IS_ASM_LOGICAL_LINE_SEPARATOR): Likewise.
+       * config/sh/sh.c (IS_ASM_LOGICAL_LINE_SEPARATOR): Likewise.
+       (sh_insn_length_adjustment): Pass template as second argument to it.
+       * config/bfin/bfin.h (IS_ASM_LOGICAL_LINE_SEPARATOR): New macro.
+
+       * config/bfin/bfin.md (define_asm_attributes): New.
+
+2007-09-19  Jie Zhang  <jie.zhang@analog.com>
+
+       * config.gcc (bfin*-linux-uclibc*): Add ./linux-sysroot-suffix.h
+       to tm_file.
+       * config/bfin/print-sysroot-suffix.sh: New.
+       * config/bfin/t-bfin-elf (EXTRA_PARTS): Remove.
+       (MULTILIB_OPTIONS, MULTILIB_DIRNAMES, MULTILIB_MATCHES,
+       MULTILIB_EXCEPTIONS): Redefine with new multilibs.
+       * config/bfin/t-bfin-uclinux (EXTRA_PARTS): Remove.
+       (MULTILIB_OPTIONS, MULTILIB_DIRNAMES, MULTILIB_MATCHES,
+       MULTILIB_EXCEPTIONS): Redefine with new multilibs.
+       * config/bfin/t-bfin-linux (EXTRA_PARTS): Remove.
+       (MULTILIB_OPTIONS, MULTILIB_DIRNAMES, MULTILIB_MATCHES,
+       MULTILIB_EXCEPTIONS): Redefine with new multilibs.
+       (linux-sysroot-suffix.h): New target.
+       * config/bfin/bfin.opt (mcsync-anomaly): Use Var instead of Mask.
+       (mspecld-anomaly): Likewise.
+       * config/bfin/bfin-protos.h (enum bfin_cpu_type): Renamed from
+       (enum bfin_cpu): ... this. Add BFIN_CPU_BF522, BFIN_CPU_BF525,
+       BFIN_CPU_BF527, BFIN_CPU_BF538, BFIN_CPU_BF539, BFIN_CPU_BF542,
+       BFIN_CPU_BF544, BFIN_CPU_BF548, and BFIN_CPU_BF549.
+       (bfin_si_revision): Declare.
+       (bfin_workarounds): Declare.
+       (WA_SPECULATIVE_LOADS): Define.
+       (ENABLE_WA_SPECULATIVE_LOADS): Define.
+       (WA_SPECULATIVE_SYNCS): Define.
+       (ENABLE_WA_SPECULATIVE_SYNCS): Define.
+       * config/bfin/elf.h (STARTFILE_SPEC): Rename crt532.o to basiccrt.o.
+       (LIB_SPEC): Add %s to the linker scripts.
+       Use proper linker script for bf522, bf525, bf527,
+       bf538, bf539, bf542, bf544, bf548, and bf549.
+       * config/bfin/bfin.c (bfin_si_revision): Define.
+       (bfin_workarounds): Define.
+       (struct bfin_cpu): New.
+       (bfin_cpus): New.
+       (bfin_handle_option): Handle silicon revision part of -mcpu option.
+       (override_options): Set bfin_workarounds.
+       (length_for_loop): Replace TARGET_CSYNC_ANOMALY with
+       ENABLE_WA_SPECULATIVE_SYNCS, TARGET_SPECLD_ANOMALY with
+       ENABLE_WA_SPECULATIVE_LOADS.
+       (bfin_reorg): Likewise.
+       * config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Define
+       macros for bf522, bf525, bf527, bf538, bf539,
+       bf542, bf544, bf548, and bf549.
+       Define __SILICON_REVISION__ and __WORKAROUND_* macros if needed.
+       Don't define __ID_SHARED_LIB__ when -msep-data.
+       (TARGET_DEFAULT): Define as 0.
+       (DRIVER_SELF_SPECS): Add -mcpu=bf532 if no -mcpu option.
+       * doc/invoke.texi (Blackfin Options): Document silicon
+       revision part of -mcpu option and it now accepts bf522, bf525,
+       bf527, bf538, bf539, bf542, bf544, bf548, and bf549.
+
+2007-09-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * alias.c (memory_modified_1): Deconstify.
+       (memory_modified_in_insn_p): Don't use const_note_stores.
+       * rtl.h (const_note_stores): Delete.
+       * rtlanal.c (const_note_stores): Likewise.
+
+2007-09-18  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+       * dse.c (find_shift_sequence): Temporarily revert to forbidding
+       word shifts.
+
+2007-09-18  Rask Ingemann Lambertsen  <rask@sygehus.dk>
+
+       PR target/33388
+       PR target/33397
+       * config/fr30/fr30.md (addsi3): Check REG_P() before calling REGNO().
+       (addsi_small_int): Likewise.
+       (addsi_big_int): Use rtx_equal_p() instead of REGNO() comparison.
+       (one_cmplsi2): Likewise.
+       (negsi2): Delete.
+       (enter_func): Expand insn using hard_frame_pointer_rtx and
+       stack_pointer_rtx.
+       (*enter_func): New.
+       * config/fr30/fr30.c (fr30_expand_prologue): Check for
+       hard_frame_pointer_rtx instead of using REGNO() check.
+       Properly sign extend GEN_INT() argument.
+
+2007-09-18  Roman Zippel <zippel@linux-m68k.org>
+
+       * config/m68k/m68k.c (override_options): Remove USE_GAS,
+       use %. syntax.
+       (output_dbcc_and_branch, output_scc_di): Replace all jbcc
+       alternatives with just jcc.
+       * config/m68k/m68k.md (addsi_lshrsi_31, beq0_di, bne0_di,
+       bge0_di, blt0_di, bgtu, bltu, bgeu, bleu, bgtu_rev,
+       bltu_rev, bgeu_rev, bleu_rev, jump, dbne_hi, dbne_si,
+       dbge_hi, dbge_si): Likewise.
+
+2007-09-18  Roman Zippel <zippel@linux-m68k.org>
+
+       * config/m68k/m68k.md (beq, bne, bgt, blt, bge, ble, bordered,
+       bunordered, buneq, bunge, bungt, bunle, bunlt, bltgt, beq_rev,
+       bne_rev, bgt_rev, blt_rev, bge_rev, ble_rev, bordered_rev,
+       bunordered_rev, buneq_rev, bunge_rev, bungt_rev, bunle_rev,
+       bunlt_rev, bltgt_rev): Replace all fbcc with fjcc.
+
+2007-09-18  Maxim Kuvyrkov  <maxim@codesourcery.com>
+
+       * config/m68k/m68k-devices.def (51qe): New device.
+       * config/m68k/m68k.c (FL_FOR_isa_c): Remove division unit.  Add it
+       to all uses of FL_FOR_isa_c for compatibility.
+       (all_microarchs): Add cfv1 microarchitecture.
+       (m68k_handle_option): Handle m51qe option.
+       * config/m68k/m68k.h (TARGET_CPU_CPP_BUILTINS): Handle 51QE.
+       (TUNE_CFV1): New macro.
+       (enum uarch_type): Add ucfv1.
+       * doc/invoke.texi: Document 51qe device and cfv1 microarchitecture.
+       
+2007-09-18  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/31863
+       * tree-ssa-structalias.c (create_variable_info_for): Always
+       free the fieldstack.
+
+2007-09-18  Dorit Nuzman  <dorit@il.ibm.com>
+
+       * opts.c (decode_options): Enable vectorization under -O3.
+
+2007-09-18  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/33340
+       * tree-ssa-sccvn.c (set_ssa_val_to): Do not set values to
+       SSA_NAMEs that occur in abnormal PHI nodes.
+
+2007-09-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * tree-cfg.c (is_ctrl_altering_stmt, tree_block_ends_with_call_p):
+       Don't use const_get_call_expr_in.
+       * tree-gimple.c (const_get_call_expr_in): Delete.
+       * tree-gimple.h (const_get_call_expr_in): Likewise.
+
+2007-09-18  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+       * df-scan.c (df_notes_rescan): Do nothing if the instruction does
+       not yet have a basic block.
+       * dse.c (find_shift_sequence): Don't set DF_NO_INSN_RESCAN.
+
+2007-09-18  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+       * config/mips/mips.c (mips_file_start): Add ".previous" directives
+       to both ".section"s.
+
+2007-09-17  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+       * config/mips/mips.c (mips_output_mi_thunk): Use
+       mips_function_ok_for_sibcall and const_call_insn_operand
+       to determine if a direct sibcall is allowed.  Use
+       mips_classify_symbol to determine a global pointer is needed.
+
+2007-09-17  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+       * config/mips/mips.md (*clear_upper32): Use "W" as the memory operand.
+
+2007-09-17  Chao-ying Fu  <fu@mips.com>
+           Nigel Stephens  <nigel@mips.com>
+
+       * config/fixed-bit.h: New file.
+       * config/fixed-bit.c: New file.
+       * doc/libgcc.texi (Fixed-point fractional library routines): New node.
+
 2007-09-18  Jakub Jelinek  <jakub@redhat.com>
 
        * c-format.h (format_kind_info): Add alloc_char field.
 2007-09-15  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
 
        PR target/33062
-       * pa.c (function_value): Use GET_MODE_BITSIZE instead of TYPE_PRECISION.
+       * pa.c (function_value): Use GET_MODE_BITSIZE instead of
+       TYPE_PRECISION.
 
 2007-09-15  Dorit Nuzman  <dorit@il.ibm.com>
 
 2007-09-14  Uros Bizjak  <ubizjak@gmail.com>
 
        PR target/33438
-       * config/i386/i386.md (fmodxf3): Copy operands[2] to temporary register
-       when operands[2] equals operands[1].
+       * config/i386/i386.md (fmodxf3): Copy operands[2] to temporary
+       register when operands[2] equals operands[1].
        (remainderxf3): Ditto.
 
 2007-09-14  Sandra Loosemore  <sandra@codesourcery.com>
 2007-09-12  Jan Hubicka  <jh@suse.cz>
 
        PR target/33393
-       * i386.md (floatsisf2_mixed_memory, floatsisf2_sse_memory): Disable for
-       !SSE_MATH
+       * i386.md (floatsisf2_mixed_memory, floatsisf2_sse_memory): Disable
+       for !SSE_MATH
 
 2007-09-12  Christian Bruel  <christian.bruel@st.com>
 
        * config/m68k/predicates.md (movsi_const0_operand,
        non_symbolic_call_operand): New predicates.
 
-       * config/m68k/constraints.md: (Cs, Ci, C0, Cj, CQ, CW, CZ, CS, Ap, Ac):
+       * config/m68k/constraints.md (Cs, Ci, C0, Cj, CQ, CW, CZ, CS, Ap, Ac):
        New constraints.
        * doc/md.texi (Constraints for Particular Machines: Motorola 680x0):
        Document constraints N, O, P, R, S, T, Q, U, W, Cs, Ci, C0, Cj, CQ,
        DEC_FLOAT_IS_SIGNED: Define for each of 3 operand widths.
 
 2007-09-10  Harsha Jagasia <harsha.jagasia@amd.com>
-            Jan Sjodin <jan.sjodin@amd.com>
-       
+           Jan Sjodin <jan.sjodin@amd.com>
+
        * tree-vect-analyze.c (vect_analyze_operations): Change
        comparison of loop iterations with threshold to less than
        or equal to instead of less than. Reduce
        * config/dfp-bit.c (host_to_ieee32, ieee_to_host_32): Ditto.
        (__swap64): Remove.
        (host_to_ieee_64, ieee_to_host_64): Don't handle endianness.
-         (__swap128): Remove
+       (__swap128): Remove
        (host_to_ieee_128, ieee_to_host_128): Don't handle endianness.
        * Makefile.in (DECNUM_H): Add decimal128Local.h.
 
        (struct _loop_vec_info): Define new fields: strided_stores,
        slp_instances, and slp_unrolling_factor along macros for their access.
        (enum slp_vect_type): New.
-       (struct _stmt_vec_info): Define new field, slp_type, and macros for its
-       access.
+       (struct _stmt_vec_info): Define new field, slp_type, and macros for
+       its access.
        (STMT_VINFO_STRIDED_ACCESS): New macro.
        (vect_free_slp_tree): Declare.
        (vectorizable_load): Add an argument of type slp_tree.
 
 2007-09-09  Andrew Haley  <aph@redhat.com>
 
-        * optabs.c (sign_expand_binop): Set libcall_gen = NULL in the
-        fake signed optab.
+       * optabs.c (sign_expand_binop): Set libcall_gen = NULL in the fake
+       signed optab.
 
 2007-09-09  Hans-Peter Nilsson  <hp@axis.com>
 
 
        2007-09-06  Jan Hubicka  <jh@suse.cz>
  
-       * config/i386.c (ix86_expand_lround, ix86_expand_round): Update call of
-       real_2expN.
+       * config/i386.c (ix86_expand_lround, ix86_expand_round): Update call
+       of real_2expN.
 
        2007-09-06  Richard Sandiford  <richard@codesourcery.com>
 
        (machopic_legitimize_pic_address): Likewise.
 
 2007-09-06  Andrew Pinski  <andrew_pinski@playstation.sony.com>
-            Jan Hubicka  <jh@suse.cz>
+           Jan Hubicka  <jh@suse.cz>
 
        * config/spu/spu.md (floatsidf2): Use convert_optab_libfunc
        instead of ufloat_optab->handlers directly.
 
 2007-09-05  Sandra Loosemore  <sandra@codesourcery.com>
            David Ung  <davidu@mips.com>
-            Nigel Stephens <nigel@mips.com>
+           Nigel Stephens <nigel@mips.com>
 
        Add mips16/nomips16 function attributes and -mflip-mips16 option
        for testing mixed-mode compilation.
 
 2007-09-04  Andrew Haley  <aph@redhat.com>
 
-        * config/arm/libgcc-bpabi.ver: Add _Unwind_Backtrace as GCC_4.3.0.
+       * config/arm/libgcc-bpabi.ver: Add _Unwind_Backtrace as GCC_4.3.0.
 
 2007-09-04  Andrew Haley  <aph@redhat.com>
 
        Documentation.
 
 2007-09-03  Vladimir Yanovsky  <yanov@il.ibm.com>
-            Ayal Zaks  <zaks@il.ibm.com>
-            Revital Eres  <eres@il.ibm.com>
+           Ayal Zaks  <zaks@il.ibm.com>
+           Revital Eres  <eres@il.ibm.com>
 
        * modulo-sched.c (ps_insert_empty_row, verify_partial_schedule,
        compute_split_row): New functions.
        helpers.
 
 2007-08-31  David Edelsohn  <edelsohn@gnu.org>
-            Revital Eres  <eres@il.ibm.com>
-
-        * doc/invoke.texi (-mpaired): Document flag.
-        * config.gcc: Include paired.h in powerpc extra_headers and
-        750cl.h in powerpc-*-linux*paired*.
-        * config/rs6000/rs6000.opt (-mpaired): New flag.
-        * config/rs6000/rs6000.c (paired_init_builtins,
-        paired_expand_builtin, paired_expand_lv_builtin,
-        paired_expand_stv_builtin, paired_expand_predicate_builtin):
-        New functions to support the paired single builtin functions.
-        (rs6000_hard_regno_mode_ok): Handle PAIRED_VECTOR_MODE.
-        (def_builtin, bdesc_3arg, bdesc_2arg, bdesc_1arg): Add paired
-        single builtins.
-        (bdesc_paired_preds): New structure for paired predicate
-        instructions.
-        (rs6000_expand_builtin): Expand paired single builtins.
-        (rs6000_init_builtins): Init paired single builtins.
-        (rs6000_common_init_builtins): Add v2sf_ftype_v2sf_v2sf_v2sf.
-        Rename v2sf_ftype_v2sf_v2sf to v2sf_ftype_v2sf_v2sf_spe
-        and v2sf_ftype_v2sf_spe to v2sf_ftype_v2sf.  Add new types
-        v2sf_ftype_v2sf_v2sf and v2sf_ftype_v2sf.
-        (rs6000_vector_mode_supported_p): Support paired vector mode.
-        * config/rs6000/rs6000.h: (UNITS_PER_PAIRED_WORD,
-        PAIRED_VECTOR_MODE, PAIRED_SIMD_REGNO_P, TARGET_PAIRED_FLOAT):
-        New.
-        (LOCAL_ALIGNMENT): Handle PAIRED_VECTOR_MODE.
-        (DATA_ALIGNMENT): Likewise.
-        (UNITS_PER_SIMD_WORD): Handle PAIRED_VECTOR_MODE.
-        (rs6000_builtins): Add PAIRED builtins.
-        * config/rs6000/rs6000.md: Include paired.md.
-        * config/rs6000/paired.h: New.
-        * config/rs6000/paired.md: New.
-        * config/rs6000/750cl.h: New.
-        * config/rs6000/spe.md: Recognize movv2sf instruction for 750cl.
+           Revital Eres  <eres@il.ibm.com>
+
+       * doc/invoke.texi (-mpaired): Document flag.
+       * config.gcc: Include paired.h in powerpc extra_headers and
+       750cl.h in powerpc-*-linux*paired*.
+       * config/rs6000/rs6000.opt (-mpaired): New flag.
+       * config/rs6000/rs6000.c (paired_init_builtins,
+       paired_expand_builtin, paired_expand_lv_builtin,
+       paired_expand_stv_builtin, paired_expand_predicate_builtin):
+       New functions to support the paired single builtin functions.
+       (rs6000_hard_regno_mode_ok): Handle PAIRED_VECTOR_MODE.
+       (def_builtin, bdesc_3arg, bdesc_2arg, bdesc_1arg): Add paired
+       single builtins.
+       (bdesc_paired_preds): New structure for paired predicate
+       instructions.
+       (rs6000_expand_builtin): Expand paired single builtins.
+       (rs6000_init_builtins): Init paired single builtins.
+       (rs6000_common_init_builtins): Add v2sf_ftype_v2sf_v2sf_v2sf.
+       Rename v2sf_ftype_v2sf_v2sf to v2sf_ftype_v2sf_v2sf_spe
+       and v2sf_ftype_v2sf_spe to v2sf_ftype_v2sf.  Add new types
+       v2sf_ftype_v2sf_v2sf and v2sf_ftype_v2sf.
+       (rs6000_vector_mode_supported_p): Support paired vector mode.
+       * config/rs6000/rs6000.h: (UNITS_PER_PAIRED_WORD,
+       PAIRED_VECTOR_MODE, PAIRED_SIMD_REGNO_P, TARGET_PAIRED_FLOAT):
+       New.
+       (LOCAL_ALIGNMENT): Handle PAIRED_VECTOR_MODE.
+       (DATA_ALIGNMENT): Likewise.
+       (UNITS_PER_SIMD_WORD): Handle PAIRED_VECTOR_MODE.
+       (rs6000_builtins): Add PAIRED builtins.
+       * config/rs6000/rs6000.md: Include paired.md.
+       * config/rs6000/paired.h: New.
+       * config/rs6000/paired.md: New.
+       * config/rs6000/750cl.h: New.
+       * config/rs6000/spe.md: Recognize movv2sf instruction for 750cl.
 
 2007-08-30  Ollie Wild  <aaw@google.com>
 
        fits in the bitfield.
 
 2007-08-28  Mircea Namolaru  <namolaru@il.ibm.com>
-            Vladimir Yanovsky  <yanov@il.ibm.com>
-            Revital Eres  <eres@il.ibm.com>
-            Andrey Belevantsev  <abel@ispras.ru>
+           Vladimir Yanovsky  <yanov@il.ibm.com>
+           Revital Eres  <eres@il.ibm.com>
+           Andrey Belevantsev  <abel@ispras.ru>
 
        * config/spu/spu.md: Recognize doloop pattern when -fmodulo-sched
        is set.
        (init_regs): Update comments.
        (fix_register): Update initial_fixed_regs, initial_call_used_regs,
        and initial_call_really_used_regs, instead of the non-initial 
-        variables.  This allows us to save the command-line register settings
+       variables.  This allows us to save the command-line register settings
        after target reinitialization.
        (init_reg_autoinc): Zero forbidden_inc_dec_classes.
        * rtl.h (init_emit_regs): Declare.
        * expr.c (store_expr): Fix order of store_by_pieces arguments.
 
 2007-08-24  Sandra Loosemore  <sandra@codesourcery.com>
-            Nigel Stephens <nigel@mips.com>
+           Nigel Stephens <nigel@mips.com>
 
        PR target/11787
 
        insn_has_dfa_reservation_p ().
 
 2007-08-22  Christian Bruel  <christian.bruel@st.com>  
-            Richard Guenther <rguenther@suse.de>
+           Richard Guenther <rguenther@suse.de>
        
        * fold-const.c (fold_binary): Optimize A-A if -ffinite-math-only.
        * simplify_rtx (simplify_binary_operation_1): Likewise.
 
 2007-08-20  Pawel Sikora  <pluto@pld-linux.org>
 
-        * doc/invoke.texi (-Wnon-virtual-dtor): Update documentation.
+       * doc/invoke.texi (-Wnon-virtual-dtor): Update documentation.
 
 2007-08-20  David Edelsohn  <edelsohn@gnu.org>
 
 
 2007-08-20  Richard Guenther  <rguenther@suse.de>
 
-        * c-typeck.c (convert_for_assignment): Use the type of
-        the member for the initialization.
+       * c-typeck.c (convert_for_assignment): Use the type of
+       the member for the initialization.
 
 2007-08-20  Richard Guenther  <rguenther@suse.de>
 
        and compacting of basic blocks.
 
 2007-08-19  Andrew Pinski  <andrew_pinski@playstation.sony.com>
-           Serge Belyshev  <belyshev@depni.sinp.msu.ru>
+          Serge Belyshev  <belyshev@depni.sinp.msu.ru>
 
        PR target/32522
        * config/alpha/alpha.c (va_list_skip_additions): Check for
        (debug_aff): Likewise.
 
 2007-08-18  Paul Brook  <paul@codesourcery.com>
-            Joseph Myers  <joseph@codesourcery.com>
+           Joseph Myers  <joseph@codesourcery.com>
 
        * common.opt (-fdebug-prefix-map=): New option.
        * opts.c: Include debug.h.