OSDN Git Service

* config/m68k/m68k-protos.h (use_return_insn): Change return type from
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 0dd3d1f..6ec5b3d 100644 (file)
@@ -1,3 +1,723 @@
+2003-10-11  Bernardo Innocenti  <bernie@develer.com>
+
+       * config/m68k/m68k-protos.h (use_return_insn): Change return type from
+       int to bool.
+       * config/m68k/m68k.c (struct m68k_frame): Add funcdef_no member.
+       (current_frame): New global var.
+       (m68k_compute_frame_layout): Cache computations in current_frame.
+       (m68k_initial_elimination_offset): Use values from current_frame
+       instead of recomputing them.
+       (use_return_insn): Likewise.
+       (m68k_output_function_prologue): Likewise.
+       (m68k_output_function_epilogue): Likewise.
+       * config/m68k/m68k.h (TARGET_CPU_CPP_PREDEFINES): Fold __PIC__ handling
+       inside the block for __pic__.
+
+2003-10-11  Peter Barada <peter@baradas.org>
+           Bernardo Innocenti  <bernie@develer.com>
+
+       * config/m68k/m68k.c (m68k_frame): Move before protos referencing it.
+       (m68k_save_reg): Add boolean parameter `interrupt_handler'.
+       (m68k_interrupt_function_p): New function.
+       (m68k_handle_fndecl_attribute): Ditto.
+       (m68k_compute_frame_layout): Ditto.
+       (m68k_attribute_table): Define back-end specific attributes.
+       (m68k_output_function_epilogue): Emit RTE instruction for interrupt
+       functions.
+
+2003-10-11  Bernardo Innocenti  <bernie@develer.com>
+
+       * config/m68k/t-uclinux: New target Makefile fragment.
+       * config/m68k/uclinux.h: New target macro file.
+       * config.gcc (m68k-*-uclinux): New target definition.
+
+2003-10-10  Roger Sayle  <roger@eyesopen.com>
+
+       * builtins.c (builtin_mathfn_code): Generalize to check whether
+       the call is to any built-in function by comparing the call's
+       argument list against the builtin decl's function type.
+
+2003-10-10  Roger Sayle  <roger@eyesopen.com>
+
+       * cse.c (constant_pool_entries_regcost): New global variable to
+       hold the register cost component of constant_pool_entries_cost.
+       (fold_rtx): Calculate constant_pool_entries_regcost at the same
+       time as constant_pool_entries_cost.
+       (cse_insn): Set both src_folded_cost and src_folded_regcost from
+       constant_pool_entries_cost and constant_pool_entries_regcost.
+       (cse_main): Initialize constant_pool_entries_regcost to zero.
+
+       * optabs.c (expand_unop): Attach a REG_EQUAL note describing
+       the semantics of the sequence of bit operations used to negate
+       a floating-point value.
+       (expand_abs_nojump): Likewise attach a REG_EQUAL note describing
+       the semantics of the bit operations used to abs a floating point
+       value.
+
+2003-10-11  Bernardo Innocenti  <bernie@develer.com>
+           Paul Dale  <pauli@snapgear.com>
+
+       * config/m68k/lb1sf68.asm: Add __PIC__ and __ID_SHARED_LIBRARY__
+       support. 
+       * config/m68k/m68k-none.h (ASM_SPEC): Pass --pcrel to assembler on
+       -fpic, -fPIC, -msep-data and -mid-shared-library.
+       * config/m68k/m68k.c (m68k_library_id_string): New global variable.
+       (override_options): Add -msep-data and -mshared-library-id support.
+       (m68k_output_function_prologue): Generate code to load A5 for
+       TARGET_ID_SHARED_LIBRARY and TARGET_SEP_DATA.
+       (m68k_output_mi_thunk): Emit indirect jump on TARGET_ID_SHARED_LIBRARY.
+       (m68k_output_pic_call): New function.
+       * gcc/config/m68k/m68k.h (TARGET_SEP_DATA): New target flag.
+       (TARGET_ID_SHARED_LIBRARY): Ditto.
+       (TARGET_SWITCHES): Add switches for -mid-shared-library and -msep-data.
+       * gcc/config/m68k/m68k.md (call): Call m68k_output_pic_call().
+       (call_value): Likewise.
+
+2003-10-10  Zack Weinberg  <zack@codesourcery.com>
+
+       * gengenrtl.c (find_formats, genheader): Make i an unsigned
+       int, remove cast of NUM_RTX_CODE.
+       * machmode.h: Make the HAVE_MACHINE_MODES #ifdef encompass the
+       entire file.  Remove the #ifs on GET_MODE_MASK etc and
+       GET_MODE_WIDER_MODE etc.
+
+2003-10-10  Eric Christopher  <echristo@redhat.com>
+
+       * lcm.c (optimize_mode_switching): Change NORMAL_MODE
+       to MODE_ENTRY and MODE_EXIT. Add MODE_AFTER for insns
+       that set mode.
+       * config/sh/sh.h (MODE_ENTRY): New macro.
+       (MODE_EXIT): Ditto.
+       (MODE_AFTER): Ditto.
+       * config/sh/sh.md: Change for MODE_AFTER. Add
+       fp_set attribute.
+       * doc/tm.texi: Document MODE_AFTER, MODE_ENTRY, and MODE_EXIT.
+
+2003-10-10  Zack Weinberg  <zack@codesourcery.com>
+
+       * genmodes.c, mode-classes.def: New files.
+       * machmode.def: Rewritten to genmodes.c interface.
+       * Makefile.in (extra_modes_file): New substitution variable.
+       (MACHMODE_H): No longer includes machmode.def or
+       @extra_modes_file@; instead, mode-classes.def and insn-modes.h.
+       (BUILD_RTL): Add $(BUILD_PREFIX)insn-modes.o.
+       (OBJS-common): Add insn-modes.o.
+       (STAGESTUFF): Add insn-modes.c, insn-modes.h, s-modes, and
+       genmodes$(build_exeext).
+       (insn-modes.o, insn-modes.c, insn-modes.h, s-modes, genmodes.o,
+       genmodes$(build_exeext), $(BUILD_PREFIX_1)insn-modes.o): New targets.
+       (s-genrtl): Don't depend on $(RTL_BASE_H).
+       (gengenrtl.o): Don't depend on coretypes.h, $(GTM_H), real.h,
+       or $(RTL_BASE_H); just rtl.def.
+       * gengenrtl.c: Don't include coretypes.h, tm.h, rtl.h, or
+       real.h.  Give fake definition of CONST_DOUBLE_FORMAT and
+       substitute definition of NUM_RTX_CODE.  Add casts to avoid
+       warnings.
+       * machmode.h: Include insn-modes.h, not machmode.def.  Include
+       mode-classes.def to define enum mode_class.  Tweak definitions
+       of GET_MODE_CLASS, GET_MODE_SIZE, GET_MODE_BITSIZE, GET_MODE_MASK,
+       GET_MODE_INNER, GET_MODE_WIDER_MODE, GET_CLASS_NARROWEST_MODE.
+       (inner_mode_array): Renamed mode_inner.
+       (mode_base_align): New.
+       * rtl.c (mode_name, mode_class, mode_bitsize, mode_size,
+       mode_unit_size, mode_wider_mode, mode_mask_array,
+       inner_mode_array, class_narrowest_mode): Delete definitions.
+       * stor-layout.c (get_mode_alignment): Use mode_base_align.
+       * real.h: Use MIN_MODE_FLOAT and MAX_MODE_FLOAT, not QFmode
+       and TFmode, in real_format_for_mode and REAL_MODE_FORMAT.
+
+       * config/ip2k/ip2k.h, config/iq2000/iq2000.h:
+       No need to define BITS_PER_UNIT.
+
+2003-10-10  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * config/ia64/ia64.c (ia64_vms_init_libfuncs): New function.
+       (ia64_output_function_prologue): Only write .prologue if --with-gnu-as.
+       (ia64_initialize_trampoline): If not using GAS, declare trampoline
+       as global.
+       * config/ia64/ia64.h (ASM_APP_ON, ASM_APP_OFF): Add vers for not GAS.
+       (ASM_OUTPUT_DEBUG_LABEL): Likewise.
+
+       * stor-layout.c (compute_record_mode): Don't force BLKmode if
+       field is zero-length BLKmode.
+       * expr.c (expand_expr, case COMPONENT_REF): Handle case of BLKmode
+       zero-size references.
+
+       * combine.c (distribute_links): Properly test for REG being set.
+
+       * config/alpha/alpha.c (alpha_expand_block_mode): Don't use
+       gen_lowpart and company except for REG.
+
+2003-10-10  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       * pa64-hpux.h (LINK_SPEC): Use `-z' option with HP ld.
+
+2003-10-10  Nathanael Nerode  <neroden@gcc.gnu.org>
+
+       * config.gcc (mips*-*-netbsd*): Remove content-free line.
+
+2003-10-10  Herman A.J. ten Brugge <hermantenbrugge@home.nl>
+
+       * gcov-io.h: Check BITS_PER_UNIT when defining gcov_unsigned_t,
+       gcov_position_t and gcov_type.
+
+2003-10-09  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+       * configure.in (HAVE_AS_TLS): Add sh-*-* and sh[34]*-*-* cases.
+       * configure: Regenerate.
+
+2003-10-09  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/h8300/h8300.md (define_asm_attributes): Specify
+       the length of an asm insn more precisely.
+
+2003-10-09  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+
+       * config/mips/iris6.h (SUBTARGET_CPP_SPEC): Define.
+
+2003-10-09  Bob Wilson  <bob.wilson@acm.org>
+
+       * config/xtensa/xtensa.c (xtensa_dbx_register_number): Change first
+       FP register number to 48 and MAC16 accumulator to 0x210.
+
+2003-10-09  Nathanael Nerode  <neroden@gcc.gnu.org>
+
+       * config.gcc: Remove redundant thread_file setting clauses for
+       various *-*-linux* targets.
+
+2003-10-09  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/h8300/h8300.md (define_asm_attributes): New.
+
+2003-10-09  Roger Sayle  <roger@eyesopen.com>
+
+       * optabs.c (prepare_float_lib_cmp): Always attach a REG_EQUAL note
+       to the comparison, as emit_libcall_block calls copy_rtx on equiv.
+
+2003-10-09  Dorit Naishlos  <dorit@il.ibm.com>
+
+       * haifa-sched.c (ok_for_early_schedule): New function.
+       (early_queue_to_ready): New function.
+       (schedule_block): Allow early removal of insns from Q.
+       (schedule_insn): Update INSN_TICK in case of premature
+       issue.
+       * common.opt (sched_stalled_insns): New flag.
+       (sched_stalled_insns_dep): New flag.
+       * flags.h: Same above flags.
+       * opts.c: Same as above.
+       * toplev.c: Same as above.
+       * target.h (targetm.sched.is_costly_dependence): New
+       hook.
+       * target-def.h: Same as above.
+       * config/rs6000/rs6000.h: (rs6000_sched_costly_dep):
+       Support new flag -msched-costly-dep.
+       (DEFAULT_SCHED_COSTLY_DEP): Define.
+       * config/rs6000/rs6000.c:
+       (rs6000_is_costly_dependence): New function.
+       (is_load_insn, is_store_insn): New functions.
+       (is_load_insn1, is_store_insn1, is_mem_ref): New
+       functions.
+       * doc/invoke.texi (-fsched-stalled-insns-dep)
+       (-fsched-stalled-insns, -msched-costly-dep): Document
+       options.
+       * doc/tm.texi (is_costly_dependence): Define new
+       scheduler target hook.
+
+2003-10-09  Jason Merrill  <jason@redhat.com>
+
+       PR c++/6392
+       * c-common.c (c_build_qualified_type): Look through arrays first.
+       (c_apply_type_quals_to_decl): Look through arrays.
+
+       * c-common.c (c_apply_type_quals_to_decl): Unset TREE_READONLY for
+       types with constructors.
+
+       * coverage.c (build_ctr_info_value): Use build_decl to make a
+       VAR_DECL.
+       (create_coverage): Likewise.
+
+       * stmt.c (resolve_asm_operand_names): Call check_unique_operand_names
+       here.
+       (expand_asm_operands): Not here.
+       (parse_input_constraint): No longer static.
+       * tree.h: Declare it.
+
+2003-10-08  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+       * config/sh/t-linux (SHLIB_LINK): Override to use a linker script
+       libgcc_s.so.
+       (SHLIB_INSTALL): Likewise.
+
+2003-10-08  Nathanael Nerode  <neroden@gcc.gnu.org>
+
+       * doc/install.texi: Remove reference to removed 'pthreads' thread
+       option.
+
+2003-10-08  Aldy Hernandez  <aldyh@redhat.com>
+
+       * config/rs6000/rs6000.md ("abssi2_isel"): Add early clobber to
+       operand 2.
+
+2003-10-08  Nathanael Nerode  <neroden@gcc.gnu.org>
+
+       * config.gcc: Don't accept --enable-threads=pthreads.  Clean
+       up related case statements.
+       * configure.in: Don't accept --enable-threads=pthreads,
+       decosf1, mach, or os2 (none of which work anyway).  Alphabetize
+       supported thread files in case clause.
+       * configure: Regenerate.
+
+2003-10-08  Geoffrey Keating  <geoffk@apple.com>
+
+       * function.c (pad_to_arg_alignment): Move 'boundary_in_bytes'
+       definition to above SPARC_STACK_BOUNDARY_HACK.
+
+2003-10-08  Jason Merrill  <jason@redhat.com>
+
+       * c-pretty-print.c (pp_c_postfix_expression)
+       <COMPOUND_LITERAL_EXPR>: Fix thinko.
+
+2003-10-08  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+
+       * mklibgcc.in: Don't hide undefined or typeless symbols.
+
+2003-10-08  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       PR optimization/12142
+       * cse.c (count_reg_usage): In a SET with a REG SET_DEST, count the
+       uses of the register in the SET_SRC.  Remove unnecessary argument.
+       * pa.c (legitimize_pic_address): Before reload, use a scratch register
+       for the intermediate result in loading the address of a SYMBOL_REF.
+       Set the MEM_NOTRAP_P flag for the MEM.  Add a REG_EQUAL to the insn
+       which loads the SYMBOL_REF address.
+
+2003-10-08  Timo Kokkonen  <tjko@iki.fi>
+           Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       PR bootstrap/12490
+       * scan-decls.c (MAX_EXTERN_C_BRACES): New preprocessor constant
+       to define the size of the extern_C_braces array.  Set it to 200.
+       (scan_decls): Abort when extern_C_braces_length is out-of-bounds.
+
+2003-10-08  Carlo Wood  <carlo@alinoe.com>
+
+       * Makefile.in (gengtype-lex.c): flex 2.5.4[a] doesn't understand
+       a space after the -o option.  flex 2.5.31 understands both, with
+       and without the space. Removed that space.
+
+2003-10-08  Richard Sandiford  <rsandifo@redhat.com>
+
+       * config/mips/mips.c (mips_frame_info): Add cprestore_size field.
+       (compute_frame_size): Initialize it.  Remove the .cprestore slot
+       from args_size.
+       (mips_output_function_prologue): Simplify accordingly.
+       (mips_debugger_offset): Change the mips16 frame pointer offset from
+       current_function_outgoing_args to cfun->machine->frame.args_size.
+       (mips_initial_elimination_offset): Likewise.
+       (mips_expand_prologue): Likewise.
+       (mips_expand_epilogue): Likewise.
+
+2003-10-08  Richard Sandiford  <rsandifo@redhat.com>
+
+       * config/mips/mips.h (EXTRA_CONSTRAINT): Add 'W' constraint.
+       (EXTRA_MEMORY_CONSTRAINT): Define.
+       (CAN_ELIMINATE): Remove lwu workaround.
+       * config/mips/mips.md (*zero_extendsidi2_mem): Enable for mips16 too.
+       Use a 'W' constraint for the source operand.
+
+2003-10-08  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * genopinit.c (main): Output code to declare undefined
+       variables.
+
+2003-10-07  Kelley Cook  <kcook@gcc.gnu.org>
+
+       * gengtype-lex.l: Remove -Wtraditional cruft.
+       * Makefile.in (gengtype-lex.c): Likewise.
+
+2003-10-07  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+
+       * cfgloopmanip.c (fix_irreducible_loops): Initialize e correctly.
+
+2003-10-07  Jason Merrill  <jason@redhat.com>
+
+       PR c++/12519
+       * c-semantics.c (genrtl_cleanup_stmt): Ignore the CLEANUP_DECL if
+       it isn't a decl.
+
+2003-10-07  Alexandre Oliva  <aoliva@redhat.com>
+
+       * gcc.c (cpp_options): Only pass -fworking-directory for -g* if
+       not overridden.
+       Fixes PR bootstrap/12173.
+
+2003-10-07  Zack Weinberg  <zack@codesourcery.com>
+
+       * errors.c: Don't include coretypes.h or tm.h.
+       (trim_filename): Use IS_DIR_SEPARATOR.
+       * Makefile.in: Update dependencies of errors.o and
+       $(BUILD_PREFIX_1)errors.o.
+
+2003-10-07  Geoffrey Keating  <geoffk@apple.com>
+
+       * function.c (pad_to_arg_alignment): Take STACK_POINTER_OFFSET into
+       account when aligning arguments.
+       * calls.c (STACK_POINTER_OFFSET): Move default from here ...
+       * defaults.h (STACK_POINTER_OFFSET): ... to here.
+       * config/sparc/sparc.h (STACK_BOUNDARY): Add comment about how
+       it's wrong when TARGET_ARCH64 && TARGET_STACK_BIAS.
+       (SPARC_STACK_BOUNDARY_HACK): Define.
+       * config/rs6000/rs6000.c (function_arg): On non-SVR4 systems,
+       arrange for vector parameters to varargs functions to be passed
+       in both memory and GPRs when appropriate.
+       (rs6000_va_arg): Vector arguments passed in memory are 16-byte
+       aligned.
+
+       * hooks.c (hook_bool_tree_true): New.
+       (hook_rtx_tree_int_null): New.
+       (hook_rtx_rtx_null): Use NULL, not 0.
+       * hooks.h: Add 'extern' to everything.
+       (hook_bool_tree_true): New.
+       (hook_rtx_tree_int_null): New.
+       * targhooks.c (hook_bool_CUMULATIVE_ARGS_true): New.
+       * targhooks.h (hook_bool_CUMULATIVE_ARGS_true): New.
+       * config/rs6000/rs6000-protos.h (setup_incoming_varargs): Remove
+       prototype.
+       * config/rs6000/rs6000.c (rs6000_return_in_memory): New.
+       (setup_incoming_varargs): Prototype.
+       (TARGET_PROMOTE_FUNCTION_ARGS): Define.
+       (TARGET_PROMOTE_FUNCTION_RETURN): Define.
+       (TARGET_STRUCT_VALUE_RTX): Define.
+       (TARGET_RETURN_IN_MEMORY): Define.
+       (TARGET_SETUP_INCOMING_VARARGS): Define.
+       (TARGET_STRICT_ARGUMENT_NAMING): Define.
+       (TARGET_PRETEND_OUTGOING_VARARGS_NAMED): Define.
+       (init_cumulative_args): Use rs6000_return_in_memory.
+       (setup_incoming_varargs): Make 'static'.
+       * config/rs6000/rs6000.h (PROMOTE_FUNCTION_ARGS): Delete.
+       (PROMOTE_FUNCTION_RETURN): Delete.
+       (STRUCT_VALUE): Delete.
+       (RETURN_IN_MEMORY): Delete.
+       (SETUP_INCOMING_VARARGS): Delete.
+
+2003-10-07  Gerald Pfeifer  <gerald@pfeifer.com>
+
+       * doc/invoke.texi (Warning Options): Simplify and clarify the
+       descriptions of -Wnonnull and -Winit-self.
+
+2003-10-07  Richard Earnshaw  <rearnsha@arm.com>
+
+       * optabs.c (init_intraclass_conv_libfuncs): Fix order of array
+       indicees for floating-point conversersion libcalls.
+
+2003-10-07  Nathanael Nerode  <neroden@gcc.gnu.org>
+
+       * Makefile.in: Add more comments separating large conceptually
+       separate sections.
+
+       * configure.in: Clean up thread file logic.
+       * configure: Regenerate.
+
+2003-10-07  Danny Smith  <dannysmith@users.sourceforge.net>
+
+       * config/i386/cygming.h (READONLY_DATA_SECTION_ASM_OP): Define.
+       (switch_to_section): Handle in_readonly_data.
+       * config/i386/winnt.c (i386_pe_asm_named_section): Handle
+       readonly data.
+
+2003-10-07  Richard Earnshaw  <rearnsha@arm.com>
+
+       * arm.md (cmpsi2_addneg): New ARM pattern. Add peephole2 to generate
+       it.
+       (cbranchne_decr1): New Thumb pattern.
+       * arm.c (arm_addimm_operand): New insn predicate.
+       * arm-protos.h: Add a prototype for it.
+       * arm.h (PREDICATE_CODES): Add it.
+
+2003-10-07  Dorit Naishlos <dorit@il.ibm.com>
+
+       * sched-int.h (sched_info): New field
+       sched_max_insns_priority.
+       * sched-rgn.c (init_ready_list): Add invocations to
+       targetm.sched.adjust_priority.
+       (sched_max_insns_priority): Init new field.
+       * sched-ebb.c (sched_max_insns_priority): Init new field.
+       * haifa-sched.c (set_priorities): Set
+       sched_info->sched_max_insns_priority.
+       * config/rs6000/rs6000.h:
+       (rs6000_sched_restricted_insns_priority_str): Support new
+       flag -mprioritize-restricted-insns.
+       (DEFAULT_RESTRICTED_INSNS_PRIORITY): Define.
+       * config/rs6000/rs6000.c (is_dispatch_slot_restricted): New
+       function.
+       (rs6000_adjust_priority): Change priority of restricted
+       insns, using above new function and new flag.
+       * doc/invoke.texi (-mprioritize-restricted-insns): Document
+       new option.
+
+2003-10-07  Zack Weinberg  <zack@codesourcery.com>
+
+       * expr.c (cmpstr_optab, cmpmem_optab): New.
+       * genopinit.c: Initialize them.
+       * optabs.h: Declare them.
+       * optabs.c (init_optabs): Clear them.
+       (prepare_cmp_insn):  Use cmpstr_optab and cmpmem_optab to find
+       block memory compare insns, not conditional chains.  Restructure
+       the fallback generation of a call to memcmp/bcmp for better
+       readability.
+
+2003-10-07  Richard Sandiford  <rsandifo@redhat.com>
+
+       * config/mips/mips.c (MIPS_MAX_FIRST_STACK_STEP): New macro.
+       (mips_save_restore_fn): New typedef.
+       (mips_add_large_offset_to_sp, mips_emit_frame_related_store): Remove.
+       (mips_set_frame_expr, mips_frame_set): Move above prologue code.
+       (save_restore_insns): Remove, replacing with...
+       (mips_save_restore_reg, mips_for_each_saved_reg): ...these new fns.
+       (mips_save_reg, mips_restore_reg): New function.
+       (mips_expand_prologue, mips_expand_epilogue): Rework.
+       * config/mips/mips.h (MIPS_TEMP1_REGNUM, MIPS_TEMP2_REGNUM): Remove.
+       (MIPS_PROLOGUE_TEMP_REGNUM, MIPS_EPILOGUE_TEMP_REGNUM): New macros.
+       (MIPS_PROLOGUE_TEMP, MIPS_EPILOGUE_TEMP): New macros.
+
+2003-10-07  Richard Sandiford  <rsandifo@redhat.com>
+
+       * config/mips/mips.c (mips_expand_prologue): Remove unused
+       traversal of function arguments.
+
+2003-10-07  Richard Sandiford  <rsandifo@redhat.com>
+
+       * doc/invoke.texi: Remove documentation of -mentry.
+       * config/mips/mips.c (mips_entry_string, mips_entry): Remove.
+       (override_options, mips_save_reg_p): Remove handling.
+       (compute_frame_size, mips_output_function_prologue): Likewise.
+       (mips_expand_prologue, mips_expand_epilogue): Likewise.
+       * config/mips/mips.h (mips_entry_string): Remove declaration.
+       (TARGET_OPTIONS): Remove -mentry.
+       * config/mips/mips16.S: Remove mention of -mentry.
+
+2003-10-06  Zack Weinberg  <zack@codesourcery.com>
+
+       * libfuncs.h (LTI_extendsfdf2, LTI_extendsfxf2, LTI_extendsftf2)
+       (LTI_extenddfxf2, LTI_extenddftf2, LTI_truncdfsf2, LTI_truncxfsf2)
+       (LTI_trunctfsf2, LTI_truncxfdf2, LTI_trunctfdf2, LTI_floatsisf)
+       (LTI_floatdisf, LTI_floattisf, LTI_floatsidf, LTI_floatdidf)
+       (LTI_floattidf, LTI_floatsixf, LTI_floatdixf, LTI_floattixf)
+       (LTI_floatsitf, LTI_floatditf, LTI_floattitf, LTI_fixsfsi, LTI_fixsfdi)
+       (LTI_fixsfti, LTI_fixdfsi, LTI_fixdfdi, LTI_fixdfti, LTI_fixxfsi)
+       (LTI_fixxfdi, LTI_fixxfti, LTI_fixtfsi, LTI_fixtfdi, LTI_fixtfti)
+       (LTI_fixunssfsi, LTI_fixunssfdi, LTI_fixunssfti, LTI_fixunsdfsi)
+       (LTI_fixunsdfdi, LTI_fixunsdfti, LTI_fixunsxfsi, LTI_fixunsxfdi)
+       (LTI_fixunsxfti, LTI_fixunstfsi, LTI_fixunstfdi, LTI_fixunstfti)
+       (extendsfdf2_libfunc, extendsfxf2_libfunc, extendsftf2_libfunc)
+       (extenddfxf2_libfunc, extenddftf2_libfunc, truncdfsf2_libfunc)
+       (truncxfsf2_libfunc, trunctfsf2_libfunc, truncxfdf2_libfunc)
+       (trunctfdf2_libfunc, floatsisf_libfunc, floatdisf_libfunc)
+       (floattisf_libfunc, floatsidf_libfunc, floatdidf_libfunc)
+       (floattidf_libfunc, floatsixf_libfunc, floatdixf_libfunc)
+       (floattixf_libfunc, floatsitf_libfunc, floatditf_libfunc)
+       (floattitf_libfunc, fixsfsi_libfunc, fixsfdi_libfunc, fixsfti_libfunc)
+       (fixdfsi_libfunc, fixdfdi_libfunc, fixdfti_libfunc, fixxfsi_libfunc)
+       (fixxfdi_libfunc, fixxfti_libfunc, fixtfsi_libfunc, fixtfdi_libfunc)
+       (fixtfti_libfunc, fixunssfsi_libfunc, fixunssfdi_libfunc)
+       (fixunssfti_libfunc, fixunsdfsi_libfunc, fixunsdfdi_libfunc)
+       (fixunsdfti_libfunc, fixunsxfsi_libfunc, fixunsxfdi_libfunc)
+       (fixunsxfti_libfunc, fixunstfsi_libfunc, fixunstfdi_libfunc)
+       (fixunstfti_libfunc): Delete.
+       * optabs.h (struct optab_handlers): Break out of struct optab.
+       (struct convert_optab, convert_optab, enum convert_optab_index,
+       convert_optab_table, sext_optab, zext_optab, trunc_optab,
+       sfix_optab, ufix_optab, sfixtrunc_optab, ufixtrunc_optab,
+       sfloat_optab, ufloat_optab): New.
+       (set_conv_libfunc): Prototype.
+       (GEN_FCN): Use C90 indirect call syntax, remove unnecessary cast.
+       (trunc_optab): Renamed btrunc_optab.
+       * builtins.c (expand_builtin_mathfn): Update to match.
+       * optabs.c (extendtab, fixtab, fixtrunctab, floattab): Delete.
+       (convert_optab_table, new_convert_optab, init_convert_optab)
+       (init_interclass_conv_libfuncs, init_intraclass_conv_libfuncs)
+       (set_conv_libfunc): New.
+       (can_extend_p, gen_extend_insn, can_fix_p, can_float_p)
+       (expand_float, expand_fix): Use new conversion optabs,
+       not old insn code tables or long chains of ifs.
+       (init_optabs): No need to clear old insn code tables.
+       Initialize the new optabs, not the old libfunc array entries.
+       Don't handle FIXUNS_TRUNC_LIKE_FIX_TRUNC here.
+       * genopinit.c: Initialize conversion optabs, not the
+       former insn code tables.  Remove unnecessary casts.
+       Handle FIXUNS_TRUNC_LIKE_FIX_TRUNC here.
+       * expr.c (convert_move): Remove redundant check that
+       to_real==from_real.  Use the conversion optabs instead
+       of long chains of tests of modes.  Move partial-integer-mode
+       interconversion above all integer conversion.  Do not recurse
+       on a value forced into a register in the original mode.
+
+       * config/gofast.h, config/frv/frv.c, config/ia64/ia64.c
+       * config/mips/mips.c, config/pa/pa.c, config/rs6000/rs6000.c
+       * config/sparc/sparc.c: Use set_conv_libfunc to adjust entries
+       in new conversion optabs; do not reference the old libfunc
+       array entries.  No need to include libfuncs.h.
+
+2003-10-06  Roger Sayle  <roger@eyesopen.com>
+
+       * config/i386/i386.c (ix86_expand_setcc): Annotate the floating
+       point comparison sequence with a REG_EQUAL note that describes
+       the comparison's semantics.
+
+2003-10-06  Roger Sayle  <roger@eyesopen.com>
+
+       * expr.c (expand_expr <COND_EXPR>): Handle the void type semantics
+       of COND_EXPR when expanding the "A op 0 ? FOO : A" optimizations.
+
+2003-10-06  Roger Sayle  <roger@eyesopen.com>
+           Zack Weinberg  <zack@codesourcery.com>
+
+       * optabs.c (prepare_float_lib_cmp): Avoid searching for REG_RETVAL
+       instruction by using LCT_CONST and then calling emit_libcall_block
+       ourselves.
+
+2003-10-06  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>
+
+       PR optimization/11974
+       * optabs.c (expand_unop): Promote libcall outmode according to
+       hard_libcall_value.
+
+2003-10-06  Zack Weinberg  <zack@codesourcery.com>
+
+       * real.h (REAL_MODE_FORMAT): New macro.
+       * c-cppbuiltin.c, optabs.c, real.c, config/alpha/alpha.c
+       * config/c4x/c4x.c, config/i370/i370.c, config/i386/freebsd.h
+       * config/i386/i386.c, config/i960/i960.c, config/ia64/ia64.c
+       * config/m68k/m68k.c, config/mips/mips.c, config/rs6000/rs6000.c
+       * config/vax/vax.c: Use REAL_MODE_FORMAT instead of referring
+       directly to real_format_for_mode array, wherever possible.
+
+2003-10-06  Devang Patel  <dpatel@apple.com>
+
+       * dwarf2out.c (is_main_source): Remove variable.
+       (dwarf2out_start_source_file): Do not check is_main_source.
+       Do not reset is_main_source.
+       (dwarf2out_init): Do not initialize is_main_source.
+
+2003-10-06  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+
+       * fixinc/inclhack.def (stdio_va_list): Removed _ap fix.
+       (irix_stdio_va_list): Don't require leading printf, IRIX 6.5.21
+       introduced some multi-line prototypes.
+       * fixinc/fixincl.x: Regenerate.
+
+2003-10-06  Richard Sandiford  <rsandifo@redhat.com>
+
+       * config/mips/mips.h (PREDICATE_CODES): Add stack_operand.
+       * config/mips/mips.c (stack_operand): New predicate.
+       * config/mips/mips.md: Use it for the destination of mips16 insns
+       that store $31.
+
+2003-10-06  Richard Sandiford  <rsandifo@redhat.com>
+
+       * config/mips/mips.md (*lowsi): Renamed from lowsi.
+       (*lowdi): Likewise lowdi.
+       (*lowsi_mips16, *lowdi_mips16): New patterns.
+       * config/mips/mips.c (mips_const_insns, mips_output_move): Remove
+       mips16 CONSTANT_RELOC handling.
+       (mips_delegitimize_address): Adjust for new sdata representation.
+
+2003-10-06  Richard Sandiford  <rsandifo@redhat.com>
+
+       * config/mips/mips.c (mips_arg_info): If MUST_PASS_IN_STACK,
+       skip any remaining register arguments.
+
+2003-10-06  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * reload.c (find_reloads_subreg_address): Use correct offset for
+       paradoxical MEM subregs on big-endian targets.
+
+2003-10-06  Andrew Haley  <aph@redhat.com>
+
+       * tree.c (get_callee_fndecl): Call
+       lang_hooks.lang_get_callee_fndecl.
+       * langhooks-def.h (LANG_HOOKS_GET_CALLEE_FNDECL): New.
+       (lhd_get_callee_fndecl): New.
+
+2003-10-06  Andrew Pinski  <apinski@apple.com>
+
+       * config/darwin.c (machopic_non_lazy_ptr_name): Fix off by one
+       error in calculating the length of the string.
+       (machopic_stub_name): Likewise.
+
+2003-10-06  Roger Sayle  <roger@eyesopen.com>
+
+       * optabs.c (prepare_float_lib_cmp):  Attach a REG_EQUAL note
+       describing the return value of the comparison libcall to the
+       REG_RETVAL instruction of the emitted sequence.
+
+2003-10-06  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       PR optimization/12215
+       * cse.c (cse_set_around_loop): Emit the move at the beginning
+       of the next basic block for trapping sets.
+
+2003-10-06  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       PR optimization/11637
+       * combine.c (adjust_for_new_dest): New function to adjust the
+       notes and LOG_LINKS when the dest of an insn has changed.
+       (try_combine): Use it when deleting the first insn of a two-insn
+       parallel or splitting a two-load parallel.
+
+2003-10-06  Richard Sandiford  <rsandifo@redhat.com>
+
+       * config/mips/mips.c (mips_classify_constant): Only allow UNSPECs
+       if TARGET_EXPLICIT_RELOCS.
+
+2003-10-06  Mark Mitchell  <mark@codesourcery.com>
+
+       PR bootstrap/12512
+       * Makefile.in (info): Use double-colon rules.
+       (dvi): Likewise.
+       (generated-manpages): Likewise.
+       * configure.in: Do not create lang.info, lang.dvi, or
+       lang.generated-manpages hooks.
+       * configure: Regenerated.
+       * objc/Make-lang.in (objc.info): Remove.
+       (objc.dvi): Remove.
+       (objc.generated-manpages): Remove.
+       * doc/sourcebuild.texi: Update description of info, dvi, and
+       generated-manpages hooks.
+
+2003-10-06  Richard Sandiford  <rsandifo@redhat.com>
+
+       * config/mips/mips.md: Merge mips16 lw/srl pattern with its splitter.
+
+2003-10-05  Andrew Pinski  <apinski@apple.com>
+
+       * config/darwin.c (machopic_non_lazy_ptr_name): Fix off by one
+       errors in memcpy destinations.
+       (machopic_stub_name): Likewise.
+
+2003-10-05  Andrew Pinski <apinski@apple.com>
+
+       * config/darwin.c (machopic_non_lazy_ptr_name):
+       Change strcat to memcpy and add length together.
+       (machopic_stub_name): Likewise.
+
+2003-10-05  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+       * config/sh/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Handle new
+       signal trampoline codes.
+
+2003-10-05  Chris Demetriou  <cgd@broadcom.com>
+
+       * config/mips/mips.md (*divsf3): Move description of
+       SB-1 F2 erratum from here to...
+       (divsf3): Here.  Disable if TARGET_FIX_SB1 is set and
+       flag_unsafe_math_optimizations is not.
+
+2003-10-05  Aldy Hernandez  <aldyh@redhat.com>
+
+       * config/rs6000/linuxspe.h: Define TARGET_SPE_ABI, TARGET_SPE,
+       TARGET_E500, TARGET_ISEL, and TARGET_FPRS.
+
 2003-10-05  Kazu Hirata  <kazu@cs.umass.edu>
 
        * c-pretty-print.c: Fix comment typos.
        * gengtype-lex.l: Recognize typedef of functions without PARAMS macro.
 
 2003-10-04  Nathanael Nerode  <neroden@gcc.gnu.org>
-        
+
        * config/v850/v850-c.c, config/v850/v850-protos.h, config/v850/v850.c:
        Convert to ISO C90 function declarations and definitions.
 
        switch statement to pick the correct REAL_VALUE_TO_TARGET_*
        macro.
 
-Mon Sep 29 22:59:05 CEST 2003  Jan Hubicka  <jh@suse.cz>
+2003-09-29  Jan Hubicka  <jh@suse.cz>
 
        PR c++/12175
        * varasm.c (notice_global_symbol): Discard external symbols.
@@ -613,7 +1333,7 @@ Mon Sep 29 22:59:05 CEST 2003  Jan Hubicka  <jh@suse.cz>
        * fold-const.c (fold): Fold (A & ~B) - (A & B) into
        (A ^ B) - B, where B is any power of 2 minus 1.
 
-Mon Sep 29 19:05:46 CEST 2003  Jan Hubicka  <jh@suse.cz>
+2003-09-29  Jan Hubicka  <jh@suse.cz>
 
        * libgcov.c (gcov_exit): Fix two pastos.