Commit Graph

3723 Commits

Author SHA1 Message Date
Jeff Law
5fcd63d09c reorg.c (find_end_label): Update unfilled_slots if the return insn we make has a delay slot.
* reorg.c (find_end_label): Update unfilled_slots if the return
	insn we make has a delay slot.

From-SVN: r3736
1993-03-14 20:53:37 -07:00
Richard Kenner
7963ac373a (shift_cost): Now a vector.
(shiftadd_cost): New vector for cost of (N * a + b) instructions.
(shiftsub_cost): New vector for cost of (N * a - b) instructions.
(lea_cost): Removed.
(init_expmed): Initialize new vectors.  Use ASHIFT, not LSHIFT.
Remove code initializing lea_cost.
(enum alg_code): New definition.
(synth_mult): Rewrite for better algorithms and faster operation.
(expand_mult): Rewrite code for constant multiplication.

From-SVN: r3735
1993-03-14 21:26:55 -05:00
Richard Kenner
f005288757 (build_objc_method_call, get_class_reference):
Call assemble_external on anything we are about to generate a call to.
(get_super_receiver): Likewise.
(handle_class_ref): Put constant in readonly-data section, not text.
(build_objc_symtab_template): Correctly build index type for 0-length array.

From-SVN: r3734
1993-03-14 17:21:33 -05:00
Richard Kenner
7463703395 (simplify_plus_minus): Reject "simplifications" that are too complex
in form.

From-SVN: r3733
1993-03-14 09:37:43 -05:00
Richard Kenner
5931019b79 (simplify_plus_minus): Correct sign error in expanding NOT.
From-SVN: r3732
1993-03-14 06:32:20 -05:00
Richard Stallman
8bb44f9ab5 (choose_reload_regs): Verify reload_out[j != 0
before comparing with relaod_earlyclobber elements.

From-SVN: r3731
1993-03-14 05:02:30 +00:00
Richard Stallman
b1e64e0d7f (emit_call_1): Restore inhibit_defer_pop before popping args
so that pops really do get deferred if appropriate.

From-SVN: r3730
1993-03-14 02:08:37 +00:00
Richard Kenner
91a60f374f (simplify_plus_minus): When seeing if we have reduced the number of operands...
(simplify_plus_minus): When seeing if we have reduced the number of
operands, ensure we count a CONST result as two operands.

From-SVN: r3729
1993-03-13 20:45:44 -05:00
Richard Kenner
bbc8a07104 Correctly define PUSH_ARGS_REVERSED.
From-SVN: r3728
1993-03-13 18:13:22 -05:00
Jeff Law
45586a95c2 pa.c (eligible_for_epilogue_delay): Insns which access %r2 can not be used to...
* pa.c eligible_for_epilogue_delay): Insns which access
	%r2 can not be used to fill the epilogue's delay slot.

From-SVN: r3727
1993-03-13 14:47:54 -07:00
James Van Artsdalen
fabf775092 (emit_swap_insn): If emitting after a cc0 setter, link the cc0 insns.
From-SVN: r3726
1993-03-13 21:33:23 +00:00
Richard Kenner
4969d05d19 Add prototypes for static functions.
(struct move_by_pieces): Move definition before function forward decls.

From-SVN: r3725
1993-03-12 22:06:14 -05:00
Richard Stallman
446ac30fc7 (USE_C_ALLOCA): Define if not __GNUC__.
From-SVN: r3724
1993-03-12 23:43:25 +00:00
Roland McGrath
cd84780b24 entered into RCS
From-SVN: r3723
1993-03-12 23:42:05 +00:00
Richard Stallman
80f9c711d9 (variable_size): Better error for div by 0 in size.
From-SVN: r3722
1993-03-12 23:17:41 +00:00
Richard Stallman
c841050eed (emit_push_insn): Handle failure of gen_movstr...
From-SVN: r3721
1993-03-12 23:07:38 +00:00
Richard Kenner
dac29d65d8 (PROMOTE_MODE): Fix typo.
From-SVN: r3720
1993-03-12 17:48:08 -05:00
Richard Kenner
7b0d7bd0c9 (refers_to_mem_p): Use rtx_equal_p to see if bases are equal.
From-SVN: r3719
1993-03-12 17:43:28 -05:00
Richard Kenner
6500fb4361 (set_nonvarying_address_components): Fix type mismatch with caller.
(refers_to_mem_p): Call properly in second call.

