OSDN Git Service

* hooks.h (hook_reg_class_void_no_regs): Only declare if tm.h
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 1dfed62..fd7fd9c 100644 (file)
@@ -1,3 +1,336 @@
+2003-06-19  J"orn Rennecke <joern.rennecke@superh.com>
+
+       * hooks.h (hook_reg_class_void_no_regs): Only declare if tm.h
+       has been included.
+
+2003-06-18  James A Morrison <ja2morri@student.math.uwaterloo.ca>
+
+       * config/sparc/sparc.c: Update copyright year.
+
+2003-06-19  David Edelsohn  <edelsohn@gnu.org>
+
+       * config/rs6000/rs6000.c (init_cumulative_args): Limit CALL_LIBCALL
+       to ABI_V4.
+
+2003-06-18  Joseph S. Myers  <jsm@polyomino.org.uk>
+
+       PR bootstrap/4068
+       * config/i386/liunx.h: Don't include sys/ucontext.h for glibc 2.0.
+
+2003-06-19  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/h8300/h8300.c (TARGET_INITIALIZER and friends): Move
+       to the end of the file.  Remove unnecessary prototypes.
+
+2003-06-19  Hans-Peter Nilsson  <hp@axis.com>
+
+       * bt-load.c (migrate_btr_def) [INSN_SCHEDULING]: Conditionalize
+       calls to insn_default_latency and result_ready_cost.  Initialize
+       def_latency to 1.
+
+2003-06-18  Richard Henderson  <rth@redhat.com>
+
+        * config/ia64/unwind-ia64.c (_Unwind_GetCFA): New.
+        (_Unwind_FindEnclosingFunction): Implement.
+
+2003-06-18  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * toplev.c (rest_of_handle_sched): Hide the entire function if
+       INSN_SCHEDULING is not defined.
+       (rest_of_compilation): Call rest_of_handle_sched() only when
+       INSN_SCHEDULING is defined.
+
+2003-06-18  Stephen Clarke <stephen.clarke@superh.com>
+            J"orn Rennecke <joern.rennecke@superh.com>
+
+       * bt-load.c: New file.
+       * Makefile.in (OBJS): Include bt-load.o
+       (bt-load.o): Add dependencies.
+       * flags.h (flag_branch_target_load_optimize): Declare.
+       (flag_branch_target_load_optimize2): Likewise.
+       * hooks.c (hook_reg_class_void_no_regs): New function.
+       (hook_bool_bool_false): Likewise.
+       * hooks.h (hook_reg_class_void_no_regs, hook_bool_bool_false): Declare.
+       * rtl.h (branch_target_load_optimize): Declare.
+       * target-def.h (TARGET_BRANCH_TARGET_REGISTER_CLASS): Define.
+       (TARGET_BRANCH_TARGET_REGISTER_CALLEE_SAVED): Likewise.
+       (TARGET_INITIALIZER): Include these.
+       * target.h (struct gcc_target): Add branch_target_register_class
+       and branch_target_register_callee_saved members.
+       * toplev.c (enum dump_file_index): Add DFI_branch_target_load
+       (dump_file) Add "tars" entry.
+       (flag_branch_target_load_optimize): New variable.
+       (flag_branch_target_load_optimize2): Likewise.
+       (lang_independent_options): Add entries for new options.
+       (rest_of_compilation): Call branch_target_load_optimize.
+       * doc/tm.texi (TARGET_BRANCH_TARGET_REGISTER_CLASS): Document.
+       (TARGET_BRANCH_TARGET_REGISTER_CALLEE_SAVED): Likewise.
+       * doc/invoke.texi: Document -fbranch-target-load-optimize and
+       -fbranch-target-load-optimize2.
+       * rtl.h (epilogue_completed): Declare.
+       * recog.c (epilogue_completed): New variable.
+       * toplev.c (rest_of_compilation): Set it.
+       * flow.c (mark_regs_live_at_end): Use it.
+       * config/ia64/ia64.c (ia64_output_mi_thunk): Set it.
+       * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Likewise.
+       * config/sh/sh.c (sh_output_mi_thunk): Likewise.
+       * config/sparc/sparc.c (sparc_output_mi_thunk): Likewise.
+
+       * sh.c (shmedia_space_reserved_for_target_registers): New variable.
+       (sh_target_reg_class): New function.
+       (sh_optimize_target_register_callee_saved): Likwise.
+       (shmedia_target_regs_stack_space): Likewise.
+       (shmedia_reserve_space_for_target_registers_p): Likewise.
+       (shmedia_target_regs_stack_adjust): Likewise.
+       (TARGET_BRANCH_TARGET_REGISTER_CLASS): Override.
+       (TARGET_BRANCH_TARGET_REGISTER_CALLEE_SAVED): Likewise.
+       (calc_live_regs): If flag_branch_target_load_optimize2 and
+       TARGET_SAVE_ALL_TARGET_REGS is enabled, and we have space reserved
+       for target registers, make sure that we save all target registers.
+       (sh_expand_prologue, sh_expand_epilogue): Take target register
+       optimizations into account.  Collapse stack adjustments if that
+       is beneficial.
+       (initial_elimination_offset): Reserve space for target registers
+       if necessary.
+       * sh.h (SAVE_ALL_TR_BIT, TARGET_SAVE_ALL_TARGET_REGS): Define.
+       (OPTIMIZATION_OPTIONS): Enable flag_branch_target_load_optimize.
+
+2003-06-18  Nick Clifton  <nickc@redhat.com>
+
+       * config.gcc: Add an extra_header for ARM targets.
+        Support configuring with --with-cpu=iwmmxt.
+       * doc/invoke.texi: Document new value for -mcpu= ARM switch.
+        * config/arm/aof.h (REGISTER_NAMES): Add iwmmxt register
+       names.  Fix formatting.        
+        * config/arm/aout.h (REGISTER_NAMES): Add iwmmxt register
+       names.
+        * config/arm/arm-protos.h (arm_emit_vector_const): New
+       prototype.
+       (arm_output_load_gr): New prototype.
+       * config/arm/arm.c (extra_reg_names1): Delete.
+        (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN, FL_IWMMXT,
+       * arch_is_iwmmxt): Define.
+       (all_cores, all_architecture): Add entry for iwmmxt.
+       (arm_override_options): Add support for iwmmxt.
+       (use_return_insn, arm_function_arg, arm_legitimate_index_p,
+       arm_print_value, arm_rtx_costs_1, output_move_double,
+       arm_compute_save_reg_mask, arm_output_epilogue,
+       arm_get_frame_size, arm_expand_prologue, arm_print_operand,
+       arm_assemble_integer, arm_hard_regno_ok, arm_regno_class):
+       Likewise.
+       (arm_init_cumulative_args): Count iwmmxt registers.
+       (arm_function_ok_for_sibcall): Return false of sibcall_blocked
+       has been set.
+       (struct minipool_node): Add fix_size field.
+       (add_minipool_forward_ref): Add support for 8-byte aligning of
+       the pool.
+       (add_minipool_backward_ref, add_minipool_offsets,
+       dump_minipool, push_minipool_fix): Likewise.
+       (struct builtin_description): New struct.
+        (builtin_description): New array of iwmmxt builtin functions.
+        (arm_init_iwmmxt_builtins): New function.
+        (arm_init_builtins): New function.
+        (safe_vector_operand): New function.
+        (arm_expand_binop_builtin): New function.
+        (arm_expand_unop_builtin): New function.
+        (arm_expand_builtin): New function.
+        (arm_emit_vector_const): New function.
+        (arm_output_load_gr): New function.
+        * config/arm/arm.h (TARGET_CPU_iwmmxt, TARGET_IWMMXT,
+       TARGET_REALLY_IWMMXT, arm_arch_iwmmxt, IWMMXT_ALIGNMENT,
+       TYPE_NEEDS_IWMMXT_ALIGNMENT, ADJUST_FIELD_ALIGN,
+       DATA_ALIGNMENT, LOCAL_ALIGNMENT, VECTOR_MODE_SUPPORTED_P): Define.
+        (BIGGEST_ALIGNMENT): Set to 64 if ATPCS support is enabled.
+        (CPP_CPU_ARCH_SPEC): Add entries for iwmmxt.
+        (FIXED_REGISTERS, CALL_USED_REGISTERS, REG_ALLOC_ORDER,
+       reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS,
+       REG_CLASS_FOR_LETTER): Add iwmmxt registers.
+        (SUBTARGET_CONDITIONAL_REGISTER_USAGE): Disable iwmmxt
+       registers unless the iwmmxt target is selected.
+        (FIRST_IWMMXT_GR_REGNUM, LAST_IWMMXT_GR_REGNUM,
+       FIRST_IWMMXT_REGNUM, LAST_IWMMXT_REGNUM, IS_IWMMXT_REGNUM,
+       IS_IWMMXT_GR_REGNUM): Define.
+        (FIRST_PSEUDO_REGISTER): Bump to 63.
+        (struct machine_function): Add sibcall_blocked field.
+        (Struct CUMULATIVE_ARGS): Add iwmmxt_nregs, named_count and
+       nargs fields.
+        (enum arm_builtins): New enum list.
+        * config/arm/arm.md (UNSPEC_WSHUFH, UNSPEC_WACC,
+       UNSPEC_TMOVMSK, UNSPEC_WSAD, UNSPEC_WSADZ, UNSPEC_WMACS,
+       UNSPEC_WMACU, UNSPEC_WMACSZ, UNSPEC_WMACUZ, UNSPEC_CLRDI,
+       UNSPEC_WMADDS, UNSPEC_WMADDU): New unspecs.
+       (VUNSPEC_TMRC, VUNSPEC_TMCR, VUNSPEC_ALIGN8, VUNSPEC_WCMP_EQ,
+       VUNSPEC_WCMP_GTU, VUNSPEC_WCMP_GT): New vunspecs.
+        (movv2si, movv4hi, movv8qi): New expands for vector moves.
+        Include iwmmxt.md.
+       * config/arm/t-xscale-elf (MULTILIB_OPITONS): Add iwmmxt
+       multilib.
+        (MULTILIB_DIRNAMES, MULTILIB_REDUNDANT_DIRS): Likewise.
+        * config/arm/mmintrin.h: New ARM specific header file.
+        * config/arm/iwmmx.md: New iWMMXt specific machine patterns.
+
+2003-06-18  J"orn Rennecke <joern.rennecke@superh.com>
+
+       * toplev.c (Remaining -d letters summary): Update.
+
+2003-06-18  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
+
+       * config/rs6000/rs6000.c (init_cumulative_args): Add and handle LIBCALL
+       argument.
+       (function_arg): Handle CALL_LIBCALL flag.
+       * config/rs6000/rs6000-protos.h (init_cumulative_args): Update
+       prototype.
+       * config/rs6000/rs6000.h (CALL_LIBCALL): New macro.
+       (INIT_CUMULATIVE_LIBCALL_ARGS): New macro.
+       (INIT_CUMULATIVE_ARGS): Add LIBCALL argument.
+       (INIT_CUMULATIVE_INCOMING_ARGS): Likewise.
+
+2003-06-18  Neil Booth  <neil@daikokuya.co.uk>
+
+       * Makefile.in: Update.
+       * common.opt: New options.
+       * opts.c (maybe_warn_unused_parameter, set_Wextra, handle_param,
+       set_Wunused): New.
+       (common_handle_option): Handle new options.
+       * toplev.c (set_target_switch): Export.
+       (set_Wextra, set_Wunused, maybe_warn_unused_parameter): Move to opts.c.
+       (decode_W_option): -Wunused and -Wextra handled in opts.c now.
+       (independent_decode_option): More options handled in opts.c now.
+       Change prototype.
+       * toplev.h (set_target_switch): New.
+
+2003-06-17  Robert Abeles  <rabeles@archaelogic.com>
+
+       PR debug/4252
+       * c-opts.c (c_common_handle_option): Pass -fdump argument suffix
+       to dump_switch_p().
+       * tree-dump.c (dump_switch_p): Remove redundant 'dump-' prefix
+       from static strings in dump_files.
+
+2003-06-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * system.h (ANSI_PROTOTYPES, PTR_CONST, LONG_DOUBLE, VPARAMS,
+       VA_OPEN, VA_FIXEDARG, VA_CLOSE, VA_START): undef and poison these
+       libiberty macros.
+
+2003-06-17  Jason Merrill  <jason@redhat.com>
+
+       PR c++/10929
+       * tree-inline.c (expand_call_inline): Don't warn about failing to
+       inline a function which was made inline by -finline-functions.
+
+2003-06-17  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/h8300/h8300-protos.h: Update to ISO C.
+       * config/h8300/h8300.c: Likewise.
+       * config/h8300/h8300.h: Likewise.
+       * config/h8300/h8300.md: Likewise.
+
+2003-06-16  Nathanael Nerode  <neroden@gcc.gnu.org>
+
+       * configure.in: Replace BUILD_CC references with CC_FOR_BUILD.
+       * configure: Regenerate.
+       * Makefile.in: Replace BUILD_CC references with CC_FOR_BUILD.
+
+2003-06-17  Ranjit Mathew  <rmathew@hotmail.com>
+
+       * install.texi (Testing): Add information on how to run Java
+       runtime tests separately.
+
+2003-06-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+
+       * config/mips/mips.md (trap): Use break 0 when !TARGET_GAS.
+
+       * config/mips/iris6-o32.h (MIPS_ISA_DEFAULT): Remove.
+       (MIPS_CPU_STRING_DEFAULT): Redefine to mips2.
+
+2003-06-17  Christopher Faylor  <cgf@redhat.com>
+
+       * doc/install.texi: Add msvc rebuild caveat.
+
+2003-06-17  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/sh/coff.h: Replace Hitachi with Renesas.
+       * config/sh/elf.h: Likewise.
+       * config/sh/embed-elf.h: Likewise.
+       * config/sh/lib1funcs.asm: Likewise.
+       * config/sh/sh-protos.h: Likewise.
+       * config/sh/sh.c: Likewise.
+       * config/sh/sh.h: Likewise.
+       * config/sh/sh.md: Likewise.
+
+2003-06-17  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * ChangeLog.3: Fix comment typos.
+       * ChangeLog.6: Likewise.
+       * config/d30v/d30v.c: Likewise.
+       * config/h8300/h8300.md: Likewise.
+       * config/m32r/m32r.md: Likewise.
+       * config/mips/mips.c: Likewise.
+       * config/mips/mips.md: Likewise.
+       * config/ns32k/NOTES: Likewise.
+
+2003-06-17  Ranjit Mathew  <rmathew@hotmail.com>
+            Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
+       
+       * doc/sourcebuild.texi (libgcj Tests): Simplify instructions on how
+       to run Java runtime tests separately.
+
+2003-06-17  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/h8300/h8300-protos.h: Update a comment.
+
+2003-06-17  J"orn Rennecke <joern.rennecke@superh.com>
+
+       * sh.h (ROUND_TYPE_ALIGN, LOCAL_ALIGNMENT): Complex modes
+       are aligned like integral modes.
+       (SH5_WOULD_BE_PARTIAL_NREGS): Also test for CDImode and DCmode.
+
+       * sh.h (EXTRA_CONSTRAINT_Csy): Allow PIC_DIRECT_ADDR_P.
+       (LEGITIMATE_PIC_OPERAND_P): Allow LABEL_REF.
+       * sh.md (*pt): Remove.
+
+       * sh.h (REG_ALLOC_ORDER): Avoid squandering call-saved registers.
+
+       * sh.md (return_media_rte): New pattern.
+       (return_media): Use it.
+
+2003-06-17  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * doc/contrib.texi: Replace Hitachi with Renesas.
+       * doc/install.texi: Likewise.
+       * doc/invoke.texi: Likewise.
+
+2003-06-17  J"orn Rennecke <joern.rennecke@superh.com>
+
+       * sh.h (CONST_OK_FOR_J16): Fix HOST_BITS_PER_WIDE_INT >= 64
+       behaviour.
+
+2003-06-17  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
+
+       * doc/tm.texi (MD_FALLBACK_FRAME_STATE_FOR): Mention MAKE_THROW_FRAME.
+
+       * config/rs6000/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Partly revert
+       2003-01-23 patch. Corrected to handle kernels with changed ucontext.
+
+       * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Error on invalid
+       -msdata=eabi usages.
+
+       * gcc/config/rs6000/sysv4.h (USE_LIBC_1): Delete all uses.
+
+2003-06-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * alloc-pool.c: Don't check HAVE_LONG_DOUBLE.
+       * fixinc/gnu-regex.c: Don't define `volatile'.
+       * ggc-page.c: Don't check HAVE_LONG_DOUBLE.
+       * ggc-simple.c: Likewise.
+       * system.h: Don't define `volatile'.
+
+       * aclocal.m4 (gcc_AC_C_VOLATILE, gcc_AC_C_LONG_DOUBLE): Delete.
+       * configure.in (gcc_AC_C_VOLATILE, gcc_AC_C_LONG_DOUBLE): Don't
+       call these macros.
+       * config.in, configure: Regenerated.
+
 2003-06-17  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
 
        * config/ia64/ia64.c (ia64_expand_builtin, case IA64_BUILTIN_BSP):