OSDN Git Service

* config/mips/mips.c (mips_global_pointer): Don't try to use $25.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 2dfe805..99f3442 100644 (file)
@@ -1,4 +1,369 @@
-2003-10-21  Gunther Nikl  <gni@gecko.de>
+2003-10-30  Richard Sandiford  <rsandifo@redhat.com>
+
+       * config/mips/mips.c (mips_global_pointer): Don't try to use $25.
+
+2003-10-30  Richard Henderson  <rth@redhat.com>
+
+       * config/mips/mips.c (mips_build_builtin_va_list): Use runtime
+       test for irix6 rather than preprocessor test.
+
+2003-10-30  Richard Henderson  <rth@redhat.com>
+
+       * cppcharset.c (one_utf8_to_utf16): Initialize 's' to silence warning.
+
+2003-10-30  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * config/s390/s390.c (struct machine_function): Use save_return_addr_p
+       as a general flag that the return address register needs to be saved,
+       not necessarily because of __builtin_return_addr (0).
+       (s390_split_branches): Remove TEMP_REG and TEMP_USED arguments,
+       remove special handling of zSeries machines.
+       (s390_optimize_prolog): Remove TEMP_USED argument, treat the return 
+       register as a regular register on zSeries machines.
+       (s390_reorg): Adjust calls to s390_split_branches and 
+       s390_optimize_prolog.
+       (s390_frame_info): On zSeries machines, do not assume the return
+       register is always used.  Update regs_ever_live with current data
+       for the special registers.
+       (s390_emit_epilogue): Use save_return_addr_p to determine whether
+       the return register was saved.
+       * config/s390/s390.h (CONDITIONAL_REGISTER_USAGE): Do not mark
+       RETURN_REGNUM fixed on zSeries machines.
+       (REG_ALLOC_ORDER): Use RETURN_REGNUM last.
+       * config/s390/s390.md ("*doloop_si"): Handle branch overflow
+       via ahi-jgne pair on zSeries machines.
+       ("*doloop_di"): Likewise.
+       ("*doloop_di_long"): Remove.
+
+2003-10-30  Richard Earnshaw  <rearnsha@arm.com>
+
+       * arm.c (arm_override_options): Revert change of arm_constant_limit
+       when optimizing for size.
+
+2003-10-29  Richard Henderson  <rth@redhat.com>
+
+       * fold-const.c (fold_single_bit_test): Convert the input to the
+       operational intermediate type.
+
+2003-10-29  Richard Henderson  <rth@redhat.com>
+
+       * builtins.c (std_build_builtin_va_list): New.
+       * expr.h (std_build_builtin_va_list): Declare.
+       * defaults.h (BUILD_VA_LIST_TYPE): New.
+       * system.h (BUILD_VA_LIST_TYPE): Poison.
+       * target-def.h (TARGET_BUILD_BUILTIN_VA_LIST): New.
+       * target.h (struct gcc_target): Add build_builtin_va_list.
+       * tree.c (build_common_tree_nodes_2): Use it.
+
+       * config/alpha/alpha-protos.h, config/alpha/alpha.c, 
+       config/alpha/alpha.h, config/alpha/unicosmk.h,
+       config/d30v/d30v-protos.h, config/d30v/d30v.c, config/d30v/d30v.h,
+       config/i386/i386-protos.h, config/i386/i386.c, config/i386/i386.h,
+       config/i860/i860-protos.h, config/i860/i860.c, config/i860/i860.h,
+       config/i960/i960-protos.h, config/i960/i960.c, config/i960/i960.h,
+       config/mips/iris6.h, config/mips/mips-protos.h, config/mips/mips.c,
+       config/mips/mips.h, config/rs6000/rs6000-protos.h, 
+       config/rs6000/rs6000.c, config/rs6000/rs6000.h,
+       config/s390/s390-protos.h, config/s390/s390.c, config/s390/s390.h,
+       config/sh/sh-protos.h, config/sh/sh.c, config/sh/sh.h,
+       config/xtensa/xtensa-protos.h, config/xtensa/xtensa.c,
+       config/xtensa/xtensa.h: Rename foo_build_va_list to
+       foo_build_builtin_va_list; make it static.  Define
+       TARGET_BUILD_BUILTIN_VA_LIST.  Remove BUILD_VA_LIST_TYPE.
+       Update protos.
+
+       * config/i386/i386.c (ix86_expand_carry_flag_compare): Make static.
+       * config/iq2000/iq2000.h (BUILD_VA_LIST_TYPE): Remove.
+
+2003-10-29  James E Wilson  <wilson@specifixinc.com>
+
+       * recog.c (asm_operand_ok): Add missing break after case 'X'.
+       Change if statements to else if statements in default case.
+       (extract_constrain_insn_cached): Fix misspelling of constrain_operands
+       in comment.
+       (constrain_operands_cached): Likewise.
+       (constrain_operands): Change if statements to else if statements in
+       default case.
+       * reload.c (find_reloads): Likewise.
+
+2003-10-29  Richard Henderson  <rth@redhat.com>
+
+       * config/m68k/m68k.c (notice_update_cc): Clear cc status for
+       shifts and rotates.
+
+2003-10-30  Alan Modra  <amodra@bigpond.net.au>
+
+       * config/rs6000/rs6000.md: Remove duplicate pattern.
+
+2003-10-29  Hans-Peter Nilsson  <hp@axis.com>
+
+       * real.c (do_divide): Initialize result with a 0.
+
+       * configure.in <enable-checking for valgrind>: Look for
+       <valgrind/memcheck.h> first.  AC_DEFINE HAVE_VALGRIND_MEMCHECK_H
+       if it exists.
+       * configure, config.in: Regenerate.
+       * ggc-common.c [ENABLE_VALGRIND_CHECKING &&
+       HAVE_VALGRIND_MEMCHECK_H]: Include <valgrind/memcheck.h>.  Use
+       #elif for other alternatives.
+       * ggc-page.c: Ditto.
+       * ggc-zone.c: Don't assume <valgrind/memcheck.h>; instead copy
+       include structure from ggc-common.c.
+
+2003-10-29  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       * pa-linux.h (ASM_OUTPUT_ADDR_VEC_ELT): Use label in big switch ELTs.
+       (ASM_OUTPUT_ADDR_DIFF_ELT): Use label difference in big switch ELTs.
+       * pa.c (pa_adjust_insn_length): Check for btable branches using
+       attribute TYPE_BTABLE_BRANCH.
+       (pa_reorg): Simplify.
+       * pa.h (CASE_VECTOR_MODE): Change big switch mode to SImode.
+       (ASM_OUTPUT_ADDR_VEC_ELT): As above.
+       (ASM_OUTPUT_ADDR_DIFF_ELT): As above.
+       * pa.md (btable_branch): New instruction type.
+       (in_branch_delay, in_nullified_branch_delay, in_call_delay): Disallow
+       btable branches.
+       (define_delay): Add btable branches to insn types that may have an
+       insn in the delay position.
+       (Z2, Z3): Add btable branch to list.
+       Simplify unamed pattern set copy pic_label_operand to register.  Add
+       PA 2.0 variant.
+       (short_jump): New jump for use in branch tables.
+       (casesi, casesi0): Revise for new branch table formats.
+       (casesi32, casesi32p, casesi64p): New casesi patterns.
+       (indirect_jump): Move.
+
+2003-10-29  David Edelsohn  <edelsohn@gnu.org>
+
+       * config/rs6000/rs6000.h (UNITS_PER_WORD): Revert to
+       !TARGET_POWERPC64.
+       (UNITS_PER_GPR_WORD): Delete.
+       (HARD_REGNO_NREGS): Revert to UNITS_PER_WORD.
+       (HARD_REGNO_MODE_OK): Same.
+       (CLASS_MAX_NREGS): Same.
+
+2003-10-29  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       * pa.h (ASM_COMMENT_START): Define.
+
+2003-10-29  Zack Weinberg  <zack@codesourcery.com>
+
+       * genmodes.c (complete_mode): Record MODE_CC, MODE_INT,
+       MODE_FLOAT, and MODE_PARTIAL_INT modes as having one
+       component, not zero.
+
+2003-10-29  Andreas Schwab  <schwab@suse.de>
+
+       * config/ia64/t-ia64 (LIB2ADDEH): Add $(srcdir)/gthr-gnat.c.
+
+2003-10-29  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       * config/sparc/sparc.c (function_arg_partial_nregs) [TARGET_ARCH64]:
+       Never return 1 for complex integral modes whose size is lesser or
+       equal to a word.
+       (function_arg_pass_by_reference) [TARGET_ARCH64]: Mention CTImode
+       in the comment.
+       (function_arg_advance) [TARGET_ARCH64]: Don't special-case complex
+       modes.
+       (sparc_va_arg) [TARGET_ARCH64]: Handle any types whose size is
+       greater than 16 bytes by reference.
+
+2003-10-29  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * config/ia64/ia64.c (ia64_assemble_integer): Test POINTER_SIZE,
+       not TARGET_ILP32.
+       (ia64_initialize_trampoline): Use globalize_label target call.
+
+2003-10-29  Andreas Schwab  <schwab@suse.de>
+
+       * doc/install.texi (Building): Add a sentence about building Ada
+       for a canadian cross.
+
+2003-10-28  Zack Weinberg  <zack@codesourcery.com>
+
+       * config/ia64/ia64.c (cmptf_libfunc): New static.
+       (ia64_expand_compare): Add logic to open-code calls to
+       _U_Qfcmp for TFmode comparisons.
+       (ia64_hpux_init_libfuncs): Initialize cmptf_libfunc.
+       Set libfuncs for TFmode eq/ne/gt/ge/lt/gt to 0; these should
+       never be generated anymore.
+       * config/ia64/ia64.md (cmptf): New expander.
+
+2003-10-28  Zack Weinberg  <zack@codesourcery.com>
+
+       * ia64.md (UNSPEC_SETF_EXP,UNSPEC_FR_SQRT_RECIP_APPROX): New constants.
+       (*sqrt_approx): New instruction pattern for approximate square roots.
+       (*setf_exp_xf): New instruction pattern for exponentiation.
+       (*maddxf4_alts_truncsf): New instruction pattern for truncation.
+       (sqrtsf2_internal_thr): New define_and_split implementing
+       throughput-optimized inline calculation of SFmode square root.
+       (sqrtdf2_internal_thr): Likewise for DFmode.
+       (sqrtxf2_internal_thr): Likewise for XFmode.
+       (sqrtsf2, sqrtdf2, sqrtxf2): New expanders to choose between
+       latency- and throughput-optimized square root algorithms.
+       * ia64.h (MASK_INLINE_SQRT_LAT, MASK_INLINE_SQRT_THR,
+       TARGET_INLINE_SQRT_LAT, TARGET_INLINE_SQRT_THR, TARGET_INLINE_SQRT):
+       New macros.
+       (TARGET_SWITCHES): Add -minline-sqrt-min-latency and
+       -minline-sqrt-max-throughput.
+       * ia64.c (ia64_override_options): If both -minline-sqrt-min-latency
+       and -minline-sqrt-max-throughput are given, notify the user
+       that both options cannot be used simultaneously.
+       If -minline-sqrt-min-latency is given, notify the user that
+       this mode is not yet implemented.
+       (rtx_needs_barrier): Reformat initial comment to obey
+       72-character width limit.  Support UNSPEC_SETF_EXP and
+       UNSPEC_FR_SQRT_RECIP_APPROX.
+
+2003-10-29  Alan Modra  <amodra@bigpond.net.au>
+
+       * config/rs6000/rs6000.md (movdf_softfloat64): Allow dummy ctr,ctr
+       moves.
+
+2003-10-28  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
+
+       PR target/11598
+       PR libgcj/10610
+       * config/rs6000/sysv4.h (PREFERRED_STACK_BOUNDARY): New macro.
+
+2003-10-28  Richard Earnshaw  <rearnsha@arm.com>
+
+       * arm.c (arm_output_epilogue): When using a frame pointer, don't emit
+       an extra stack adjustment insn if the stack pointer is already
+       pointing at the right place.
+       (use_return_insn): Allow a return insn to be used when we have a
+       frame pointer if the stack pointer is in the right place.
+       (output_return_instruction): Handle it.
+
+2003-10-28  Andreas Jaeger  <aj@suse.de>
+
+       * ggc-zone.c (check_cookies): Add missing variable.
+       Add void to prototypes.
+
+2003-10-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * config/mips/irix6-libc-compat.c (inet_makeaddr): Prototype.
+       * crtstuff.c (__do_global_ctors_1): Move prototype.
+       * unwind-dw2.c (NO_SIZE_OF_ENCODED_VALUE): Define when
+       appropriate.
+       * unwind-sjlj.c (_Unwind_GetCFA, _Unwind_FindEnclosingFunction):
+       Mark parameter with __attribute__((unused)).
+
+2003-10-27  Zack Weinberg  <zack@codesourcery.com>
+
+       * c-decl.c (pushdecl): Clarify comment.
+
+2003-10-27  Arnaud Charlet  <charlet@act-europe.fr>
+
+       * doc/install.texi: Update instructions for Ada cross builds
+
+       PR ada/5909:
+       * doc/sourcebuild.texi: Document Ada test suite.
+
+2003-10-27  Stephane Carrez  <stcarrez@nerim.fr>
+
+       * config/m68hc11/m68hc11.c: Convert to ISO C90.
+       * config/m68hc11/m68hc11-protos.h: Likewise.
+
+2003-10-27  Jan Hubicka  <jh@suse.cz>
+           Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       * toplev.c (enum dump_file_index, dump_file): Fix ordering of
+       webizer pass dump.
+
+2003-10-27  Jakub Jelinek  <jakub@redhat.com>
+           Jan Hubicka  <jh@suse.cz>
+
+       * reload1.c (struct elim_table): Change offset, initial_offset and
+       previous_offset fields to HOST_WIDE_INT.
+       (offsets_at): Change from int to HOST_WIDE_INT.
+       (reload): Adjust offsets_at initialization.
+       (eliminate_regs_in_insn): Change type of offset to HOST_WIDE_INT.
+       (verify_initial_elim_offsets): Change type of t to HOST_WIDE_INT.
+       * config/i386/i386.c (ix86_compute_frame_layout): Change offset type
+       to HOST_WIDE_INT.  Don't save regs using mov for huge frame sizes
+       if TARGET_64BIT.
+       (pro_epilogue_adjust_stack): New function.
+       (ix86_expand_prologue, ix86_expand_epilogue): Use it.
+       * config/i386/i386.md (pro_epilogue_adjust_stack): Remove.
+       (pro_epilogue_adjust_stack_1): Remove * in front of name.
+       (pro_epilogue_adjust_stack_rex64): Handle -2147483648 properly.
+       (pro_epilogue_adjust_stack_rex64_2): New insn.
+
+       * config/i386/i386.c (ix86_expand_epilogue): Fix comment typo.
+
+       * config/i386/i386.c (ix86_expand_call): Replace 40 with
+       FIRST_REX_INT_REG + 3 /* R11 */.
+
+2003-10-26  Richard Henderson  <rth@redhat.com>
+
+       * config/alpha/alpha.md (attr cannot_copy): New.
+       (call_osf_2_er, call_value_osf_2_er, ldgp_er_1, ldgp_er_2,
+       prologue_ldgp_er_2, prologue_ldgp_1): Set it.
+       * config/alpha/alpha.c (alpha_cannot_copy_insn_p): Test it.
+
+2003-10-26  Daniel Berlin  <dberlin@dberlin.org>
+
+       * ggc-zone.c:  New file, zone allocating collector.
+       * configure: Accept zone option for --with-gc
+       * configure.in: Ditto.
+       * ggc.h (ggc_pch_count_object): Pass bool indicating
+       stringiness. Update all callers.
+       (ggc_pch_alloc_object): Ditto.
+       (ggc_pch_write_object): Ditto.
+       (ggc_alloc_rtx): Use typed allocation, since all RTX's are of a single
+       type.
+       (ggc_alloc_rtvec): Ditto.
+       (ggc_alloc_tree): Use zone allocation, since some things using this macro
+       aren't a single typecode.
+       * ggc-none.c (ggc_alloc_typed): New function.
+       (ggc_alloc_zone): Ditto.
+       * ggc-page.c: Ditto on both functions.
+
+2003-10-26  Gunther Nikl  <gni@gecko.de>
+
+       * config/m68k/m68k.c (m68k_compute_frame_layout): Ensure FPU related
+       frame information is always valid.
+       (m68k_output_function_prologue): Remove superfluous TARGET_68881
+       test; fix formatting.
+
+2003-10-26  Gunther Nikl  <gni@gecko.de>
+
+       * config/m68k/m68k.c (m68k_compute_frame_layout): Swap reg_mask and
+       reg_rev_mask computation.
+       (m68k_output_function_prologue): Fix usage of current_frame (one typo
+       and one missing); use reg_rev_mask not reg_mask.
+       (m68k_output_function_epilogue): Fix usage of current_frame;
+       use fpu_rev_mask not fpu_mask.
+
+2003-10-26  Bernardo Innocenti  <bernie@develer.com>
+
+       * config/m68k/m68k.c (m68k_output_function_prologue): Eliminate
+       num_saved_regs, use current_frame.reg_no instead.
+
+2003-10-26  Bernardo Innocenti  <bernie@develer.com>
+           Paul Dale  <pauli@snapgear.com>
+
+       * doc/extend.texi (interrupt_handler): Add m68k to the
+       list of processors implementing it.
+       * doc/invoke.texi (-msep-data): Document new m68k option.
+       (-mno-sep-data): Likewise.
+       (-mid-shared-library): Likewise.
+       (-mno-id-shared-library): Likewise.
+       (-mshared-library-id): Likewise.
+
+2003-10-26  Andreas Jaeger  <aj@suse.de>
+
+       * unwind-dw2.c (_Unwind_GetGR): Avoid warning about unsigned
+       comparison.
+       (_Unwind_SetGR): Likewise.
+
+2003-10-26  Ottavio Campana <ottavio@campana.vi.it>
+
+       PR target/12690
+       * config/i386/mmintrin.h (_mm_set1_pi8): Fix comment.
+
+2003-10-26  Gunther Nikl  <gni@gecko.de>
 
        * config/m68k/m68k.c (m68k_output_function_prologue): Move front
        comment from here to...
 
 2003-10-25  Richard Henderson  <rth@redhat.com>
 
-        * config/i386/i386.c (ix86_eax_live_at_start_p): New.
-        (ix86_expand_prologue): Save and restore eax around stack probe
-        if it's live.
+       * config/i386/i386.c (ix86_eax_live_at_start_p): New.
+       (ix86_expand_prologue): Save and restore eax around stack probe
+       if it's live.
 
 2003-10-25  Jan Hubicka  <jh@suse.cz>
 
        * c-pch.c (struct c_pch_validity): Add pch_init field.
        (pch_init): Set it.
        (c_common_valid_pch): Check it.
-       (get_ident): Bump the PCH version number.
 
 2003-10-22  David Taylor <dtaylor@emc.com>