From-SVN: r3718
1993-03-12 17:39:19 -05:00
Richard Kenner
48f1682895 (jump_optimize): Fix bug in last change.
From-SVN: r3717
1993-03-12 17:25:25 -05:00
James Van Artsdalen
fe4435d988 (truncdfsf2): Rewrite to allow FLOAT_REGS in constraints for better register preferences.
(truncdfsf2): Rewrite to allow FLOAT_REGS in constraints
   for better register preferences.
(movM): If REG_WAS_0, make sure the reg hasn't changed since then.
(cmpM expanders): Don't allow both operands to be MEM.
Use VOIDmode for the COMPARE rtx instead of CCmode.
(cmpM recognizers): Likewise.
Remove constraints for constants from operand 0.
(cmpdf,cmpsf recognizers): When using VOIDmode as mode of the COMPARE rtx,
   require that the mode be exactly VOIDmode.

From-SVN: r3716
1993-03-12 09:34:38 +00:00
James Van Artsdalen
b9342cdfeb (get_true_reg): Don't ignore FLOAT_TRUNCATE.
(subst_stack_regs_pat): Substitute in FLOAT_TRUNCATE insns.
(compare_for_stack_reg): Reset insn code after swapping operands.

From-SVN: r3715
1993-03-12 09:27:29 +00:00
James Van Artsdalen
ac2afb64fb (VOIDmode_compare_op): New operand predicate function.
From-SVN: r3714
1993-03-12 09:26:43 +00:00
James Van Artsdalen
4cbb525cee (FLOAT_CLASS_P): New macro.
(REGISTER_MOVE_COST): Use it instead of comparing to FLOAT_REGS.
(PREFERRED_RELOAD_CLASS): Likewise.
(SECONDARY_MEMORY_NEEDED): Likewise.
(CLASS_MAX_NREGS): Likewise.
(SELECT_CC_MODE): Use VOIDmode for non-FP-equality comparisons.

From-SVN: r3713
1993-03-12 09:22:53 +00:00
James Van Artsdalen
dc577adaac (movM): If REG_WAS_0, make sure the reg hasn't changed since then.
From-SVN: r3712
1993-03-12 09:18:56 +00:00
Doug Evans
9516a9afd7 * (RETURN_IN_MEMORY): Handle BLKmode values.
From-SVN: r3711
1993-03-12 00:11:19 +00:00
Richard Kenner
b49e978eeb (RTX_COST, case MULT): Handle s8addx and s4addx.
(RTX_COST, case MULT): Correctly assign cost to multiplies by a power of two.
(RTX_COST, case ASHIFT, ASHIFTRT, LSHIFTRT, IF_THEN_ELSE): New cases.

From-SVN: r3710
1993-03-11 19:10:28 -05:00
Doug Evans
e14fa9c45a * (RETURN_IN_MEMORY): Handle BLKmode values.
From-SVN: r3709
1993-03-12 00:10:21 +00:00
Richard Kenner
ac07e0665d (CHEAP_REG): New macro; makes virtual regs cheap too.
(COST): Use CHEAP_REG.
(rtx_cost, case REG): Use CHEAP_REG to return zero for some REGs.

From-SVN: r3708
1993-03-11 19:02:37 -05:00
Doug Evans
9f67be1318 * (aggregate_value_p): RETURN_IN_MEMORY handles BLKmode values.
From-SVN: r3707
1993-03-11 23:55:44 +00:00
Jeff Law
23c6329e92 pa.md (FP sCC insn): Delete.
* pa.md (FP sCC insn): Delete.
	(sCC define_expands): FAIL instead of generating FP sCC insns.

