Commit Graph

3733 Commits

Author SHA1 Message Date
Jim Wilson c3af9fc81e (reg_known_equiv_p): New variable.
(init_alias_analysis): Allocate and compute reg_known_equiv_p.
(sched_analyze_1): Reenable code for REG_EQUIV notes, using
reg_known_equiv_p so that it is only used on REG_EQUIV notes.
(sched_analyze_2): Likewise.  Only pass memory addresses to the
sched_analyze_2 call.

From-SVN: r3746
1993-03-15 11:48:38 -08:00
Jim Wilson 581c26f946 (NO_SYS_SIGLIST): Define.
From-SVN: r3745
1993-03-15 11:45:11 -08:00
Jim Wilson a2f30f1405 (print_operand_address): For MULT, set ireg not breg.
From-SVN: r3744
1993-03-15 11:42:23 -08:00
Jim Wilson d21a353d96 (zero_extendqisi2+4,+5): Add new patterns for combining a SI->QI mode truncate...
(zero_extendqisi2+4,+5): Add new patterns for combining
a SI->QI mode truncate with an insn that sets the condition codes.

From-SVN: r3743
1993-03-15 11:40:34 -08:00
Jim Wilson 6f0f06377e New file.
From-SVN: r3742
1993-03-15 11:39:03 -08:00
Jim Wilson b66848bfee (sparclite, sparclite-*): New configuration.
From-SVN: r3741
1993-03-15 11:36:54 -08:00
Jim Wilson 8b69d15430 (adjust_priority): Comment unreachable code.
(memrefs_conflict_p): Add comment about Fortran aliasing.

From-SVN: r3740
1993-03-15 11:33:21 -08:00
Richard Kenner 45c45e79fc (ASM_OUTPUT_{INT,SHORT,CHAR,BYTE}): Truncate constant to maximum range
permitted in order to avoid assembler error.

From-SVN: r3739
1993-03-15 13:53:41 -05:00
Jeff Law 5eb9c92c63 * pa.c (shadd_operand): Delete.
From-SVN: r3738
1993-03-15 11:36:57 -07:00
Jeff Law 81722625a7 pa.md (sh[123]add patterns): Use register_operand, not shadd_operand.
* pa.md (sh[123]add patterns): Use register_operand, not
	shadd_operand.
	(sh[123]add patterns for reload): Special patterns to avoid
	lossage due to reload problems.

From-SVN: r3737
1993-03-15 11:36:21 -07:00
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