--with-gnu-ld uses different x- fiile under aix 4.1
[gcc.git] / gcc / ChangeLog
index fe980ab5d50fd1c89d9920300b54474339a57b93..67dad253e445d17d95481458956c3a61a734728f 100644 (file)
@@ -1,3 +1,273 @@
+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
+       calls within a libcall block to indicate no throws are possible.
+       * flow.c (find_basic_blocks, find_basic_blocks_1): Don't look for 
+       libcall blocks. Don't add edges to exception handlers if we see 
+       a REG_EH_REGION note with a value of 0.
+       (make_edges): Override active_eh_region vector if the call has a note
+       indicating the call does not throw.
+
+1999-01-19  Vladimir N. Makarov  <vmakarov@cygnus.com>
+
+       * config/rs6000/sysv4.h (CC1_SPEC): Fix correct numbers of {}.
+
+Tue Jan 19 06:26:30 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * Makefile.in (cccp.o, cpplib.o): Depend on Makefile.
+
 Mon Jan 18 09:56:41 1999  Jason Merrill  <jason@yorick.cygnus.com>
 
        * invoke.texi (C++ Dialect Options): Document -fno-rtti.