OSDN Git Service

config/
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 2073182..d6eeb98 100644 (file)
@@ -1,3 +1,359 @@
+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.
+       * c-format.c (scanf_flag_specs): Add 'm'.
+       (scanf_flag_pairs): Add 'a', 'm' pair.
+       (scan_char_table): Allow 'm' modifier for c, s, [, C and S.
+       (format_types_orig): Add alloc_char fields.
+       (check_format_info_main): Rename aflag to alloc_flag.
+       Handle fki->alloc_char. modifier after width and before length
+       modifiers.  Move FMT_FLAG_SCANF_A_KLUDGE handling before
+       length modifiers as well.
+       * config/sol2-c.c (solaris_format_types): Add alloc_char field.
+
+       PR middle-end/33423
+       * builtins.c (expand_builtin_memory_chk): Handle COMPOUND_EXPRs
+       returned by build_call_expr.
+
+2007-09-17  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * tree-sra.c (maybe_lookup_element_for_expr) <COMPONENT_REF>: Return
+       NULL for variable-sized records too.
+       (sra_walk_expr) <COMPONENT_REF>: Stop at variable-sized records too.
+
+2007-09-17  Tom Tromey  <tromey@redhat.com>
+
+       * c-decl.c (pushdecl): Don't set DECL_LANG_SPECIFIC.
+       (c_builtin_function): Likewise.
+       (grokdeclarator): Likewise.
+
+2007-09-17  Zdenek Dvorak  <ook@ucw.cz>
+
+       PR rtl-optimization/26449
+       * loop-invariant.c (move_invariant_reg): Do not use force_operand.
+       (seq_insns_valid_p): Removed.
+
+2007-09-17  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * tree-nomudflap.c (gate_mudflap): New static function.
+       (pass_mudflap_1): Use it as gate function.
+       (pass_mudflap_2): Likewise.
+
+2007-09-17  Jan Hubicka  <jh@suse.cz>
+
+       PR middle-end/33348
+       PR target/33406
+       * loop-invariant.c (move_invariant_reg): Unshare sequence.
+
+2007-09-17  Victor Kaplansky  <victork@il.ibm.com>
+
+       PR tree-optimization/33319
+       * tree-vect-analyze.c (vect_same_range_drs): New.
+       (vect_vfa_range_equal): New.
+       (vect_is_duplicate_ddr): Removed.
+       (vect_mark_for_runtime_alias_test): Do not perform marking when
+       optimizing for size or max_param for alias checking is zero.
+       Move the function before vect_analyze_data_ref_dependence.
+       (vect_analyze_data_ref_dependence): Add call to
+       vect_mark_for_runtime_alias_test in two cases when dependence
+       is not clear.
+       (vect_analyze_data_ref_dependences): Do not call to
+       vect_mark_for_runtime_alias_test.
+       (vect_prune_runtime_alias_test_list): New.
+       (vect_analyze_loop): Add call to vect_prune_runtime_alias_test_list.
+       * tree-vect-transform.c (vect_estimate_min_profitable_iters):
+       Update vec_outside_cost.
+       (vect_vfa_segment_size): More compact code, use TYPE_SIZE_UNIT.
+       (vect_create_cond_for_alias_checks): Build the base address of data
+       reference from DR_GROUP_FIRST_DR.
+       (vect_loop_versioning): New.
+       (vect_transform_loop): Add a call to vect_loop_versioning.
+       Remove factored out code.
+
+2007-09-16  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       PR middle-end/33273
+       * expr.c (store_expr): Call adjust_address to change mode of dest_mem
+       to BLKmode.
+
+2007-09-16  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+       * dse.c (find_shift_sequence): Allow word as well as subword shifts.
+       Do the tentative shift expansion with the DF_NO_INSN_RESCAN flag set.
+       Fix the call to insn_rtx_cost.  Skip access sizes that require a
+       real truncation of the store register.  Use convert_move instead
+       of gen_lowpart when narrowing the result.
+       (replace_read): Use convert_move instead of gen_lowpart when
+       narrowing the store rhs.
+
+2007-09-16  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+       * config/mips/mips.md (SHORT): Fix long line.
+       (SUBDI): New mode iterator.  Extend the shift-and-truncate insns
+       to QImode and HImode.
+
+2007-09-16  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+       * config/mips/mips.h (POINTERS_EXTEND_UNSIGNED): Define.
+
 2007-09-15  Zdenek Dvorak  <ook@ucw.cz>
 
        * tree-parloops.c: New file.