+Thu Jan 21 19:44:55 1999 Michael Meissner <meissner@cygnus.com>
+
+ * configure.in ({rs6000|powerpc}-ibm-aix4.[12]*): If
+ --with-gnu-ld, use x-aix41-gld instead of x-aix41 to suppress
+ adding -Wl,-bbigtoc to BOOT_LDFLAGS.
+ * configure: Regenerate.
+
+ * config/rs6000/x-aix41-gld: New file, don't set BOOT_LDFLAGS.
+
+Thu Jan 21 15:48:03 1999 Dave Brolley <brolley@cygnus.com>
+
+ * cppexp.c (cpp_lex): Allocate token_buffer dynamically.
+
+Thu Jan 21 14:18:04 EST 1999 Andrew MacLeod <amacleod@cygnus.com>
+
+ * expr.c (MOVE_BY_PIECES_P): Define condition for deciding to use
+ move_by_pieces.
+ (MOVE_MAX_PIECES): Define maximum number of bytes to move at once.
+ (USE_LOAD_POST_INCREMENT, USE_LOAD_PRE_DECREMENT): Define defaults.
+ (USE_STORE_POST_INCREMENT, USE_STORE_PRE_DECREMENT): Define defaults.
+ (move_by_pieces): Use new macros.
+ (emit_block_move): Use new macros.
+ (clear_by_pieces): Use new macros.
+ (clear_storage): Use new macros.
+ (emit_push_insn): Use new macros.
+ (expand_expr): Use new macros.
+ * config/sh/sh.h (USE_LOAD_POST_INCREMENT, USE_LOAD_PRE_DECREMENT):
+ Define.
+ (USE_STORE_POST_INCREMENT, USE_STORE_PRE_DECREMENT): Define.
+ (MOVE_BY_PIECES_P): Define based on alignment and TARGET_SMALLCODE.
+ (MOVE_MAX_PIECES): move 8 bytes on SH4.
+ * tm.texi(MOVE_BY_PIECES_P, MOVE_MAX_PIECES, USE_LOAD_POST_INCREMENT,
+ USE_LOAD_PRE_DECREMENT, USE_STORE_POST_INCREMENT,
+ USE_STORE_PRE_DECREMENT): Describe new macros.
+
+Thu Jan 21 14:13:31 1999 Vladimir N. Makarov <vmakarov@cygnus.com>
+
+ * varasm.c (output_constant_pool): Use floor_log2 instead of
+ exact_log2 for ASM_OUTPUT_ALIGN.
+
+ * stor-layout.c (layout_type): Do machine-dependent extra alignment.
+
+ * emit-rtl.c (operand_subword): Handle case when a subword outside
+ the operand.
+
+ * tm.texi (ROUND_TYPE_{SIZE,ALIGN}): More accurate descriptions of
+ the macros.
+
+Thu Jan 21 01:59:30 1999 Richard Henderson <rth@cygnus.com>
+
+ * cse.c (fold_rtx): Revert 29 Dec change.
+ (cse_insn): Revert 12 Jan change.
+ * expr.c (expand_builtin): Don't emit CONST around CONSTANT_P_RTX.
+ * regclass.c (reg_scan_mark_refs): Revert 29 Dec change.
+ * rtl.def: Likewise.
+ * rtl.h (CONSTANT_P): Likewise.
+
+ * expr.c (emit_move_insn): Never try to flush CONSTANT_P_RTX
+ to memory.
+ * recog.c (immediate_operand): Accept CONSTANT_P_RTX.
+ * alpha.c (input_operand): Likewise.
+ * c4x.c (const_operand): Likewise.
+
+ * explow.c (allocate_dynamic_stack_space): Use register_operand
+ instead of arith_operand, which does not exist.
+
+ * 1750a.h: Fix comment closure.
+ * a29k.c (a29k_set_memflags): Fix typo in 19 Jan change.
+ * arc.md (one_cmplsi2_set_cc_insn): Fix set mode mismatch.
+ * arm.h (TARGET_SWITCHES): Fix typo.
+ * i370.md (anon mult and div patterns): Fix set mode mismatch.
+ * i860.c (output_delayed_branch): Fix operands to constrain_operands.
+ (output_delay_insn): Likewise.
+ * m88k.md (anon rotate insns): Fix set mode mismatch.
+ (anon BLKmode moves): Commonize and fix set mode mismatches.
+ * ns32k.md (udivmoddi[shq]i4_internal): Fix mode mismatch.
+ * romp.md (movdf): Fix typo.
+
+Thu Jan 21 00:29:35 1999 Nathan Sidwell <nathan@acm.org>
+
+ * Makefile.in (install-common): Remove extraneous chmod for gcov
+ install.
+
+Wed Jan 20 18:15:08 1999 Dave Brolley <brolley@cygnus.com>
+
+ * function.c (assign_parms): Save and restore setting of
+ TREE_USED (parm).
+
+Wed Jan 20 12:51:42 1999 Mark Mitchell <mark@markmitchell.com>
+
+ * arm.md: Use MEM_COPY_ATTRIBUTES where appropriate throughout.
+ Pass MEM_SCALAR_P to arm_gen_store_multiple where appropriate.
+
+Tue Jan 19 21:20:52 1999 Richard Henderson <rth@cygnus.com>
+
+ * recog.c (pop_operand): New function.
+ * recog.h (pop_operand): Declare it.
+ * genrecog.c (preds): Define it.
+
+ * expr.c (do_jump_for_compare): Handle conditional branch expanders
+ emitting multiple jump instructions.
+ * jump.c (condjump_label): New function.
+ * rtl.h (condjump_label): Declare it.
+
+Tue Jan 19 21:08:20 1999 Richard Henderson <rth@cygnus.com>
+
+ * expr.c (emit_move_insn_1): Revert 17 Dec change. Don't emit
+ clobber during or after reload.
+
+Tue Jan 19 16:56:03 1999 Richard Henderson <rth@cygnus.com>
+
+ * genoutput.c (name_for_index): New function.
+ (scan_operands, validate_insn_alternatives): Use it.
+ * genrecog.c (insn_name_ptr_size): New variable.
+ (make_insn_sequence): Fill in insn_name_ptr.
+ (merge_trees): Use it.
+
+Tue Jan 19 16:37:36 1999 Richard Henderson <rth@cygnus.com>
+
+ * i386/isc.h (TARGET_DEFAULT): Define symbolicly.
+ * i386/isccoff.h, i386/next.h, i386/sco.h, i386/sco5.h: Likewise.
+ * i386/scodbx.h, i386/sequent.h, i386.unix.h: Likewise.
+
+Tue Jan 19 15:00:10 1999 Jeffrey A Law (law@cygnus.com)
+
+ * loop.c (NUM_STORES): Delete.
+ (loop_store_mems): Turn into an EXPR_LIST of MEMs.
+ (prescan_loop): Properly initialize loop_mems_idx.
+ (note_addr_stored): Simplify using list structure instead of
+ fixed sized array.
+ (invariant_p, check_dbra_loop, load_mems): Similarly.
+
+ * flow.c (invalidate_from_autoinc): New function.
+ (mark_set_1, mark_used_regs): Use it.
+
+ * Makefile.in (protoize.o, unprotoize.o): Depend on Makefile.
+
+1999-01-19 Vladimir N. Makarov <vmakarov@cygnus.com>
+
+ * invoke.texi (-mlong-double-64): New option description.
+
+1999-01-19 Jim Wilson <wilson@cygnus.com>
+
+ * libgcc2.c: Change all uses of LONG_DOUBLE_TYPE_SIZE to
+ LIBGCC2_LONG_DOUBLE_TYPE_SIZE.
+ (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): New. Set to LONG_DOUBLE_TYPE_SIZE
+ if not defined.
+ * i960/i960.h (MULTILIB_DEFAULTS): Define to mnumerics.
+ (CPP_SPECS): Add -mlong-double-64 support.
+ (TARGET_FLAG_LONG_DOUBLE_64, TARGET_LONG_DOUBLE_64): New.
+ (TARGET_SWITCHES): Add -mlong-double-64 support.
+ (LONG_DOUBLE_TYPE_SIZE): Likewise.
+ (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Define.
+ * i960/vx960-coff.h (MULTILIB_DEFAULTS): Define to msoft-float.
+ (CPP_SPECS): Add -mlong-double-64 support.
+ * i960/t-960bare (MULTILIB_OPTIONS): Add mlong-double-64.
+ (MULTILIB_DIRNAMES): Add ld64.
+ * i960/t-vxworks960 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES): Likewise.
+
+Tue Jan 19 11:54:04 1999 Jason Merrill <jason@yorick.cygnus.com>
+
+ * calls.c (expand_call): Strip a TARGET_EXPR if we're passing by
+ invisible reference.
+
+Tue Jan 19 14:51:36 1999 David Edelsohn <edelsohn@mhpcc.edu>
+
+ * rs6000.c (offsettable_addr_operand): Delete.
+ (offsettable_mem_operand): New function.
+ * rs6000.h (PREDICATE_CODES): Reflect function change.
+ (RS6000_SAVE_TOC): Represent address as MEM.
+ * win-nt.h (RS6000_SAVE_TOC): Same.
+ * rs6000.md (indirect calls): Change offsettable address parameter
+ to offsettable memory parameter.
+
+Tue Jan 19 10:24:53 1999 Mark Mitchell <mark@markmitchell.com>
+
+ * rtl.h (rtx_def): Update documentation.
+ (MEM_IN_STRUCT_P): Likewise.
+ (MEM_SCALAR_P): New macro.
+ (MEM_COPY_ATTRIBUTES): Likewise.
+ (MEM_SET_IN_STRUCT_P): Likewise.
+ * rtl.texi (MEM_SCALAR_P): Document.
+ * alias.c (canon_rtx): Use MEM_COPY_ATTRIBUTES.
+ (fixed_scalar_and_varying_struct_p): New function. Use
+ MEM_SCALAR_P rather than !MEM_IN_STRUCT_P.
+ (aliases_everything_p): Likewise.
+ (true_dependence): Use them.
+ (write_dependence_p): New function, containing code common to
+ anti_dependence and output_dependence.
+ (anti_dependence): Use it.
+ (output_dependence): Likewise.
+ * calls.c (save_fixed_argument_area): Don't clear
+ MEM_IN_STRUCT_P.
+ (expand_call): Use MEM_SET_IN_STRUCT_P.
+ (emit_library_call): Don't clear MEM_IN_STRUCT_P.
+ (emit_library_call_value): Likewise.
+ (store_one_arg): Use MEM_SET_IN_STRUCT_P.
+ * combine.c (simplify_rtx): Use MEM_COPY_ATTRIBUTES.
+ (make_extraction): Likewise.
+ (simplify_shift_const): Likewise.
+ (gen_lowpart_for_combine): Likewise.
+ * cse.c (gen_lowpart_if_possible): Use MEM_COPY_ATTRIBUTES.
+ * emit-rtl.c (operand_subword): Likewise.
+ (change_address): Likewise.
+ * explow.c (stabilize): Use MEM_COPY_ATTRIBUTES.
+ * expr.c (protect_from_queue): Use MEM_COPY_ATTRIBUTES.
+ (emit_group_store): Use MEM_SET_IN_STRUCT_P.
+ (copy_blkmode_from_reg): Likewise.
+ (store_field): Likewise.
+ (expand_expr): Remove bogus guesswork setting MEM_IN_STRUCT_P
+ heuristically. Use MEM_SET_IN_STRUCT_P.
+ (get_memory_rtx): Likewise.
+ * final.c (alter_subreg): Use MEM_COPY_ATTRIBUTES.
+ * function.c (assign_stack_temp): Clear MEM_SCALAR_P and
+ MEM_ALIAS_SET on newly returned MEMs.
+ (assign_temp): Use MEM_SET_IN_STRUCT_P.
+ (put_reg_into_stack): Likewise.
+ (fixup_var_refs1): Use MEM_COPY_ATTRIBUTES.
+ (gen_mem_addressof): Use MEM_SET_IN_STRUCT_P.
+ (assign_parms): Likewise.
+ (expand_function): Likewise.
+ * integrate.c (expand_inline_function): Likewise.
+ (copy_rtx_and_substitute): Use MEM_COPY_ATTRIBUTES.
+ * loop.c (note_addr_stored): Remove check on MEM_IN_STRUCT_P.
+ * optabs.c (gen_move_insn): Use MEM_COPY_ATTRIBUTES.
+ * print-rtl.c (print_rtx): Print /f for frame_related.
+ * recog.c (validate_replace_rtx_1): Use MEM_COPY_ATTRIBUTES.
+ * reload1.c (reload): Copy MEM_SCALAR_P as well.
+ * stmt.c (expand_decl): Use MEM_SET_IN_STRUCT_P.
+ (expand_anon_union_decl): Use MEM_COPY_ATTRIBUTES.
+ * varasm.c (make_decl_rtl): Use MEM_SET_IN_STRUCT_P.
+ (output_constant_def): Likewise.
+ * a29k.c (a29k_set_memflags_1): Take scalar_p.
+ Set MEM_SCALAR_P.
+ (a29k_set_memflags): Use it.
+ * alpha.c (get_aligned_mem): Use MEM_COPY_ATTRIBUTES.
+ * c4x.c (c4x_scan_for_ld): Likewise.
+ * h8300.c (fix_bit_operand): Likewise.
+ * m88k.c (legitimize_address): Likewise.
+ (block_move_loop): Likewise.
+ (block_move_no_loop): Likewise.
+ (block_move_sequence): Likewise.
+ (m88k_builtin_saveregs): Use MEM_SET_IN_STRUCT_P.
+ * mips/abi64.h (SETUP_INCOMING_VARARGS): Likewise.
+ * rs6000.c (expand_block_move_insn): Use MEM_COPY_ATTRIBUTES.
+ * sh.c (sh_builtin_saveregs): Use MEM_SET_IN_STRUCT_P.
+ * arm.h (arm_gen_load_multiple): Take scalar_p.
+ (arm_store_load_multiple): Likewise.
+ * arm.c (arm_gen_load_multiple): Likewise.
+ (arm_gen_store_multiple): Likewise.
+ (arm_gen_movstrqi): Treat MEM_SCALAR_P like MEM_IN_STRUCT_P.
+
Tue Jan 19 12:30:37 EST 1999 Andrew MacLeod <amacleod@cygnus.com>
* optabs.c (emit_libcall_block): Add a REG_EH_REGION reg note to all