OSDN Git Service

* alpha.c (summarize_insn [SUBREG]): Propogate SET.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index a673885..7bc8e3f 100644 (file)
@@ -1,3 +1,569 @@
+Tue Oct 28 00:32:14 1997  Richard Henderson  <rth@cygnus.com>
+
+       * alpha.c (summarize_insn [SUBREG]): Propogate SET.
+
+Mon Oct 27 23:59:26 1997  Richard Henderson  <rth@cygnus.com>
+
+       * alpha.c (alpha_handle_trap_shadows): Don't call get_attr_trap
+       on a CLOBBER.
+
+Mon Oct 27 21:25:20 1997  Richard Henderson  <rth@cygnus.com>
+
+       * alpha.md (movqi, movhi): Make sure new insns created during reload
+       won't need reloading themselves.
+       (reload_inqi, reload_inhi, reload_outqi, reload_outhi): Likewise.
+
+Mon Oct 27 16:11:10 1997  Jeffrey A Law  (law@cygnus.com)
+
+       * mn10300.h (GO_IF_LEGITIMATE_ADDRESS): Disable reg+reg.
+
+Sun Oct 26 13:50:44 1997  Richard Henderson  <rth@cygnus.com>
+
+       * alpha.c (alpha_sa_mask [VMS]): Don't include $26 in the mask.
+       Patch from Klaus Kaempf <kkaempf@progis.de>.
+
+Sun Oct 26 13:31:47 1997  Jim Wilson  (wilson@cygnus.com)
+
+       * expr.c (expand_expr, case INDIRECT_REF): Optimize a reference
+       to an element in a constant string.
+
+Sun Oct 26 11:41:49 1997  Jason Merrill  <jason@yorick.cygnus.com>
+
+       * dwarf2out.c (output_call_frame_info): The CIE pointer is now a 32
+       bit PC-relative offset.  The exception range table pointer is now in
+       the CIE.
+       * frame.c (dwarf_cie, dwarf_fde): Rename CIE_pointer to CIE_delta.
+       (count_fdes, add_fdes, get_cie): Adjust.
+       (cie_info, extract_cie_info, __frame_state_for): Adjust eh_ptr uses.
+
+       From H.J. Lu:
+       * frame.c (count_fdes, add_fdes): Skip linked once FDE entries.
+
+Sun Oct 26 11:52:01 1997  Richard Henderson  <rth@cygnus.com>
+
+       * alias.c (memrefs_conflict_p): Treat arg_pointer_rtx just
+       like stack_pointer_rtx.
+
+Sun Oct 26 11:32:16 1997  Manfred Hollstein  <manfred@s-direktnet.de>
+
+       * Makefile.in (bootstrap-lean): Combined with `normal' bootstrap
+       targets using "$@" to provide support for similar but not identical
+       targets without having to duplicate code.
+       (bootstrap4): New goal.
+
+       * Makefile.in (compare, compare-lean, compare3): Combined to one
+       ruleset determining actions to be performed via $@.
+       (compare4, compare4-lean): New targets.
+       (gnucompare, gnucompare3): Combined to one ruleset determining
+       actions to be performed via $@. Also, note which files failed
+       the comparison test in .bad_compare.
+       (gnucompare-lean, gnucompare3-lean, gnucompare4-lean): New targets.
+
+Sun Oct 26 10:06:11 1997  Toon Moene  <toon@moene.indiv.nluug.nl>
+
+       * fold-const (fold): Also simplify FLOOR_DIV_EXPR to EXACT_DIV_EXPR
+       if the dividend is a multiple of the divisor.
+
+Sun Oct 26 09:21:40 1997  Jeffrey A Law  (law@cygnus.com)
+
+       * Makefile.in (LIBGCC2_CFLAGS): Add -fexceptions.
+
+       * alias.c (find_base_term): Handle PRE_INC, PRE_DEC, POST_INC,
+       and POS_DEC.
+
+       * alias.c (true_dependence): Fix typo.
+
+       * toplev.c (flag_rerun_loop_opt): New variable.
+       (f_options): Handle -frerun-loop-opt.
+       (rest_of_compilation): If -frerun-loop-opt, then run the loop
+       optimizer twice.
+       (main): Enable -frerun-loop-opt by default for -O2 or greater.
+
+       * loop.c (simplify_giv_expr): Adding two invariants results
+       in an invariant.
+
+Sun Oct 26 09:15:15 1997  Richard Henderson  <rth@cygnus.com>
+
+       * expr.c (get_inner_reference): Remove the array bias after 
+       converting the index to Pmode.
+
+Sat Oct 25 12:20:58 1997  Jeffrey A Law  (law@cygnus.com)
+
+       * mn10300.h (TARGET_SWITCHES): Add -mmult-bug and -mno-mult-bug.
+       (TARGET_MULT_BUG): Define.
+       (TARGET_DEFAULT): Default to TARGET_MULT_BUG.
+       * mn10300.md (mulsi3): Handle TARGET_MULT_BUG.
+
+Fri Oct 24 17:40:34 1997  Jeffrey A Law  (law@cygnus.com)
+
+       * mn10200.c (indirect_memory_operand): Delete unused function.
+       * mn10200.h (EXTRA_CONSTRAINT): Handle 'R'.
+       * mn10200.md (bset, bclr insns): Handle output in a reg too.
+
+Fri Oct 24 15:54:57 1997  Richard Henderson  <rth@cygnus.com>
+
+       * alpha.md (call patterns): Revert Oct 16 change; if we are to elide
+       the callee's ldgp, we must do it ourselves, and we use the jsr tag
+       for more than scheduling.
+
+Fri Oct 24 13:23:04 1997  Doug Evans  <devans@canuck.cygnus.com>
+
+       * sparc/sparc.h (ASM_SPEC): Delete asm_arch.
+
+Fri Oct 24 13:19:40 1997  Jeffrey A Law  (law@cygnus.com)
+
+       * mn10300.c (symbolic_operand, legitimize_address): New functions.
+       * mn10300.h (LEGITIMIZE_ADDRESS): Call legitimize_address.
+       (GO_IF_LEGITIMATE_ADDRESS): Don't allow base + symbolic.
+
+Thu Oct 23 09:35:12 1997  Jeffrey A Law  (law@cygnus.com)
+
+       * version.c: Bump for snapshot.
+
+Thu Oct 23 08:03:59 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
+
+       * dbxout.c (dbxout_start_new_source_file): Use output_quoted_string
+       for FILENAME.
+
+Wed Oct 22 00:34:12 1997  Jeffrey A Law  (law@cygnus.com)
+
+       * toplev.c (flag_exceptions): Default value is 2.
+       (compile_file): If flag_exceptions still has the value 2, then
+       set it to 0.
+
+       * rs6000.c (struct machine_function): Add pic_offset_table_rtx.
+       (rs6000_save_machine_status): Save pic_offset_table_rtx.
+       (rs6000_restore_machine_status: Restore pic_offset_table_rtx.
+
+       * local-alloc.c (block_alloc): Don't lose if two SCRATCH expressions
+       are shared.
+
+       * rs6000.md (*movsi_got_internal_mem): New pattern.
+       (*movsi_got_internal_mem splitter): New define_split.
+
+Tue Oct 21 18:14:03 1997  Jim Wilson  <wilson@cygnus.com>
+
+       * obstack.h (obstack_empty_p): Fix spurious space after backslash.
+
+Tue Oct 21 18:34:01 1997  Geoffrey KEATING  <geoffk@ozemail.com.au>
+
+       * rs6000.c: Avoid creating a stack frame under SYSV ABI if we
+       only need to save LR.
+
+Tue Oct 21 10:06:40 1997  Jeffrey A Law  (law@cygnus.com)
+
+       * mn10300.md (movqi, movhi): Avoid using address registers as
+       destinations unless absolutely necessary.
+
+       * mn10200.c (expand_prologue): Fix typo.
+
+       * mn10200.h (GO_IF_LEGITIMATE_ADDRESS): Do not allow indexed
+       addresses.
+       * mn10200.md (neghi2): Provide an alternative which works if
+       the input and output register are the same.
+
+       * mn10300.c (print_operand): Handle 'S'.
+       * mn10300.md (ashlsi3, lshrsi3, ashrsi3): Use %S for
+       shift amount in last alternative
+
+       * mn10300.c (expand_epilogue): Rework to handle register restores
+       in "ret" and "retf" instructions correctly.
+
+Mon Oct 20 16:47:08 1997  Jim Wilson  <wilson@cygnus.com>
+
+       * expmed.c (extract_bit_field): Don't make flag_force_mem disable
+       extzv for memory operands.
+
+       * cse.c (simplify_ternary_operation, case IF_THEN_ELSE): Collapse
+       redundant conditional moves to single operand.
+
+Mon Oct 20 15:30:26 1997  Nick Clifton  <nickc@cygnus.com>
+
+       * v850.h: Move define of __v850__ from CPP_PREDEFINES
+       to CPP_SPEC.
+       
+       * xm-v850.h: Use __v850 rather than __v850__ to
+       identify v850 port.
+
+Mon Oct 20 14:15:02 1997  Jim Wilson  <wilson@cygnus.com>
+
+       * mips/mips.c (compute_frame_size): Not a leaf function if
+       profile_flag set.
+
+Mon Oct 20 14:16:38 1997  Geoffrey KEATING  <geoffk@ozemail.com.au>
+
+       * rs6000/t-ppccomm: Use -msdata=none for crtstuff.
+
+Mon Oct 20 12:28:17 1997  Doug Evans  <devans@canuck.cygnus.com>
+
+       * sparc/sparc.h (SPARC_V9,SPARC_ARCH64): Delete.
+       (DEFAULT_ARCH32_P): New macro.
+       (TARGET_ARCH{32,64}): Allow compile time or runtime selection.
+       (enum cmodel): Declare.
+       (sparc_cmodel_string,sparc_cmodel): Declare.
+       (SPARC_DEFAULT_CMODEL): Provide default.
+       (TARGET_{MEDLOW,MEDANY}): Renamed to TARGET_CM_{MEDLOW,MEDANY}.
+       (TARGET_FULLANY): Deleted.
+       (TARGET_CM_MEDMID): New macro.
+       (CPP_CPU_DEFAULT_SPEC): Renamed from CPP_DEFAULT_SPEC.
+       (ASM_CPU_DEFAULT_SPEC): Renamed from ASM_DEFAULT_SPEC.
+       (CPP_PREDEFINES): Take out stuff now handled by %(cpp_arch).
+       (CPP_SPEC): Rewrite.
+       (CPP_ARCH{,32,64,_DEFAULT}_SPEC): New macros.
+       (CPP_{ENDIAN,SUBTARGET}_SPEC): New macros.
+       (ASM_ARCH{,32,64,_DEFAULT}_SPEC): New macros.
+       (ASM_SPEC): Add %(asm_arch).
+       (EXTRA_SPECS): Rename cpp_default to cpp_cpu_default.
+       Rename asm_default to asm_cpu_default.
+       Add cpp_arch32, cpp_arch64, cpp_arch_default, cpp_arch, cpp_endian,
+       cpp_subtarget, asm_arch32, asm_arch64, asm_arch_default, asm_arch.
+       (NO_BUILTIN_{PTRDIFF,SIZE}_TYPE): Define ifdef SPARC_BI_ARCH.
+       ({PTRDIFF,SIZE}_TYPE): Provide 32 and 64 bit values.
+       (MASK_INT64,MASK_LONG64): Delete.
+       (MASK_ARCH64): Renamed to MASK_64BIT.
+       (MASK_{MEDLOW,MEDANY,FULLANY,CODE_MODEL}): Delete.
+       (EMBMEDANY_BASE_REG): Renamed from MEDANY_BASE_REG.
+       (TARGET_SWITCHES): Always provide 64 bit options.
+       (ARCH64_SWITCHES): Delete.
+       (TARGET_OPTIONS): New option -mcmodel=.
+       (INT_TYPE_SIZE): Always 32.
+       (MAX_LONG_TYPE_SIZE): Define ifdef SPARC_BI_ARCH.
+       (INIT_EXPANDERS): sparc64_init_expanders renamed to sparc_init_....
+       (FUNCTION_{,BLOCK_}PROFILER): Delete TARGET_EMBMEDANY support.
+       (PRINT_OPERAND_PUNCT_VALID_P): Add '_'.
+       * sparc/linux-aout.h (CPP_PREDEFINES): Take out stuff handled by
+       CPP_SPEC.
+       (CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
+       * sparc/linux.h: Likewise.
+       * sparc/linux64.h (SPARC_V9,SPARC_ARCH64): Delete.
+       (ASM_CPU_DEFAULT_SPEC): Renamed from ASM_DEFAULT_SPEC.
+       (TARGET_DEFAULT): Delete MASK_LONG64, MASK_MEDANY, add MASK_64BIT.
+       (SPARC_DEFAULT_CMODEL): Define.
+       (CPP_PREDEFINES): Take out stuff handled by CPP_SPEC.
+       (CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
+       (LONG_DOUBLE_TYPE_SIZE): Define.
+       (ASM_SPEC): Add %(asm_arch).
+       * sparc/sol2.h (CPP_PREDEFINES): Take out stuff handled by CPP_SPEC.
+       (CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
+       (TARGET_CPU_DEFAULT): Add ultrasparc case.
+       * sparc/sp64-aout.h (SPARC_V9,SPARC_ARCH64): Delete.
+       (TARGET_DEFAULT): MASK_ARCH64 renamed to MASK_64BIT.
+       (SPARC_DEFAULT_CMODEL): Define.
+       * sparc/sp64-elf.h (SPARC_V9,SPARC_ARCH64): Delete.
+       (TARGET_DEFAULT): MASK_ARCH64 renamed to MASK_64BIT.  Delete
+       MASK_LONG64, MASK_MEDANY.
+       (SPARC_DEFAULT_CMODEL): Define.
+       (CPP_PREDEFINES): Delete.
+       (CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
+       (ASM_SPEC): Add %(asm_arch).
+       (LONG_DOUBLE_TYPE_SIZE): Define.
+       (DWARF2_DEBUGGING_INFO): Define.
+       * sparc/splet.h (CPP_SPEC): Delete.
+       * sparc/sysv4.h (CPP_PREDEFINES): Take out stuff handled by CPP_SPEC.
+       (FUNCTION_BLOCK_PROFILER): Delete TARGET_EMBMEDANY support.
+       (BLOCK_PROFILER): Likewise.
+       * sparc/sparc.c (sparc_cmodel_string,sparc_cmodel): New globals.
+       (sparc_override_options): Handle code model selection.
+       (sparc_init_expanders): Renamed from sparc64_init_expanders.
+       * sparc/sparc.md: TARGET_<code_model> renamed to TARGET_CM_....
+       TARGET_MEDANY renamed to TARGET_CM_EMBMEDANY.
+       (sethi_di_embmedany_{data,text}): Renamed from sethi_di_medany_....
+       (sethi_di_fullany): Delete.
+
+Mon Oct 20 02:00:18 1997  Klaus Kaempf <kkaempf@progis.de>
+                         Jeff Law <law@cygnus.com>
+                         Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+       * alpha/vms.h (DIVSI3_LIBCALL): OTS$ functions are upper case.
+       (DIVDI3_LIBCALL, UDIVSI3_LIBCALL, UDIVDI3_LIBVALL): Likewise.
+       (MODSI3_LIBCALL, MODDI3_LIBCALL): Likewise.
+       (UMODSI3_LIBCALL, UMODDI3_LIBCALL): Likewise.
+       * alpha/alpha.md (arg_home): Likewise.
+
+       * alpha/alpha.c (vmskrunch): Delete
+       * alpha/vms.h (ENCODE_SECTION_INFO, ASM_DECLARE_FUNCTION_NAME): Delete.
+       * alpha.c (output_prolog, VMS): Use alloca for entry_label and don't
+       truncate to 64 characters.
+
+       * make-l2.com: Support openVMS/Alpha.
+
+       * vmsconfig.com: Fix to work on openVMS/Alpha and openVMS/VAX.
+
+Sun Oct 19 19:00:35 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
+
+       * longlong.h (count_leading_zeros): Add missing casts to USItype.
+
+Sun Oct 19 18:44:06 1997  Jeffrey A Law  (law@cygnus.com)
+
+       * i386/bsd386.h (ASM_COMMENT_START): Define.
+
+Sat Oct 18 13:47:15 1997  Jason Merrill  <jason@yorick.cygnus.com>
+
+       * tree.c (restore_tree_status): Also free up temporary storage
+       when we finish a toplevel function.
+       (dump_tree_statistics): Print stats for backend obstacks.
+
+Sat Oct 18 12:47:31 1997  Doug Evans  <dje@canuck.cygnus.com>
+
+       * expr.c (use_group_regs): Don't call use_reg for MEMs.
+
+Sat Oct 18 09:49:46 1997  Jason Merrill  <jason@yorick.cygnus.com>
+
+       * libgcc2.c (__throw): Don't copy the return address.
+       * dwarf2out.c (expand_builtin_dwarf_reg_size): Ignore return address.
+
+       * except.c (exceptions_via_longjmp): Initialize to 2 (uninitialized).
+       * toplev.c (main): Initialize exceptions_via_longjmp.
+
+       * tree.c: Add extra_inline_obstacks.
+       (save_tree_status): Use it.
+       (restore_tree_status): If this is a toplevel inline obstack and we
+       didn't want to save anything on it, recycle it.
+       (print_inline_obstack_statistics): New fn.
+       * function.c (pop_function_context_from): Pass context to 
+       restore_tree_status.
+       * obstack.h (obstack_empty_p): New macro.
+
+Sat Oct 18 00:43:59 1997  Jeffrey A Law  (law@cygnus.com)
+
+       * i386/freebsd.h (ASM_COMMENT_START): Fix.
+
+Fri Oct 17 23:48:52 1997  Jim Wilson  (wilson@cygnus.com)
+
+       * v850.c (ep_memory_offset): New function.
+       (ep_memory_operand, substitute_ep_register, v850_reorg): Call it.
+
+       * v850.h (CONST_OK_FOR_*): Add and correct comments.
+       (CONSTANT_ADDRESS_P): Add comment.
+       (EXTRA_CONSTRAINT): Define 'U'.
+       * v850.md: Add comments on bit field instructions.
+       (addsi3): Delete &r/r/r alternative.  Add r/r/U alternative.
+       (lshrsi3): Use N not J constraint. 
+
+       * v850.md (v850_tst1+1): New define_split for tst1 instruction.
+
+       * v850.c (reg_or_0_operand): Call register_operand.
+       (reg_or_int5_operand): Likewise.
+       * v850.h (MASK_BIG_SWITCH, TARGET_BIG_SWITCH): New macros.
+       (TARGET_SWITCHES): Add "big-switch".
+       (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT, CASE_VECTOR_MODE,
+       ASM_OUTPUT_BEFORE_BASE_LABEL): Add support for TARGET_BIG_SWITCH.
+       (CASE_DROPS_THROUGH): Comment out.
+       (CASE_VECTOR_PC_RELATIVE, JUMP_TABLES_IN_TEXT_SECTION): Define.
+       * v850.md (cmpsi): Delete compare mode.
+       (casesi): New pattern.
+
+       * v850.h (CONST_OK_FOR_N): Delete redundant compare against zero.
+       * v850.md (ashlsi3): Use SImode not QImode for shift count.
+       (lshrsi3): Likewise.
+
+       * v850.c (print_operand): Add 'c', 'C', and 'z' support.  Delete
+       unreachable switch statement after 'b' support.  Remove "b" from
+       strings for 'b' support.
+       * v850.md (branch_normal, branch_invert): Change %b to b%b.
+
+Fri Oct 17 23:33:20 1997  Jeffrey A Law  (law@cygnus.com)
+
+       * Makefile.in (LIBGCC2_CFLAGS): Avoid a backslash then an
+       empty line if @inhibit_libc@ is empty.
+
+Fri Oct 17 23:24:40 1997  Robert Lipe (robertl@dgii.com)
+
+       * i386/sco5.h: Let ELF use dwarf2 unwinding.  COFF uses sjlj.
+       (EH_FRAME_SECTION_ASM_OP, EH_FRAME_SECTION_ASM_OP_ELF): Defined.
+       (EH_FRAME_SECTION_ASM_OP_COFF): Likewise.
+       (DWARF2_UNWIND_INFO): Let this track object file format.
+       (EXTRA_SECTIONS): Add in_eh.
+       (EH_FRAME_SECTION_ASM_OP, EH_FRAME_SECTION_ASM_OP_ELF): Define.
+       (EH_FRAME_SECTION_ASM_OP_COFF): Likewise.
+
+Fri Oct 17 17:13:42 1997  David S. Miller  <davem@tanya.rutgers.edu>
+
+       * sparc/linux64.h (LINK_SPEC): Dynamic linker is ld-linux64.so.2.
+       * sparc/sparc.h (FUNCTION_PROFILER): Fix format string when
+       TARGET_MEDANY.
+       * sparc/sparc.c (dwarf2out_cfi_label): Extern no longer needed.
+       (output_double_int): Output DI mode values correctly when
+       HOST_BITS_PER_WIDE_INT is 64.
+       (output_fp_move_quad): If TARGET_V9 and not TARGET_HARD_QUAD, use
+       fmovd so it works if a quad float ends up in one of the upper 32
+       float regs.
+       * sparc/sparc.md (pic_{lo_sum,sethi}_di): New patterns
+       necessary for PIC support on sparc64.
+
+Fri Oct 17 13:39:56 1997  Doug Evans  <dje@canuck.cygnus.com>
+
+       * sparc/sp64-elf.h (TARGET_DEFAULT): Delete MASK_STACK_BIAS.
+       * sparc/sparc.h (PROMOTE_MODE): Promote small ints if arch64.
+       (PROMOTE_FUNCTION_ARGS,PROMOTE_FUNCTION_RETURN): Define.
+       (SPARC_FIRST_FP_REG, SPARC_FP_REG_P): New macros.
+       (SPARC_{OUTGOING,INCOMING}_INT_ARG_FIRST): New macros.
+       (SPARC_FP_ARG_FIRST): New macro.
+       (CONDITIONAL_REGISTER_USAGE): All v9 fp regs are volatile now.
+       (REG_ALLOC_ORDER,REG_LEAF_ALLOC_ORDER): Reorganize fp regs.
+       (NPARM_REGS): There are 32 fp argument registers now.
+       (FUNCTION_ARG_REGNO_P): Likewise.
+       (FIRST_PARM_OFFSET): Update to new v9 abi.
+       (REG_PARM_STACK_SPACE): Define for arch64.
+       (enum sparc_arg_class): Delete.
+       (sparc_arg_count,sparc_n_named_args): Delete.
+       (struct sparc_args): Redefine and use for arch32 as well as arch64.
+       (GET_SPARC_ARG_CLASS,ROUND_REG,ROUND_ADVANCE): Delete.
+       (FUNCTION_ARG_ADVANCE): Rewrite.
+       (FUNCTION_ARG,FUNCTION_INCOMING_ARG): Rewrite.
+       (FUNCTION_ARG_{PARTIAL_NREGS,PASS_BY_REFERENCE}): Rewrite.
+       (FUNCTION_ARG_CALLEE_COPIES): Delete.
+       (FUNCTION_ARG_{PADDING,BOUNDARY}): Define.
+       (STRICT_ARGUMENT_NAMING): Define.
+       (doublemove_string): Declare.
+       * sparc/sparc.c (sparc_arg_count,sparc_n_named_args): Delete.
+       (single_move_string): Use GEN_INT, and HOST_WIDE_INT.
+       (doublemove_string): New function.
+       (output_move_quad): Clean up some of the arch64 support.
+       (compute_frame_size): Add REG_PARM_STACK_SPACE if arch64.
+       Don't add 8 bytes of reserved space if arch64.
+       (sparc_builtin_saveregs): Combine arch32/arch64 versions.
+       (init_cumulative_args): New function.
+       (function_arg_slotno): New static function.
+       (function_arg,function_arg_partial_nregs): New functions.
+       (function_arg_{pass_by_reference,advance}): New functions.
+       (function_arg_padding): New function.
+       * ginclude/va-sparc.h: Rewrite v9 support.
+
+Fri Oct 17 12:29:48 1997  Christian Iseli  <Christian.Iseli@lslsun.epfl.ch>
+
+       * regclass.c (record_address_regs): Look at REG_OK_FOR_{BASE,INDEX}_P
+       for hard regs to determine base and index registers.
+
+       * reload.c (debug_reload_to_stream): New function.  Specify stream
+       into which to write debug info.
+       (debug_reload): Modify to call debug_reload_to_stream with stderr.
+
+Thu Oct 16 15:07:51 1997  Richard Henderson  <rth@cygnus.com>
+
+       * combine.c (can_combine_p): Don't combine with an asm whose
+       output is a hard register.
+
+Thu Oct 16 15:43:26 1997  Mike Stump  (mrs@wrs.com)
+
+       * c-decl.c (start_struct): Ensure that structs with forward
+       declarations are in fact packed when -fpack-struct is given.
+
+       * stor-layout.c (layout_record): Ignore STRUCTURE_SIZE_BOUNDARY if
+       we are packing a structure.  This allows a structure with only
+       bytes to be aligned on a byte boundary and have no padding on a
+       m68k.
+
+Thu Oct 16 15:17:54 1997  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * rs6000.h (ROUND_TYPE_ALIGN): Don't blow up if no fields in record.
+
+Thu Oct 16 11:20:30 1997  Richard Henderson  <rth@cygnus.com>
+
+       * alpha.c (alpha_return_addr_rtx): New variable.
+       (alpha_save_machine_status): New; save it.
+       (alpha_restore_machine_status): New; restore it.
+       (alpha_init_expanders): New; clear it.
+       (alpha_return_addr): New; set it.
+       (alpha_ra_ever_killed): New; if alpha_return_addr_rtx, regs_ever_live
+       is overly conservative, so search the insns explicitly.
+       (alpha_sa_mask [VMS]): Check alpha_ra_ever_killed.
+       (alpha_sa_size [VMS && !VMS]): Likewise.
+       * alpha.h (RETURN_ADDR_RTX): Call alpha_return_addr.
+       (INIT_EXPANDERS): New definition.
+       
+       * alpha.c: Move REG_PV, REG_RA somewhere more visible in the file.
+       (output_prolog [!VMS]): Use them.
+
+       * alpha.c (output_prolog [!VMS]): Move gp detection to ...
+       (alpha_does_function_need_gp): ... a new function.  Refine the 
+       CALL_INSN test to just TYPE_JSR.
+       * alpha.md (most call insns): Fix some jsr/ibr type transpositions.
+
+Thu Oct 16 09:36:47 1997  Jeffrey A Law  (law@cygnus.com)
+
+       * version.c: Bump for snapshot.
+
+Wed Oct 15 21:38:18 1997  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * pa.c (move_operand): Respect -mdisable-indexing.
+       * pa.h (GO_IF_LEGITIMATE_ADDRESS): Likewise.
+
+Wed Oct 15 21:34:45 1997  David Edelsohn  <edelsohn@mhpcc.edu>
+
+       * rs6000.md (udivsi3, divsi3): Split into MQ and non-MQ cases for
+       PPC601.
+       (umulsidi3,umulsi3_highpart): Ditto.
+       (smulsi3_highpart_no_mq): Add !TARGET_POWER.
+
+Wed Oct 15 18:21:46 1997  Richard Henderson  <rth@cygnus.com>
+
+       * alpha.c (final_prescan_insn): Gut, remove and transform to ...
+       (alpha_handle_trap_shadows): ... a new function.  Handle the entire
+       function in one go.  Emit RTL for trapb, instead of printf directly.
+       (alpha_reorg): New function.  Call alpha_handle_trap_shadows.
+       (trap_pending): Kill global variable.
+       (output_epilog): Don't call final_prescan_insn.
+       (struct shadow_summary): Elide $31 and $f31; now it fits in a word.
+       * alpha.h (FINAL_PRESCAN_INSN): Remove.
+       (MACHINE_DEPENENT_REORG): Define.
+       * alpha.md (jsr patterns with trapb): Stupid and useless.  Kill.
+       (trapb): New insn.
+
+Wed Oct 15 18:16:05 1997  Richard Henderson  <rth@cygnus.com>
+
+       Tune Haifa scheduler for Alpha:
+       * alpha.h (ISSUE_RATE): Define.
+       * alpha.c (alpha_adjust_cost): Handle EV5 mult delay; don't apply
+       EV4 adjustments to EV5.
+       * alpha.md: Remove all scaling from function unit delays.  Rework
+       EV5 function units to match the CPU.
+       (umuldi3_highpart): EV5 added the IMULH insn class.
+
+Wed Oct 15 17:42:41 1997  Jeffrey A Law  (law@cygnus.com)
+
+       * pa.c (following_call): Fail if the CALL_INSN is an indirect
+       call.
+
+Tue Oct 14 12:01:00 1997  Mark Mitchell  <mmitchell@usa.net>
+
+       * cplus-dem.c (demangle_signature): Don't look for return types on
+       constructors.  Handle member template constructors.
+
+Tue Oct 14 11:30:29 1997  Jason Merrill  <jason@yorick.cygnus.com>
+
+       * tree.c (expr_tree_cons, build_expr_list, expralloc): New fns.
+       * tree.h: Declare them.
+
+Fri Oct 10 13:46:56 1997  Doug Evans  <dje@canuck.cygnus.com>
+
+       * configure.in: Handle --with-newlib.
+       * Makefile.in (LIBGCC2_CFLAGS): Add @inhibit_libc@.
+
+       * sparc/t-sp64 (LIBGCC2_CFLAGS): Delete.
+
+Wed Oct  8 14:37:44 1997  Jeffrey A Law  (law@cygnus.com)
+
+       * config/ptx4.h: Fix typo.
+
+Wed Oct  8 08:57:20 1997  Jeffrey A Law  (law@cygnus.com)
+
+       * version.c: Bump for snapshot.
+
+Tue Oct  7 16:27:34 1997  Manfred Hollstein  <manfred@s-direktnet.de>
+
+       * aclocal.m4: Substitute INSTALL.
+       * configure: Re-built.
+
+Tue Oct  7 15:37:35 1997  Jeffrey A Law  (law@cygnus.com)
+
+        * integrate.c (save_for_inline_copying): Avoid undefined pointer
+        operations.
+        (expand_inline_function): Likewise.
+
+       * dwarf2out.c (output_call_frame_info): Reinstate last change
+       using flag_debug_asm check instead of flag_verbose_asm.
+
 Tue Oct  7 12:57:26 1997  Jim Wilson  <wilson@cygnus.com>
 
        * dwarf2out.c (output_call_frame_info): Remove last change.