1. 31 Aug, 1992 4 commits
  2. 30 Aug, 1992 4 commits
  3. 29 Aug, 1992 7 commits
  4. 28 Aug, 1992 11 commits
  5. 27 Aug, 1992 6 commits
  6. 26 Aug, 1992 8 commits
    • Enhance to fill the last delay slot of a call with an unconditional jump. · 464b453d
      Enhance to fill the last delay slot of a call with an
      	unconditional jump.
      	(fill_simple_delay_slots): Look for the case of a call/branch
      	first.  If this applies, record the jump as `last_delay_insn'.
      	Later, don't look for additional delay insns if the last one has
      	alreay been filled.
      	(mark_target_live_regs): A sequence may end in an unconditional
      	branch.
      
      From-SVN: r1969
      Tom Wood committed
    • Pass -shared/-non_shared to MIPS 3.0 linker if passed. · 4d032a67
      From-SVN: r1968
      Michael Meissner committed
    • (current_block): Declared. · b842c19a
      From-SVN: r1967
      Richard Stallman committed
    • (define_function_unit): Correct and simplify memory unit · 9b1e668e
      specification.
      
      From-SVN: r1966
      Tom Wood committed
    • Major rework to have caller-saves emit load/store double insns when... · f95361c8
      	Major rework to have caller-saves emit load/store double insns when
      	possible and to avoid useless resaving of registers restored for
      	source accesses only.
      	* caller-save.c (toplevel): All arrays are multi-dimensional to
      	hold information for multiple save/restore insns.  New variable
      	hard_regs_need_restore.
      	(choose_hard_reg_mode): New argument `nregs' indicating how many
      	hard registers are desired.  All callers changed.
      	(init_caller_save): Change initialization to handle multiple
      	register saves.  A call-used register can not be live across
      	if we can not find a single register mode to save it in.
      	(multiple register saves are optional)
      	(init_save_areas): Change initialization of regno_save_mem to
      	handle multiple register saves.
      	(setup_save_areas): Allocate space for consecutive hard registers
      	in aligned consecutive memory locations.   When allocating space
      	for consecutive hard registers, also initialize regno_save_mem
      	for each hard register stored as a single word.
      	(save_call_clobbered_regs): Initialize hard_regs_need_restore.
      	Set hard_regs_need_restore to hard_regs_saved after crossing
      	a call.  Also recompute n_regs_saved.  At the end of a basic block
      	we need only restore registers in hard_regs_need_restore.
      	(set_reg_live, clear_reg_live): Do the right thing for
      	hard_regs_need_restore and hard_regs_saved.
      	(restore_referenced_regs): Just return if X is a clobber.
      	Test hard_regs_need_restore to determine when to restore a hard
      	register from the save area.
      	(insert_save_restore): Now returns the number of extra registers
      	saved/restored.  New argument `maxrestore' which constrains how
      	many hard registers should be restored.  All callers changed.
      	Do stores of consecutive registers with double store insns if
      	possible.  Else do them with single word insns. Likewise for
      	loads, except constrained by maxrestore.  Set hard_regs_saved
      	and hard_regs_need_restore appropriately to minimize useless
      	saves into the save area.  Test against	hard_regs_need_restore
      	when trying to restore multiple regs and similarly test against
      	hard_regs_saved when storing multiple regs.
      
      From-SVN: r1964
      Jeff Law committed
    • Fix comment. · 52d2830e
      From-SVN: r1963
      Richard Stallman committed
    • Add #ifdef INSN_SCHEDULING around variables only used by schedule_insns. · c0ac5f31
      Add #ifdef INSN_SCHEDULING around variables only used
      by schedule_insns.
      (INSN_QUEUE_SIZE): Delete default definition.
      
      From-SVN: r1962
      Jim Wilson committed