OSDN Git Service

Oops. forgot to kill the >>> from the conflict.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 97dea44..d5cc797 100644 (file)
@@ -1,3 +1,292 @@
+Tue Aug 25 12:23:20 PDT 1998  Richard Henderson  <rth@cygnus.com>
+
+        * reload.c (operands_match_p): Handle rtvecs.
+
+        * i386.c (legitimate_pic_address_disp_p): New.
+        (legitimate_address_p): Use it.
+        (legitimize_pic_address): Use unspecs to represent @GOT and @GOTOFF.
+        Handle constant pool symbols just like statics.
+        (emit_pic_move): Use Pmode not SImode for clarity.
+        (output_pic_addr_const) [SYMBOL_REF]: Remove @GOT and @GOTOFF hacks.
+        [UNSPEC]: New, handling what we killed above.
+        [PLUS]: Detect and abort on invalid symbol arithmetic.
+        * i386.h (CONSTANT_ADDRESS_P): Remove HIGH.
+
+Tue Aug 25 12:02:23 1998  Mark Mitchell  <mark@markmitchell.com>
+
+       * alias.c: Include output.h.
+       (DIFFERENT_ALIAS_SETS_P): Don't treat alias sets as
+       different if we're in a varargs function.
+       * Makefile.in (alias.o): Depend on output.h
+       
+Tue Aug 25 19:20:12 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
+
+       * sh.h (GIV_SORT_CRITERION): Delete.
+
+Tue Aug 25 13:19:46 1998  Dave Brolley  <brolley@cygnus.com>
+
+       * regclass.c (regclass): Use xmalloc/free instead of alloca.
+       * stupid.c (stupid_life_analysis): Ditto.
+       * reload1.c (reload): Ditto.
+
+Tue Aug 25 05:48:18 1998  Jakub Jelinek  <jj@sunsite.ms.mff.cuni.cz>
+
+       * config/sparc/sparc.c (arith_4096_operand, arith_add_operand,
+       arith_double_4096_operand, arith_double_add_operand): New
+       predicates.
+       * config/sparc/sparc.h (PREDICATE_CODES): Add them, declare them.
+       * config/sparc/sparc.md (adddi3, addsi3, subdi3, subsi3): Use
+       them to transform add/sub 4096 into add/sub -4096.
+
+Mon Aug 24 23:31:03 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
+
+       * loop.c (scan_loop): Allocate some slop to handle pseudos
+       generated by move_movables.
+       (load_mems_and_recount_loop_regs_set): Honor AVOID_CC_MODE_COPIES
+       here too.
+
+Mon Aug 24 19:45:40 1998  Jim Wilson  <wilson@cygnus.com>
+
+       * tree.def (DECL_RESULT): Correct documentation.
+
+Tue Aug 25 01:15:27 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
+
+       * reload1.c (reload_reg_free_before_p): New argument EQUIV;  Changed
+       all callers.  Abort for RELOAD_FOR_INSN.  RELOAD_FOR_OUTADDR_ADDR:
+       conflicts will all RELOAD_FOR_OUTPUT reloads.
+
+       * reload1.c (reload_cse_regs_1): When deleting a no-op move that
+       loads the function result, substitute with a USE.
+
+Mon Aug 24 15:20:19 1998  David Edelsohn  <edelsohn@mhpcc.edu>
+
+       * rs6000.h (GO_IF_LEGITIMATE_ADDRESS): Use TARGET_POWERPC64
+       when testing LEGITIMATE_INDEXED_ADDRESS_P DFmode and DImode.
+       (LEGITIMIZE_ADDRESS): Use TARGET_POWERPC64 for INDEXED fixup.
+       * rs6000.c (print_operand, case 'L'): Add UNITS_PER_WORD, not 4.
+       (print_operand, cases 'O' and 'T'): Fix typos in lossage strings.
+       * rs6000.md (fix_truncdfsi2_store): Remove %w from non-CONST_INT
+       operand. 
+       (movdf_softfloat32, movdf_hardfloat64, movdf_softfloat64): Change
+       'o' to 'm' for GPR variant constraints.
+
+Mon Aug 24 10:25:46 1998  Jeffrey A Law  (law@cygnus.com)
+
+        * loop.c (scan_loop): Honor AVOID_CC_MODE_COPIES.
+
+       * h8300.h (STRIP_NAME_ENCODING): Fix typo.
+
+       * sparc.md (TFmode splits): Use reg_overlap_mentioned_p to detect
+       when the source and destination overlap.
+
+       * stmt.c (emit_case_nodes): Change rtx_function to rtx_fn to avoid
+       clash with global type.
+
+Mon Aug 24 00:53:53 1998  Jason Merrill  <jason@yorick.cygnus.com>
+
+       * fixinc.irix: Add curses.h handling from fixinc.wrap.
+
+Fri Aug 14 14:12:59 1998  Jason Merrill  <jason@yorick.cygnus.com>
+
+       * c-common.c (combine_strings): Also set TREE_READONLY.
+       Change warn_write_strings to flag_const_strings.
+       * c-decl.c, c-tree.h: Likewise.
+
+Sun Aug 23 18:39:11 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
+
+       * config/sparc/sparc.c (sparc_emit_set_const32): If outputting a
+       CONST_INT, not a symbolic reference, don't use a HIGH/LO_SUM
+       sequence, use SET/IOR instead so CSE can see it.
+       * config/sparc/sparc.md (movhi_const64_special,
+       movsi_const64_special): New patterns necessitated by that change.
+       (movhi_high): Remove.
+       (movhi_lo_sum): Change to match an IOR.
+       (movdf_insn_sp32): Test TARGET_V9 not TARGET_ARCH64.
+       (movdf_insn_v9only): New pattern for when V9 but not ARCH64.
+       (movdf_insn_sp64): Test both TARGET_V9 and TARGET_ARCH64.
+       (movdf splits): Allow when not V9 or when not ARCH64 and integer
+       registers are involved.
+       (snesi_zero_extend split): Remove reload_completed test.
+       (unnamed plus and minus zero_extend sidi splits): Add it.
+
+Sun Aug 23 11:56:08 1998  Mark Mitchell  <mark@markmitchell.com>
+
+       * extend.texi: Remove description of extension to explicit
+       instantiation that is now endorsed by standard C++.
+
+Sun Aug 23 09:39:09 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
+
+       * config/arc/arc.c (arc_initialize_pic): Remove.
+       * config/arc/arc.h (INITIALIZE_PIC): Similarly, this routine does
+       nothing on any platform and is invoked by no-one, it does not even
+       appear in the documentation.
+       * config/sparc/sparc.h (INITIALIZE_PIC): Likewise.
+       * config/sparc/sparc.c (initialize_pic): Likewise.
+       (find_addr_reg): Remove this as well, no longer referenced after
+       my rewrite.
+
+Sun Aug 23 00:17:14 1998  Jeffrey A Law  (law@cygnus.com)
+
+       * recog.c (validate_replace_rtx_group): New function.
+       * recog.h (validate_replace_rtx_group): Declare it.
+       * regmove.c (optimize_reg_copy_3): If any substitution fails, then undo
+       the entire group of substitutions.
+
+Sat Aug 22 23:31:00 1998  Klaus-Georg Adams  (Klaus-Georg.Adams@chemie.uni-karlsruhe.de)
+
+       * loop.c (load_mems): Fix initializers.
+
+Fri Aug 21 23:07:46 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
+
+       * config/sparc/sparc.md (TFmode splits): Handle destination
+       registers being referenced in the address correctly.
+
+       * expmed.c (make_tree) [CONST_INT]: Sign extend even if
+       TREE_UNSIGNED, when bitsize of type's mode is larger than
+       HOST_BITS_PER_WIDE_INT.
+
+Fri Aug 21 19:31:31 1998  Alexandre Petit-Bianco <apbianco@cygnus.com>
+
+       * tree.def (LABELED_BLOCK_EXPR, EXIT_BLOCK_EXPR): New tree nodes.
+       * tree.h (LABELED_BLOCK_LABEL, LABELED_BLOCK_BODY,
+       EXIT_BLOCK_LABELED_BLOCK, EXIT_BLOCK_RETURN, LOOP_EXPR_BODY): New
+       macros.
+       * expr.c (expand_expr): Handle LABELED_BLOCK_EXPR and
+       EXIT_BLOCK_EXPR.
+
+Thu Aug 20 19:43:44 1998  Jeffrey A Law  (law@cygnus.com)
+
+       * h8300.c (h8300_encode_label): Use '&' for tiny data items.
+       * h8300.h (TINY_DATA_NAME_P): Likewise.
+       (STRIP_NAME_ENCODING): Handle '&'.
+
+       * mn10200.h (REG_OK_FOR_INDEX_P): Do not check the mode of the
+       register (it could be accessed via an outer SUBREG).
+       (REG_OK_FOR_BASE_P): Likewwise.
+       (GO_IF_LEGITIMATE_ADDRESS): Consistently use REGNO_OK_FOR_BASE_P.
+
+       * remove.c (optimize_reg_copy_3): Abort instead of silently generating
+       bogus rtl.
+
+       * jump.c (rtx_renumbered_equal_p): Do not consider PLUS commutative.
+
+Thu Aug 20 17:35:20 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
+
+       * config/sparc/sparc.md (movtf_insn_sp32): All memory operands
+       must be offsettable so the splits can be made.
+
+Thu Aug 20 13:56:53 1998  Michael Meissner  <meissner@cygnus.com>
+
+       * config/i386/winnt.c: Include system.h, not stdio.h to get
+       sys/param.h pulled in before rtl.h in case the system defines MIN
+       and MAX.
+
+Thu Aug 20 13:44:20 1998  David Edelsohn  <edelsohn@mhpcc.edu>
+
+       * rs6000.md (movqi, movhi): Add CONSTANT_P_RTX.
+
+Thu Aug 20 13:15:11 1998  Dave Brolley  <brolley@cygnus.com>
+
+       * stor-layout.c (layout_type): Compute TYPE_SIZE_UNIT correctly for
+       arrays of bits.
+       * cpplib.c (cpp_define): Handle macros with parameters.
+
+Wed Aug 19 21:33:19 1998  David Edelsohn  <edelsohn@mhpcc.edu>
+
+       * rs6000.c (rs6000_output_load_toc_table): Use ld for 64-bit.
+       (output_toc): Use single TOC slot or llong minimal-toc for DFmode
+       and DImode 64-bit.  Use llong for minimal-toc SFmode and
+       SYMBOL_REF / LABEL_REF 64-bit.
+       (output_function_profiler): Use llong for profiler label and ld to
+       load 64-bit label address.
+
+Wed Aug 19 17:52:27 1998  Nick Clifton  (nickc@cygnus.com)
+
+        * config/arm/thumb.md (extendqisi2_insn): Cope with REG +
+        OFFSET addressing.
+
+Wed Aug 19 14:13:31 PDT 1998 Jeff Law  (law@cygnus.com)
+
+       * version.c: Bump for snapshot.
+
+Wed Aug 19 13:10:30 PDT 1998 Jeff Law  (law@cygnus.com)
+
+       * version.c: Bump for snapshot.
+
+Wed Aug 19 13:06:47 1998  Jason Merrill  <jason@yorick.cygnus.com>
+
+       * collect2.c (extract_init_priority): Use atoi instead of strtoul.
+
+Wed Aug 19 13:51:35 1998  Hans-Peter Nilsson  <hp@axis.se>
+
+       * tm.texi (Misc): Fix typo "teh".
+
+       * tm.texi (PIC): Fix typo "PPIC".
+
+       * tm.texi (Caller Saves): Say that DEFAULT_CALLER_SAVES has no
+       effect when -O2 and higher.
+       * invoke.texi (Optimize Options): Likewise for -fcaller-saves.
+
+1998-08-19  Michael Hayes  <michaelh@ongaonga.chch.cri.nz>
+
+       * regclass.c: Changed register set documentation to be consistent
+       with GCC behaviour.
+
+       * final.c (final_start_function) Removed redundant test for
+       call_fixed_regs.
+
+Wed Aug 19 13:28:41 1998  Mark Mitchell  <mark@markmitchell.com>
+
+       * rtl.h (rtx_function): New type.
+       (for_each_rtx): New function.
+       * rtlanal.c (for_each_rtx): Define it.
+       
+       * recog.c (change_t): New type.
+       (change_objects, change_old_codes, change_locs, change_olds):
+       Replace with ...
+       (changes): New variable.
+       (validate_change): Dynamically allocate room for more changes, if
+       necessary.  Uses changes array instead of change_objects, etc.
+       (apply_change_group):  Use changes array instead of
+       change_objects, etc.
+       
+       * loop.c (loop_mem_info): New type.
+       (loop_mems): New variable.
+       (loop_mems_idx): Likewise.
+       (looop_mems_allocated): Likewise.
+       (scan_loop): Remove nregs parameter.
+       (next_insn_in_loop): New function.
+       (load_mems_and_recount_loop_regs_set): Likewise.
+       (load_mems): Likewise.
+       (insert_loop_mem): Likewise.
+       (replace_loop_mem): Likewise.
+       (replace_label): Likewise.
+       (INSN_IN_RANGE_P): New macro.
+       (loop_optimize): Don't pass max_reg_num() to scan_loop.
+       (scan_loop): Remove nregs parameter, compute it after any new
+       registers are created by load_mems.  Use INSN_IN_RANGE_P and
+       next_insn_in_loop rather than expanding them inline.  Call
+       load_mems to load memory into pseudos, if appropriate.
+       (prescan_loop): Figure out whether or not there are jumps from the
+       loop to targets other than the label immediately following the
+       loop.  Call insert_loop_mem to notice all the MEMs used in the
+       loop, if it could be safe to pull MEMs into REGs for the duration
+       of the loop.
+       (strength_reduce): Use next_insn_in_loop.  Tweak comments.
+
+Wed Aug 19 08:29:44 1998  Richard Earnshaw (rearnsha@arm.com)
+
+       * arm.c (arm_override_options): Remove lie about ignoring PIC flag.
+
+Wed Aug 19 07:08:15 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
+
+       * config/sparc/sparc.c (finalize_pic): Check for the correct
+       nonlocal_goto_receiver UNSPEC number.
+       * config/sparc/sparc.md (nonlocal_goto_receiver): Add comment
+       making note of this dependency existing in sparc.c
+       (negtf2_notv9 split): Give NEG SFmode.
+       (negsf2): Fix insn output string.
+       
 Tue Aug 18 12:40:27 1998  Richard Henderson  <rth@cygnus.com>
 
        * c-common.c (decl_attributes): Issue an error if the argument
@@ -5,6 +294,13 @@ Tue Aug 18 12:40:27 1998  Richard Henderson  <rth@cygnus.com>
 
 Tue Aug 18 10:33:30 1998  Jeffrey A Law  (law@cygnus.com)
 
+       * haifa-sched.c (sched_analyze): Put all JUMP_INSNs on the last
+       pending memory flush list.
+
+       * combine.c (can_combine_p): Allow combining insns with REG_RETVAL
+       notes.
+       (try_combine): Allow combining insns with REG_LIBCALL notes.
+
        * expr.c (emit_block_move): Do not call memcpy as a libcall
        instead build up a CALL_EXPR and call it like any other
        function.