Commit Graph

240 Commits

Author SHA1 Message Date
Richard Kenner
5be669c75a (simplify_if_then_else): Convert "a == b ? b : a" to "a".
From-SVN: r10698
1995-12-10 10:06:28 -05:00
Richard Kenner
320dd7a75a (nonzero_bits, case REG): Put POINTERS_EXTEND_UNSIGNED code before stack pointer code.
(nonzero_bits, case REG): Put POINTERS_EXTEND_UNSIGNED code before
stack pointer code.  Return nonzero at end of stack pointer code.

From-SVN: r10600
1995-11-26 14:32:34 -05:00
Doug Evans
6a11342fe7 (force_to_mode): Fix typo in fix to last change.
From-SVN: r10564
1995-11-06 15:26:27 +00:00
Richard Kenner
8cb3db079c (force_to_mode): Put in last change properl.
From-SVN: r10555
1995-11-05 10:57:20 -05:00
Richard Kenner
b69960ac72 (force_to_mode, case ASHIFTRT): Properly handle mask wider than
HOST_WIDE_INT.

From-SVN: r10534
1995-10-27 15:08:26 -04:00
Richard Kenner
a890884916 (distribute_notes): For Oct 19 change, add additional check to verify
that place has a valid INSN_CUID.

From-SVN: r10520
1995-10-26 18:11:32 -04:00
Richard Kenner
9bf22b75fc (force_to_mode, case ASHIFTRT): Verify mode bitsize is within
HOST_BITS_PER_WIDE_INT before shifting by it.

From-SVN: r10513
1995-10-26 08:29:18 -04:00
Richard Kenner
d02089a5f2 (distribute_notes): Delete instructions without side effect that set a
subreg of an unused register.

From-SVN: r10491
1995-10-20 19:14:10 -04:00
Richard Kenner
932d1119f5 (distribute_notes): When search for new place to put REG_DEAD note,
call distribute_links if this new place is between i2 and i3, and i2
uses the register.

From-SVN: r10475
1995-10-19 18:44:41 -04:00
Richard Kenner
15448afcc8 (simplify_rtx): In code that attempts to simplify conditional expressions...
(simplify_rtx): In code that attempts to simplify conditional
expressions, if the result is an NE around another comparison, return
the original expression.

From-SVN: r10428
1995-10-03 13:58:18 -04:00
Richard Kenner
abc95ed36d Fix spelling errors.
From-SVN: r10289
1995-08-28 06:54:22 -04:00
Richard Kenner
fabd69e832 (move_deaths): When have a multi-reg hard register, if don't find a
note, then recur for each individual hard register.

From-SVN: r10225
1995-08-13 21:21:45 -04:00
Richard Kenner
940d9d638b Update FSF address.
From-SVN: r9959
1995-06-15 07:33:25 -04:00
Richard Kenner
60715d0bef (reg_dead_at_p): When scanning backwards, stop at BARRIER.
From-SVN: r9885
1995-06-05 22:43:28 -04:00
Richard Kenner
a29ca9db50 (recog_for_combine): New parm PADDED_SCRATCHES; set it.
(try_combine): Accumulate number of scratches and update max_scratch.
(simplify_set): Add extra parm to recog_for_combine.

From-SVN: r9839
1995-05-29 19:19:51 -04:00
Richard Kenner
ddd5a7c180 Fix typos in comments.
From-SVN: r9711
1995-05-16 08:14:26 -04:00
Richard Kenner
bdaae9a01a (simplify_shift_count, case LSHIFTRT): Don't merge shifts of different
modes if first is any right shift.

From-SVN: r9674
1995-05-13 06:46:49 -04:00
Richard Kenner
f6789c7753 (simplify_shift_const): Don't change SHIFT_MODE for LSHIFTRT either.
From-SVN: r9650
1995-05-12 14:20:43 -04:00
Jim Wilson
bcd49eb7a8 (combine_instrutions): Set subst_prev_insn to zero.
(try_combine, undo_all): Likewise.
(get_last_value): Return zero if subst_prev_insn set.

From-SVN: r9559
1995-05-01 16:43:28 -07:00
Jim Wilson
2ca9ae17a9 (simplify_rtx, case TRUNCATE): Add. Use force_to_mode.
(force_to_mode, case AND): Allow some simplifications when GET_MODE (x)
has more bits than HOST_BITS_PER_WIDE_INT.

From-SVN: r9479
1995-04-26 11:08:54 -07:00
Richard Kenner
0e32506c6b (simplify_logical, case AND): If still an AND, get new values for op0
and op1.

From-SVN: r9424
1995-04-21 07:57:42 -04:00
Jim Wilson
e340018d59 (get_last_value): Ignore BARRIER when scanning backwards.
(move_deaths): New variables before_dead and after_dead.  Set them
to instructions that have valid INSN_CUID values and use in test.

From-SVN: r9397
1995-04-17 13:55:26 -07:00
Jim Wilson
0d9641d106 (subst_prev_insn): New variable.
(try_combine): Set it.
(get_last_value): Use it.

From-SVN: r9396
1995-04-17 13:49:59 -07:00
Richard Kenner
f507a07044 (simplify_set): Don't move a SUBREG to dest if it is changing the size
of a hard reg in CLASS_CANNOT_CHANGE_SIZE.

From-SVN: r9346
1995-04-10 07:57:09 -04:00
Torbjorn Granlund
9fa6d012c0 (force_to_mode, case PLUS): Sign extend masks that are negative in OP_MODE.
(simplify_and_const_int): Sign-extend constants when they have the
most significant bit set for the target.
(merge_outer_ops): Likewise.
(simplify_shift_const): Likewise.

