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