From-SVN: r3706
1993-03-11 07:13:07 -07:00
Jeff Law
6bf6db507d * pa.c (gen_scond_fp): Delete.
From-SVN: r3705
1993-03-11 07:12:53 -07:00
Jeff Law
61cd2f1f37 * pa.h (toplevel): Delete declaration of gen_scond_fp.
From-SVN: r3704
1993-03-11 07:12:39 -07:00
Jeff Law
f451db8990 cse.c (set_nonvarying_address_components): New function.
* cse.c (set_nonvarying_address_components): New function.
	(invalidate): Use set_nonvarying_address_components instead of
	computing them.
	(refers_to_mem_p): Likewise.  Simplify checks for conflicting
	memory accesses.  Make static.

From-SVN: r3703
1993-03-11 05:46:36 -07:00
Jeff Law
6f9c49e07d * loop.c (addr_overlap_p): Delete.
From-SVN: r3702
1993-03-11 05:45:54 -07:00
Richard Stallman
db2e669b70 (define_label): Use current line number in error msg.
From-SVN: r3701
1993-03-11 08:19:03 +00:00
Richard Stallman
88ece8db61 (const_binop): When evaluating a shift, ignore
overflows generated by force_fit_type.

From-SVN: r3700
1993-03-11 08:18:16 +00:00
Richard Stallman
db27aeecc2 Delete ${LIB}/DONE just before exit.
From-SVN: r3699
1993-03-11 04:53:06 +00:00
Jeff Law
ea9f550ab5 Fix typo in last revision (/2 --> >> 1)
From-SVN: r3698
1993-03-10 10:53:17 -07:00
Jeff Law
6d22d9a6e0 * pa.c (reg_or_cint_move_operand): Use cint_ok_for_move.
From-SVN: r3697
1993-03-10 10:45:14 -07:00
Jeff Law
6746a52edb pa.c (cint_ok_for_move): New function.
* pa.c (cint_ok_for_move): New function.  Returns 1 iff the given
	CONST_INT can be loaded into a register in a single instruction.
	(move_operand): Use cink_ok_for_move.

From-SVN: r3696
1993-03-10 10:31:38 -07:00
Jeff Law
08cddb03ae * pa.md (add reg and large int): New define_splits for the combiner.
From-SVN: r3695
1993-03-10 10:31:14 -07:00
Jeff Law
d390794555 jump.c (jump_optimize, [...]): Do this regardless of BRANCH_COST if HAVE_incscc or HAVE_decscc is defined.
* jump.c (jump_optimize, clause for `if (foo) b++'):
	Do this regardless of BRANCH_COST if HAVE_incscc or
	HAVE_decscc is defined.

From-SVN: r3694
1993-03-10 10:26:53 -07:00
Torbjorn Granlund
5329e2276a (reg_or_cint_move_operand): New function.
(move_operand): Add header comment.

From-SVN: r3693
1993-03-10 16:57:05 +00:00
Torbjorn Granlund
7887873043 (conditional move): Use %B for output when appropriate.
(conditional move with second operand == 0): New pattern.

From-SVN: r3692
1993-03-10 16:56:43 +00:00
Richard Stallman
7bbc643254 (OBJC_GEN_METHOD_LABEL): Convert colons to _'s.
Don't use the category name or the number.

From-SVN: r3691
1993-03-10 07:19:29 +00:00
Richard Stallman
ac50959202 (link_command_spec): New option -nostartfiles.
From-SVN: r3690
1993-03-10 07:11:33 +00:00
Richard Stallman
d847907df7 Minor fix in last change.
From-SVN: r3689
1993-03-09 23:57:34 +00:00
Richard Stallman
07150665c9 (convert_to_complex): Avoid using comptypes.
From-SVN: r3688
1993-03-09 23:55:57 +00:00
Michael Meissner
c3c03e50c0 Close #ifdef NEXT_OBJC_RUNTIME properly.
From-SVN: r3687
1993-03-09 16:32:42 +00:00