From-SVN: r9310
1995-04-03 23:19:41 +00:00
Richard Kenner
ff0dbdd176 (nonzero_bits, case REG): Check POINTERS_EXTEND_UNSIGNED.
(num_sign_bit_copies, case REG): Likewise.

From-SVN: r9303
1995-04-03 18:11:26 -04:00
Jim Wilson
d6c8056260 (get_last_value): Revert back to use prev_nonnote_insn instead of prev_real_insn.
(get_last_value): Revert back to use prev_nonnote_insn
instead of prev_real_insn.  Modify test that ignores USE insns.

From-SVN: r9268
1995-03-30 15:34:12 -08:00
Jim Wilson
2f99f437c1 (make_compound_operation, AND case): Undo July 7, 1994
change.

From-SVN: r9252
1995-03-29 15:02:10 -08:00
Richard Kenner
64bf47a22d (gen_lowpart_for_combine): Set reg_changes_size, if needed.
From-SVN: r9206
1995-03-18 16:57:49 -05:00
Richard Kenner
8af24e2633 (apply_distributive_law, case SUBREG): Fix typo when checking for
paradoxical SUBREG.

From-SVN: r9189
1995-03-16 15:57:59 -05:00
Jim Wilson
4255220d92 (max_uid_cuid): New static variable.
(INSN_CUID): Call abort if INSN is out of range.
(combine_instructions): Set max_uid_cuid.  Set uid_cuid directly
instead of through INSN_CUID.
(get_last_value): Use prev_real_insn instead of prev_nonnote_insn.
Ignore USE insns generated by combine.

From-SVN: r9169
1995-03-10 12:03:20 -08:00
Doug Evans
ea414472af (simplify_set): Call can_conditionally_move_p.
From-SVN: r8795
1995-01-25 04:09:46 +00:00
Jim Wilson
2aec5b7a12 (num_sign_bit_copies): Can handle paradoxical subreg only
if LOAD_EXTEND_OP is defined to SIGN_EXTEND.

From-SVN: r8787
1995-01-20 18:23:10 -08:00
Richard Kenner
34c8be7241 (simplify_if_then_else): Fix typo: "|" should be "||".
From-SVN: r8731
1995-01-10 19:09:14 -05:00
Ian Lance Taylor
e24b00c81a Always copy flags to new MEM in simplify_shift_const.
From-SVN: r8678
1994-12-21 05:00:26 +00:00
Richard Kenner
e2cce0cf90 (distribute_notes): When output an insn to hold a REG_DEAD note,
update basic_block_head if necessary.

From-SVN: r8658
1994-12-16 06:44:16 -05:00
Richard Kenner
38d8473fbb (distribute_notes): If can't find place for REG_DEAD note, add an INSN
with a USE to hold it.

From-SVN: r8625
1994-12-07 21:57:53 -05:00
Richard Kenner
ca89d290d8 (record_dead_and_set_regs_1): Handle SUBREGs.
From-SVN: r8594
1994-11-30 19:12:38 -05:00
Ian Lance Taylor
f76b9db287 Check target endianness at run time, not compile time
From-SVN: r8470
1994-11-16 21:10:09 +00:00
Jim Wilson
1dc8a823f9 (try_combine): Update split_code after converting MULT
to ASHIFT.

From-SVN: r8403
1994-11-07 16:31:46 -08:00
Richard Kenner
4dca5ec5b8 (can_combine_p): Don't combine into CALL_INSN where DEST is a global
reg.

From-SVN: r8305
1994-10-18 19:10:20 -04:00
Richard Kenner
66415c8b0e (simplify_comparison): Convert comparison to unsigned when stripping
off a ZERO_EXTEND.

From-SVN: r8034
1994-09-07 18:32:03 -04:00
Richard Kenner
6dd49058f5 (simplify_set): Only convert IF_THEN_ELSE to logical expression if
mode of object being compared is result mode.

From-SVN: r8033
1994-09-07 18:11:06 -04:00
Richard Kenner
318b149cf7 (nonzero_bits, cases DIV, MOD, UDIV, UMOD): Declare op0_maybe_minusp
and op1_maybe_minusp as HOST_WIDE_INT.

From-SVN: r8006
1994-08-31 19:17:29 -04:00
Jeff Law
8b2e69e1af * combine.c (simplify_comparison, case GEU): Add missing break.
From-SVN: r8001
1994-08-30 11:56:39 -06:00
Jim Wilson
07d0cbddd4 (distribute_notes...
(distribute_notes, case REG_UNUSED): Ignore notes when
from_insn != i3 only if the notes would remain as REG_UNUSED notes.

From-SVN: r7942
1994-08-18 11:09:33 -07:00
Jim Wilson
17cbf35871 (distribute_notes, case REG_DEAD): Add another
find_reg_fusage call.

From-SVN: r7920
1994-08-14 16:00:43 -07:00
Richard Kenner
1d12df723d (simplify_rtx, case FLOAT_TRUNCATE): Remove redundant float_truncate.
From-SVN: r7906
1994-08-12 14:57:01 -04:00
Richard Kenner
3adde2a5c6 (subst_prev_insn): Remove variable and all uses.
From-SVN: r7852
1994-08-02 18:38:10 -04:00
Richard Kenner
df7d75de69 (try_combine): Don't make a MULT if none of the insns in our input had one.
From-SVN: r7803
1994-07-28 07:11:09 -04:00