Support for official Sparc V9 ABI:
[platform/upstream/gcc.git] / gcc / ChangeLog
index 9b52ad1..1a38402 100644 (file)
@@ -1,3 +1,560 @@
+Sun May  3 13:51:34 PDT 1998  Richard Henerson  <rth@cygnus.com>
+
+       Support for official Sparc V9 ABI:
+       * sparc.c (sparc_override_options): Force stack bias off for !arch64.
+       Care for flag_pcc_struct_return default.
+       (output_move_quad): Rewrite to move by halves on v9 and in the
+       proper direction.
+       (move_quad_direction): New function.
+       (output_fp_move_quad): Use it to determine the direction of copy.
+       (function_arg_slotno): Return -1 for FP reg overflow as well.
+       (function_arg_record_value*): New functions.
+       (function_arg): Use them.  Streamline unprototyped parameter passing.
+       (function_arg_pass_by_reference): Pass TCmode by reference.
+       (function_value): New function.
+       * sparc.h (PTRDIFF_TYPE, SIZE_TYPE): For -pedantic's sake, don't use
+       long long in 64-bit mode.
+       (RETURN_IN_MEMORY): v9 returns structs < 32-bytes in regs.
+       (DEFAULT_PCC_STRUCT_RETURN): Make the default detectable.
+       (BASE_RETURN_VALUE_REG): Consider complex float types for arch64.
+       (BASE_OUTGOING_VALUE_REG, BASE_PASSING_ARG_REG): Likewise.
+       (BASE_INCOMING_ARG_REG): Likewise.
+       (FUNCTION_VALUE): Call function_value.
+       (FUNCTION_OUTGOING_VALUE, LIBCALL_VALUE): Likewise.
+       * sparc.md (movdi_sp32_v9): Disable for arch64.
+       (movsf, movdf, movtf): Sort all ulternatives using fp regs first.
+       (call_value_address_sp64): Remove register class constraints.
+       (call_value_symbolic_sp64): Likewise.
+       (nonlocal_goto): Pass label reg directly to goto_handlers.  Constrain
+       v9 case to 32-bit constants.
+       (goto_handler_and_restore_v9): Provide a version for arch64.
+       * sparc/linux64.h (SIZE_TYPE, PTRDIFF_TYPE): Remove private definition.
+       * sparc/sp64-aout.h (TARGET_DEFAULT): Turn on stack bias.
+       (CPP_PREDEFINES): New.
+       * sparc/sp64-elf.h: Likewise.
+       (PREFERRED_DEBUGGING_TYPE): Dwarf2.
+       (ASM_OUTPUT_DWARF2_ADDR_CONST): New.
+       * sparc/sysv4.h (SIZE_TYPE, PTRDIFF_TYPE): Undo svr4.h's changes.
+
+Sat May 2 17:47:17 PDT 1998 Jeff Law  (law@cygnus.com)
+
+       * version.c: Bump for snapshot.
+
+Sat May  2 01:37:29 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
+
+       * reload.c (find_reloads): Emit USEs to mark where a pseudo
+       is reloaced with the MEM of its stack slot.
+       * reload1.c (cannot_omit_stores): Delete.
+       (reload): Don't initialize it.
+       Don't apply avoid_return_reg logic to USEs.
+       When done, remove USEs that have a REG_EQUAL note on them.
+       (emit_reload_insns): Handle case where we have inherited a MEM.
+       (delete_output_reload): Don't use cannot_omit_stores.
+
+Thu Apr 30 18:59:03 1998  Jim Wilson  <wilson@cygnus.com>
+
+       * Makefile.in (cpp.info, gcc.info): Put -o option before input file.
+
+Thu Apr 30 16:57:34 1998  Michael Meissner  <meissner@cygnus.com>
+
+       * haifa-sched.c (print_{exp,value}): Various changes to make the
+       debug output easier to read.  Also, use only one buffer, and make
+       sure the buffer we are passed in doesn't overflow.
+       (safe_concat): Concatenate to a buffer without overflow.
+
+Thu Apr 30 16:57:34 1998  Kaveh R. Ghazi" <ghazi@caip.rutgers.edu>
+
+       * haifa-sched.c (alloc_{INSN,EXPR}_LIST): Make static to agree
+       with the prototype.
+       
+Wed Apr 29 21:45:16 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
+
+       * sched.c (new_insn_dead_notes): Check if the register was
+       used in the original instruction.
+       * haifa-sched.c (new_insn_dead_notes): Likewise.
+
+Wed Apr 29 13:46:03 1998  Jim Wilson  <wilson@cygnus.com>
+
+       * dwarf2out.c (scope_die_for): If could not find proper scope,
+       check for and handle tagged type with incorrect TYPE_CONTEXT.
+
+Wed Apr 29 15:34:40 1998  John Carr  <jfc@mit.edu>
+
+       * calls.c (expand_call): Fix recognition of C++ operator new.
+
+       * alias.c (mode_alias_check): Disable type based alias detection.
+
+Wed Apr 29 15:06:42 1998  Gavin Koch  <gavin@cygnus.com>
+
+       * config/mips/elf.h (ASM_OUTPUT_DEF,ASM_WEAKEN_LABEL,
+       ASM_OUTPUT_WEAK_ALIAS): Define.
+       * config/mips/elf64.h: Same.
+       * config/mips/r3900.h (ASM_OUTPUT_DEF,SUPPORTS_WEAK,
+       ASM_WEAKEN_LABEL): Removed.
+
+Wed Apr 29 10:53:29 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+
+       * calls.c (expand_call): Bump the length limit on the specially
+       recognized function names to 17.
+
+Tue Apr 28 17:53:33 1998  Jim Wilson  <wilson@cygnus.com>
+
+       * ginclude/stddef.h: Add check for _MACHINE_ANSI_H_ for BSD/OS
+       when undefining macros at the end.
+
+       * expr.c (expand_builtin, case BUILT_IN_MEMSET): Break if either
+       val or len has TREE_SIDE_EFFECTS set.
+
+       * sparc.md (mulsidi3): Call const v8plus and v8plus routines.
+       (mulsidi3_v8plus, const_mulsidi3_v8plus): Delete asterisk from name.
+       (smuldi3_highpart): Call const v8plus routine.
+       (smulsi3_highpart_v8plus): Renamed from smulsidi3_highpart_v8plus.
+       (const_smulsi3_highpart_v8plus): New pattern.
+       (smulsi3_highpart_sp32): Renamed from smulsidi3_highpart_sp32.
+       (umulsidi3): Call const v8plus routine.
+       (umulsi3_highpart): Handle const before v8plus.  Call const v8plus
+       routine.
+       (umulsi3_highpart_v8plus): Renamed from umulsidi3_highpart_v8plus.
+       (umulsi3_highpart_sp32): Renamed from umulsidi3_highpart_sp32.
+
+Tue Apr 28 08:55:26 1998  Michael Meissner  <meissner@cygnus.com>
+
+       * m32r.c (*_oper{and|ator}): Change enum arguments and return
+       values to int, so they can be prototyped even in files that don't
+       include rtl.h.
+       ({small,large}_insn_p): Ditto.
+       (m32r_select_cc_mode): Ditto.
+       (gen_compare): Ditto.
+       (function_arg_partial_nregs): Ditto.
+       (m32r_setup_incoming_varargs): Ditto.
+       (init_reg_tables): Add prototype.
+       (m32r_frame_info): Add prolog_size field.
+       (m32r_compute_frame_size): Calculate the size of the prologue.
+       (m32r_first_insn_address): Return prologue size.
+       (m32r_output_function_prologue): Calculate frame size before
+       printing out information.  Print out the prologue size.
+
+       * m32r.h: Prototype all functions in m32r.c.
+       (FIRST_INSN_ADDRESS): Declare, returning prologue size.
+
+       * m32r.md (bcc functions): Cast enum's to int.
+
+       * m32r.c (conditional_move_operand): Silence a debug message.
+       ({small,long}_insn): New predicates.
+       
+       * m32r.h (TARGET_M32R): New macro.
+       (PREDICATE_CODES): Rearrange somewhat, add small_insn/long_insn.
+       (HAIFA_P): Define as 1/0 depending on whether the Haifa scheduler
+       was selected.
+       (ISSUE_RATE): Define as 2.
+
+       * m32r.md (insn_size): New attribute.
+       ({,rev_}branch_insn): Add .s qualifier to branches believed to be
+       short.
+       (m32r): New attribute.
+
+       * configure.in (enable_haifa): Switch m32r to Haifa by default.
+       * configure: Regenerate.
+
+       (Changes from Nick Clifton <nickc@cygnus.com>)
+       * m32r.h (EXTRA_CONSTRAINT): Implement 'S' constraint to perfoirm
+       the equivalent of a negated 'I' constraint.
+       (PRESERVE_DEATH_INFO_REGNO_P): Define in order to allow peephole
+       optimisation to work.
+
+       * m32r.md (cmp_ne_small_const_insn): Use 'S' constriant rather
+       than 'I' since the value is negated.
+       (peephole): Add peephole optimisation to cope with optimization of
+       divide and subtracts of the same operands.
+
+       * m32r.c zero_and_one, emit_cond_move): Add support for MVFC.
+       * m32r.h: Ditto. 
+       * m32r.md: Ditto.
+
+       * m32r.h (PREDICATE_CODES): Add declaration of machine specific
+       predicates.
+
+Tue Apr 28 07:25:53 1998  Manfred Hollstein  <manfred@s-direktnet.de>
+
+       * Makefile.in (libgcc2.ready): Revert last patch (Apr 24).
+
+Mon Apr 27 18:39:47 1998  Nick Clifton  <nickc@cygnus.com>
+
+       * config/arm/thumb.h (GO_IF_LEGITIMATE_ADDRESS): Check against
+       frame_pointer_rtx not FRAME_POINTER_REGNUM.
+
+Mon Apr 27 18:36:28 1998  Jim Wilson  <wilson@cygnus.com>
+
+       * reg-stack.c: Revert last patch (Apr 20).
+       (convert_regs): Set insn to PREV_INSN (next) after do while loop.
+
+       * m68k/lb1sf68.asm (Laddsf$3): Fix typos in mcf5200 exg code.
+
+       * loop.c (check_dbra_loop): New locals jump, first_compare, and
+       compare_and_branch.  Call get_condition to set first_compare.
+       Set compare_and_branch to number of compare/branch instructions.
+       Replace PREV_INSN (PREV_INSN (loop_end)) with first_compare.
+       Replace '2' with compare_and_branch.
+
+Mon Apr 27 15:53:30 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
+
+       * cplus-dem.c (demangle_qualified): Replace missing else.
+
+Mon Apr 27 20:22:08 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
+
+       * sh.c (gen_ashift_hi): Don't make SUBREG of a SUBREG.
+
+Mon Apr 27 18:23:51 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
+
+        * sh.c (sh_expand_prologue, sh_expand_epilogue):
+        If TARGET_DOUBLE_ALIGN, preserve 64 bit stack alignment.
+        * sh.h (STACK_BOUNDARY): Likewise.
+
+Mon Apr 27 17:22:48 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
+
+       * sh.h (LEGITIMIZE_RELOAD_ADDRESS): Define.
+
+Mon Apr 27 08:55:23 1998  Michael Meissner  <meissner@cygnus.com>
+
+       * system.h (abort): If abort is not defined, and neither is
+       USE_SYSTEM_ABORT, redefine abort to call fprintf and exit,
+       reporting the line and filename of the error.
+
+       * .gdbinit: Add breakpoints on exit and fancy_abort.
+
+       * final.c (split_double): Avoid a compiler warning if
+       BITS_PER_WORD is less than or equal to HOST_BIT_PER_WIDE_INT.
+
+       * rtl.h (JUMP_{CROSS_JUMP,NOOP_MOVES,AFTER_REGSCAN}):  New macros
+       for calling jump_optimize.
+
+       * toplev.c (rest_of_compilation): Call jump_optimize using JUMP_*
+       macros, rather than 0/1's.
+
+Sun Apr 26 23:19:10 1998  Richard Henderson  <rth@cygnus.com>
+
+       * alpha.h (CONST_COSTS): Zero is always free.
+       (RTX_COSTS): Add EV6 costs.  Abort if alpha_cpu is unknown.
+
+Sun Apr 26 15:38:50 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+
+       * cplus-dem.c (gnu_special): Fix off-by-one bug when checking the
+       length in the name of a virtual table.
+
+Sun Apr 26 01:21:06 1998  Richard Henderson  <rth@cygnus.com>
+
+       * alpha.c (print_operand): Don't add 'v' suffix for ALPHA_FPTM_N.
+
+Sat Apr 25 22:11:38 PDT 1998 Jeff Law  (law@cygnus.com)
+
+       * version.c: Bump for snapshot.
+
+Sat Apr 25 17:17:15 1998  Jeffrey A Law  (law@cygnus.com)
+
+       * fold-const.c (fold_convert): Fix typo.
+
+Sat Apr 25 17:55:54 1998  John Carr  <jfc@mit.edu>
+
+       * alias.c (alias_invariant): New variable.
+       (record_base_value): New argument INVARIANT.
+       (memrefs_conflict_p): If a register has an entry in the alias_invariant
+       array, try substituting that value for the register.
+
+       * rtl.h: Declare record_base_value.
+
+       * loop.c, unroll.c: Update callers of record_base_value.
+
+       * alias.c (find_base_value, find_base_term): SIGN_EXTEND and
+       ZERO_EXTEND do not affect base values.
+
+Fri Apr 24 15:57:02 1998  Jeffrey A Law  (law@cygnus.com)
+
+       * dbxout.c (dbxout_type): Fix typo.
+       (dbxout_range_type): Another HOST_WIDE_INT_PRINT_DEC fix.
+
+       * configure.in: Use CC_FOR_BUILD, not BUILD_CC.
+
+Fri Apr 24 16:11:47 1998  John Carr  <jfc@mit.edu>
+
+       * expr.c (expand_builtin, case MEMSET): Set MEM_IN_STRUCT_P
+       if the argument is the address of a structure or array.
+
+       * configure.in: Enable Haifa scheduler by default for SPARC.
+
+Fri Apr 24 20:55:47 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
+
+       * cse.c (cse_set_around_loop): Don't do optimization when
+       new pseudos are created.
+
+Fri Apr 24 11:00:18 1998  Jeffrey A Law  (law@cygnus.com)
+
+       * dbxout.c (dbxout_type_fields): Use HOST_WIDE_INT_PRINT_DEC
+       appropriately.
+       (dbxout_type_method_1, dbxout_type): Likewise.
+       (print_int_cst_octal, print_octal, dbxout_symbol): Likewise.
+       (dbxout_type): Fix check for when to print a type range in
+       octal vs decimal.
+
+Fri Apr 24 16:45:03 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
+
+       * (gen_shl_and, in case 1): Fix comparison with mask.
+
+Fri Apr 24 06:46:40 1998  Nick Clifton  <nickc@cygnus.com>
+
+       * config/arm/thumb.h (GO_IF_LEGITIMATE_ADDRESS): Disallow frame
+       pointer as second register in REG+REG pair.
+
+Fri Apr 24 09:22:23 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * c-common.c (check_format_info): Don't check for the 'x' format
+       character twice, instead check for 'x' and 'X'
+
+Fri Apr 24 08:02:30 1998  Manfred Hollstein  <manfred@s-direktnet.de>
+
+       * Makefile.in (libgcc2.ready): Add explicit dependancy from
+       $(STMP_FIXPROTO) to ensure all necessary include files have
+       been created and to guarantee proper parallel builds.
+
+Fri Apr 24 04:42:35 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
+
+       * sh.c (sh_expand_prologue, in !SH3E code): Don't push an extra
+       register for stdarg functions.
+       * sh.h (current_function_varargs): Declare.
+       (FUNCTION_ARG): Ignore NAMED for stdarg functions.
+
+1998-04-23  Jim Wilson  <wilson@cygnus.com>
+
+       * frame.c, libgcc2.c (stdlib.h, unistd.h): Don't include when
+       inhibit_libc is defined.
+
+       * c-aux-info.c (gen_type): Use DECL_NAME only for TYPE_DECL.
+
+Thu Apr 23 19:09:33 1998  Jim Wilson  <wilson@cygnus.com>
+
+       * profile.c (tablejump_entry_p): New function.
+       (branch_prob): Add code to recognize MIPS tablejump entry branch.
+       Use tablejump_entry_p in MIPS and HPPA tablejump checking code.
+
+Thu Apr 23 15:01:13 1998  Nick Clifton  <nickc@cygnus.com>
+
+       * config/arm/arm.c (find_barrier): Return as soon as a barrier is
+       found, rather than at end of the loop, after the insn has been
+       changed. 
+
+Thu Apr 23 20:21:06 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
+
+       * sh.c (gen_ashift_hi): Implement right shifts via gen_ashift.
+       * sh.md (ashrhi3_k, lshrhi3_k, lshrhi3_m, lshrhi3, lshrhi3+1): Delete.
+
+Wed Apr 22 17:07:35 1998  Michael Meissner  <meissner@cygnus.com>
+
+       * loop.c (note_addr_stored): Correct function to take 2 arguments,
+       instead of 1.
+
+       * rtl.def (MATCH_INSN2): Add new matching pattern.
+       * genrecog.c (add_to_sequence): Support MATCH_INSN2. 
+
+Wed Apr 22 15:52:22 1998  John Carr  <jfc@mit.edu>
+
+       * emit-rtl.c (gen_highpart): The high part of a CONST_INT is not zero
+       if HOST_BITS_PER_WIDE_INT is larger than BITS_PER_WORD.
+    
+       * final.c (split_double): Sign extend both halves of a split CONST_INT.
+
+Wed Apr 22 10:42:45 1998  Jeffrey A Law  (law@cygnus.com)
+
+       * mips.c (compute_frame_size): Change only argument to a HOST_WIDE_INT.
+
+Wed Apr 22 10:53:49 EDT 1998 Andrew MacLeod  <amacleod@cygnus.com>
+
+       * cplus-dem.c (struct work stuff): Add field for B and K mangle codes.
+       (cplus_demangle_opname): Call mop_up_squangle.
+       (cplus_demangle): Initialize squangle info, then call 
+       internal_cplus_demangle. (Most code moved there as well)
+       (internal_cplus_demangle): New function, performs most of what use 
+       to be done in cplus_demangle, but is only called with this file.
+       (squangle_mop_up): New function to clean up B and K code data.
+       (mop_up): set pointers to NULL after freeing.
+       (demangle_signature, demangle_template, demangle_class): Add 
+       switch elements to handle K and B codes.
+       (demangle_prefix, gnu_special, demangle_qualified): Add
+       code to handle K and B codes.
+       (do_type, demangle_fund_type): Handle B and K codes.
+       (remember_Ktype): New function to store K info.
+       (register_Btype, remember_Btype): New functions for B codes.
+       (forget_B_and_K_types): New function to destroy B and K info.
+
+1998-04-21  Jim Wilson  <wilson@cygnus.com>
+
+       * stmt.c (check_seenlabel): When search for line number note for
+       warning, handle case where there is no such note.
+
+Tue Apr 21 20:48:37 1998  John Carr  <jfc@mit.edu>
+
+       * genemit.c (gen_exp): Allow machine description to set mode of
+       MATCH_OP_DUP.
+
+Tue Apr 21 16:36:01 1998  John Carr  <jfc@mit.edu>
+
+       * alias.c (mode_alias_check): New function.
+       (true_dependence, anti_dependence, output_dependence): Call
+       mode_alias_check.
+
+Tue Apr 21 12:05:32 1998  Jeffrey A Law  (law@cygnus.com)
+
+       * mips.h (STACK_BOUNDARY): Allow specific targets to override.
+       (MIPS_STACK_ALIGN): Similarly.
+
+       * c-common.c (type_for_mode): Handle TI types.
+       * c-decl.c (intTI_type_node, unsigned_int_TI_type_node): Define.
+       (init_decl_processing): Handle TI types.
+       * c-tree.h (intTI_type_node, unsigned_int_TI_type_node): Declare.
+
+       * mips.c (block_move_loop): Test Pmode == DImode instead of
+       TARGET_MIPS64.
+       (expand_block_move, save_restore_insns): Likewise.
+       (function_prologue, mips_expand_prologue): Likewise.
+       (mips_expand_epilogue): Likewise.
+       * mips.h (POINTER_SIZE): Allow specific targets to override.
+       (Pmode): Allow specific targets to override.
+       (FUNCTION_PROFILER): Test Pmode == DImode instead of TARGET_MIPS64
+       (POINTER_BOUNDARY, FUNCTION_MODE): Likewise.
+       (TRAMPOLINE_TEMPLATE, TRAMPOLINE_SIZE): Likewise.
+       (TRAMPOLINE_ALIGNMENT, INITIALIZE_TRAMPOLINE): Likewise.
+       (CASE_VECTOR_MODE, ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
+       (ASM_OUTPUT_ADDR_DIFF_ELT, SIZE_TYPE, PTRDIFF_TYPE): Likewise.
+       * mips.md (indirect, tablejump & casesi support): Test for
+       Pmode == DImode instead of TARGET_MIPS64.
+       (call patterns): Likewise.
+
+Tue Apr 21 09:43:55 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * objc/sendmsg.c: Define gen_rtx_MEM() to 1, as is already done
+       for gen_rtx(MEM, ...).
+
+Tue Apr 21 02:15:36 1998  Richard Henderson  <rth@cygnus.com>
+
+       * sparc.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Rewrite
+       to not be so gross, and to properly function with PIC.
+
+Mon Apr 20 20:44:25 1998  Jim Wilson  <wilson@cygnus.com>
+
+       * frame.c (heapsort): Rename to frame_heapsort.
+
+       * gcc.c (do_spec_1, case '['): Move flag out of loop and initialize it.
+
+Mon Apr 20 12:43:09 1998  Doug Evans  <devans@canuck.cygnus.com>
+
+       * flow.c (sbitmap_vector_alloc): Ensure sbitmaps properly aligned.
+
+Mon Apr 20 15:04:14 1998  John Wehle  (john@feith.com)
+
+       * i386.md (movsf_push, movdf_push, movxf_push): Allow memory
+       operands during and after reload.
+
+Mon Apr 20 22:37:50 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
+
+       * final.c (shorten_branches, init_insn_lengths): Move code
+       to free label_align, uid_shuid, insn_lengths, insn_addresses
+       and uid_align from the former function into the latter one;
+       Add code to clear these variables.
+       * sh.h (label_align): Remove declaration.
+
+Mon Apr 20 14:48:29 1998  Michael Meissner  <meissner@cygnus.com>
+
+       * gcc.c (lang_specific_driver): Declare prototype properly so
+       fatal can be passed to it without error.
+
+       * configure.in (AC_CHECK_FUNCS): Check for strchr and strrchr.
+       * configure: Regenerate.
+       * config.in: Add #undef's for strchr and strrchr.
+
+       * protoize.c (toplevel): If we have rindex, but not strrchr, map
+       rindex to strrchr.
+       (file_could_be_converted): Use strrchr, not rindex since rindex is
+       not defined on Linux systems when _POSIX_SOURCE is defined.
+       (file_normally_convertible): Ditto.
+       (process_aux_info_file): Ditto.
+       (main): Ditto.
+
+       * rs6000.md (mov{sf,df} define_splits): When splitting a move of
+       a constant to an integer register, don't split the insns that do
+       the simple AND and OR operations, rather just split each word, and
+       let the normal movsi define split handle it further.
+
+Mon Apr 20 18:19:40 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
+
+       * sh.c (find_barrier): Fix bug in ADDR_DIFF_VEC handling.
+       (split_branches): Call init_insn_lengths.
+
+Mon Apr 20 07:37:49 1998  Michael Meissner  <meissner@cygnus.com>
+
+       * i386.c: Include expr.h to get the change_address prototype
+       declared.
+       
+Mon Apr 20 01:00:05 1998  H.J. Lu  (hjl@gnu.org)
+
+       * reg-stack.c (subst_asm_stack_regs): Change to return the last
+       new insn generated by this function.
+       (subst_stack_regs): Likewise.
+       (convert_regs): Record the last newly generated insn and use
+       it for change_stack () instead of INSN.
+
+Sun Apr 19 15:41:24 1998  Manfred Hollstein  <manfred@s-direktnet.de>
+
+       * fix-header.c (enum special_file): Undefine enumerators if they
+       are already defined by include files.
+       * fixproto (rel_source_file in unistd.h stdlib.h): Prefix file protection
+       macro with '__' to not pollute user namespace.
+
+Sun Apr 19 02:42:06 1998  Richard Henderson  <rth@cygnus.com>
+
+       * haifa-sched.c (queue_to_ready): Fix typo in prototype.
+
+Sat Apr 18 23:52:35 PDT 1998 Jeff Law  (law@cygnus.com)
+
+       * version.c: Bump for snapshot.
+
+Sat Apr 18 18:30:22 1998  Jim Wilson  <wilson@cygnus.com>
+
+       * i386.md (fix_truncsfdi2+[123]): Add + to operand 1 constraints.
+
+       * i386.h (CPP_CPU_DEFAULT): Renamed to CPP_CPU_DEFAULT_SPEC.
+       Add missing -Dpentium* options.
+       (CPP_CPU_SPEC): Delete redundant definition.  Include cpp_cpu_default
+       instead of CPP_CPU_DEFAULT.
+       (EXTRA_SPECS): Add entry for cpp_cpu_default.
+
+Sat Apr 18 19:06:59 1998  David Edelsohn  <edelsohn@mhpcc.edu>
+
+       * rs6000.md (floatsidf2_loadaddr): rs6000_fpmem_offset will be
+       negative in a stackless frame.
+       * rs6000.c (rs6000_stack_info): Don't include fixed-size link area
+       in stackless frame size.  Support 64-bit stackless frame size.
+       Combine fpmem offset calculations and don't add total_size to
+       offset if not pushing a stack frame.
+
+Sat Apr 18 15:41:16 1998  Jim Wilson  <wilson@cygnus.com>
+
+       * regmove.c (fixup_match_1): In three places, in flag_exceptions
+       check, change p to q.
+
+Sat Apr 18 15:30:49 1998  Jim Wilson  <wilson@cygnus.com>
+
+       * gcc.c (lang_specific_driver): Add new parm type to prototype.
+       (added_libraries): New file scope static variable.
+       (process_command): Initialize added_libraries.  Pass it to
+       lang_specific_driver.
+       (main): Use added_libraries in check for no input files.
+       
+Sat Apr 18 01:23:11 1998  John Carr  <jfc@mit.edu>
+
+       * sparc.c, sparc.h, sparc.md, sol2.h: Many changes related to V9
+       code generation.  Use 64 bit instructions in 32 bit mode when
+       possible.  Use V9 return instruction.  UltraSPARC optimizations.
+
+        * sparc.h: Change gen_rtx (CODE to gen_rtx_CODE (.
+
 Fri Apr 17 22:38:17 1998  Jeffrey A Law  (law@cygnus.com)
 
        * global.c (global_alloc): Don't pass HARD_CONST (0) to find_reg,