OSDN Git Service

2007-10-20 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index dcb51c5..ca44e00 100644 (file)
@@ -1,3 +1,242 @@
+2007-10-20  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
+
+       * doc/invoke.texi (Warning Options): Move -w, -Werror, -Werror=
+       and -Wfatal-errors together.
+       
+2007-10-20  Alan Modra  <amodra@bigpond.net.au>
+
+       PR target/33812
+       * config/rs6000/rs6000.c (rs6000_emit_epilogue): Revert 2007-05-16
+       change for vrsave, ie restore after frame pop.
+
+2007-10-19  David S. Miller  <davem@davemloft.net>
+
+       * config/sparc/niagara2.md: Fix copyright notice.
+
+2007-10-19  Sebastian Pop  <sebastian.pop@amd.com>
+
+       PR tree-optimization/23820
+       PR tree-optimization/24309
+       PR tree-optimization/33766
+       * testsuite/gcc.dg/tree-ssa/pr23820.c: New.
+       * testsuite/gcc.dg/tree-ssa/pr24309.c: New.
+       * testsuite/gcc.dg/tree-ssa/pr33766.c: New.
+       * testsuite/gcc.dg/tree-ssa/ltrans-3.c: XFAILed.
+       * tree-loop-linear.c (perfect_loop_nest_depth): New.
+       (linear_transform_loops): Use perfect_loop_nest_depth.
+       * lambda-code.c (perfect_nest_p): Outer loops in perfect nests 
+       should have a single condition: their exit.
+
+2007-10-19  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/33816
+       PR middle-end/32921
+       * stor-layout.c (layout_type): Assert that aggregates do not
+       have their alias sets set.
+       * alias.c (get_alias_set): Return alias set zero for incomplete
+       types, return the alias set of the element for incomplete array
+       types, but do not remember these.
+
+2007-10-19  Richard Guenther  <rguenther@suse.de>
+
+       Revert
+       2007-10-19  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/32921
+       * tree.c (build_array_type): Do not re-layout unbound array
+       types.
+
+2007-10-19  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/32921
+       * tree.c (build_array_type): Do not re-layout unbound array
+       types.
+
+2007-10-19  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+       * config/mips/mips.c (mips_canonicalize_comparison):  Check
+       mips_relational_operand_ok_p before trying to rewrite the test.
+       Only calculate PLUS_ONE if needed.
+       (mips_emit_int_relational): Don't call mips_relational_operand_ok_p
+       here.
+
+2007-10-19  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+       * config/mips/mips.c (mips16e_build_save_restore): Fix *OFFSET_PTR
+       calculation.
+
+2007-10-19  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+       * config/mips/mips.c (mips_call_tls_get_addr): Don't claim that
+       the call uses the incoming value of $2.
+
+2007-10-19  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+       * config/mips/mips.c (mips_call_tls_get_addr): Use gen_const_mem
+       rather then gen_rtx_MEM.
+       (mips_setup_incoming_varargs): Use gen_frame_mem rather than
+       gen_rtx_MEM.
+       (mips_set_return_address): Likewise.
+       (mips_restore_gp): Likewise.
+
+2007-10-19  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+       * config/mips/mips.c (gpr_mode): Delete.
+       (mips16e_build_save_restore): Use word_mode and UNITS_PER_WORD
+       instead of gpr_mode.
+       (mips_for_each_saved_reg): Likewise.
+       (mips_expand_prologue, mips_expand_epilogue): Likewise.
+       (override_options): Don't initialize gpr_mode.
+       * config/mips/mips.md (eh_return): Use word_mode instead of gpr_mode.
+
+2007-10-19  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+       * config/mips/mips.c (mips_hard_regno_nregs): Put the UNITS_PER_WORD
+       case last.
+       (mips_class_max_nregs): Calculate the smallest consituent register
+       size and use that to determine an upper bound on the number of
+       registers.
+
+2007-10-19  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+       * config/mips/mips.c (mips16_copy_fpr_return_value): New function,
+       split out from...
+       (mips_expand_epilogue): ...here.
+       (mips_mdebug_abi_name): New function, split out from...
+       (mips_file_start): ...here.
+       (mips_hard_regno_mode_ok_p): New function, split out from...
+       (override_options): ...here.
+       (mips_expand_builtin_1): New function, split out from...
+       (mips_expand_buitin): ...here.  Abort if we don't recognize
+       the function.
+
+2007-10-19  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+       * config/mips/mips.c (build_mips16_function_stub): Load the
+       target address into $1 before transfering the arguments.
+       Don't use ".set noreorder".
+       (build_mips16_call_stub): Likewise.
+
+2007-10-19  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+       * config/mips/mips.c (mips_output_32bit_xfer): New function.
+       (mips_output_64bit_xfer): Likewise.
+       (mips16_fp_args): Rename to...
+       (mips_output_args_xfer): ...this and replace the FROM_FP_P argument
+       with a DIRECTION argument.  Use mips_output_32bit_xfer and
+       mips_output_64bit_xfer.
+       (build_mips16_function_stub): Update accordingly.
+       (mips16_fpret_double): Delete.
+       (build_mips16_call_stub): Update after above changes.
+       Use mips_output_32bit_xfer.  Use mips_output_64bit_xfer instead
+       of mips16_fpret_double.  Use GP_REG_RETURN.
+
+2007-10-19  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+       * config/mips/mips.c (mips16_fp_args): Remove the FILE argument and
+       use asm_out_file instead.
+       (build_mips16_function_stub): Likewise.
+       (build_mips16_call_stub, mips_output_function_prologue): Update
+       accordingly.
+
+2007-10-18  David S. Miller  <davem@davemloft.net>
+
+       Add Niagara-2 support.
+       * doc/invoke.texi: Document -m{cpu,tune}=niagara2.
+       * config.gcc: Add niagara2 to cpu and tune lists for sparc.
+       * config/sparc/sparc.md (sparc_cpu_attr): Add niagara2.
+       (include): Add inclusion of niagara2.md
+       * config/sparc/sparc.c (niagara2_costs): New.
+       (sparc_override_options): Add niagara2 entry to cpu_default[]
+       and cpu_table[].  Set align_functions to 32 on Niagara2.  Use
+       niagara2_costs when PROCESSOR_NIAGARA2.  Handle Niagara2 for
+       PARAM_SIMULTANEOUS_PREFETCHES and PARAM_L1_CACHE_LINE_SIZE.
+       (sparc_initialize_trampoline): Handle niagara2 like niagara.
+       (sparc64_initialize_trampoline): Likewise.
+       (sparc_use_sched_lookahead): Likewise.
+       (sparc_issue_rate): Likewise.
+       * config/sparc/sol2-bi.h: Handle TARGET_CPU_niagara2 and
+       mcpu=niagara2
+       * config/sparc/sparc.h (TARGET_CPU_niagara2): Define.
+       ({CPP,ASM}_CPU64_DEFAULT_SPEC): Set appropriately for
+       TARGET_CPU_niagara2.
+       (PROCESSOR_NIAGARA2): New.
+       (REGISTER_MOVE_COST): Handle PROCESSOR_NIAGARA2.
+       (BRANCH_COST): Likewise.
+       * config/sparc/linux64.h: Handle TARGET_CPU_niagara2.
+       * config/sparc/sol2.h: Likewise.
+       * config/sparc/niagara2.md: New file.
+
+2007-10-18  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+       * config/mips/mips.c (mips_frame_info): Remove gp_reg_size and
+       and fp_reg_size.
+       (mips_compute_frame_info): Remove associated code.
+       (mips16e_build_save_restore): Check num_fp instead of fp_reg_size.
+
+2007-10-18  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+       * config/mips/mips-protos.h (compute_frame_size): Delete.
+       * config/mips/mips.h: Update comments.
+       * config/mips/mips.c (mips_frame_info): Remove initialized.
+       (compute_frame_size): Rename to...
+       (mips_compute_frame_info): ...this and make static.  Remove the
+       SIZE argument and return no value.  Remove the setting of initialized.
+       Update rest of file accordingly.
+       (mips_set_return_address): Don't call compute_frame_size.
+       (mips_can_use_return_insn): Don't check df_regs_ever_live_p (31).
+       Don't call compute_frame_size.
+
+2007-10-18  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+       * config/mips/mips-protos.h (mips_frame_pointer_required): Declare.
+       * config/mips/mips.h (FRAME_POINTER_REQUIRED): Use
+       mips_hard_frame_pointer_required.
+       (CAN_ELIMINATE): Rely on FRAME_POINTER_REQUIRED to check for
+       large MIPS16 frames.
+       * config/mips/mips.c (mips_frame_pointer_required): New function.
+
+2007-10-18  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+       * config/mips/mips.c (mips_frame_info): Add arg_pointer_offset
+       and hard_frame_pointer_offset.
+       (mips_debugger_offset): Use hard_frame_pointer_offset.
+       (mips16e_collect_argument_save_p): Likewise.
+       (compute_frame_size): Initialize arg_pointer_offset and
+       hard_frame_pointer_offset.
+       (mips_initial_elimination_offset): Use them.
+       (mips_output_function_prologue): Use hard_frame_pointer_offset.
+       (mips_expand_prologue, mips_expand_epilogue): Likewise.
+
+2007-10-18  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+       * config/mips/mips.h (STARTING_FRAME_OFFSET): Remove rtl
+       profiling code.
+       * config/mips/mips.c (mips_frame_info): Give num_gp and num_fp type
+       "unsigned int" rather than "int" and put them with the other
+       register-related fields.  Put expanded comments above fields
+       rather than to their right.
+       (mips16e_mask_registers): Replace the GP_REG_SIZE_PTR argument
+       with a NUM_REGS_PTR argument.
+       (mips16e_save_restore_pattern_p): Update accordingly.
+       (compute_frame_size): Clarify frame diagram.  Rewrite.
+
+2007-10-18  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+       * config/mips/mips-ftypes.def: New file.
+       * config/mips/mips.c (MIPS_FTYPE_NAME1, MIPS_FTYPE_NAME2)
+       (MIPS_FTYPE_NAME3, MIPS_FTYPE_NAME4): New macros.
+       (mips_function_type): Redefine using mips-ftypes.def.
+       (dsp_bdesc): Use POINTER rather than PTR in the MIPS_*_FTYPE_* names.
+       (mips_builtin_vector_type): New function.
+       (MIPS_ATYPE_VOID, MIPS_ATYPE_INT, MIPS_ATYPE_POINTER, MIPS_ATYPE_SI)
+       (MIPS_ATYPE_USI, MIPS_ATYPE_DI, MIPS_ATYPE_SF, MIPS_ATYPE_DF)
+       (MIPS_ATYPE_V2SF, MIPS_ATYPE_V2HI, MIPS_ATYPE_V4QI, MIPS_FTYPE_ATYPES1)
+       (MIPS_FTYPE_ATYPES2, MIPS_FTYPE_ATYPES3, MIPS_FTYPE_ATYPES4): New
+       macros.
+       (mips_build_function_type): New function.
+       (mips_init_builtins): Use it to create types lazily.
+
 2007-10-18  Richard Sandiford  <rsandifo@nildram.co.uk>
 
        * config/mips/mips.h (set_volatile): Delete.