Commit Graph

175 Commits

Author SHA1 Message Date
Richard Kenner
a2cabb29bd Correct comments.
From-SVN: r12775
1996-09-23 10:25:56 -04:00
Richard Kenner
9ad91d7115 (canon_hash, cse_insn): MEM is not unchanging if it is in the frame (since
the temp slot might be reused).

From-SVN: r12562
1996-07-24 21:47:52 -04:00
Jim Wilson
5dbc849954 (note_mem_written): Varying structure memory access with
AND address can alias scalars.

From-SVN: r12417
1996-07-08 16:33:15 -07:00
Mike Stump
0f41302f47 formatting tweaks
From-SVN: r12390
1996-07-03 22:07:53 +00:00
Jim Wilson
2d91790329 (simplify_binary_operation...
(simplify_binary_operation, case MULT): Check for case
where width is larger than HOST_BITS_PER_WIDE_INT, and upper most
bit is set.  We can not generate a simple shift in this case.

From-SVN: r12238
1996-06-07 19:36:34 -07:00
Jim Wilson
0b0ee36cd9 (cse_process_notes): Handle SUBREG like ZERO_EXTEND.
From-SVN: r11864
1996-04-21 14:51:42 -07:00
Richard Kenner
f47c02fa79 (invalidate_skipped_set): Ignore CLOBBER after calling
note_mem_written, not before.

From-SVN: r11786
1996-04-15 08:49:02 -04:00
Richard Kenner
2ebcccf3a3 (simplify_unary_operation): Add new arg to REAL_VALUE_FROM_INT.
From-SVN: r11765
1996-04-14 08:54:55 -04:00
Jim Wilson
dcb97651d7 (note_mem_written): Delete obsolete code for handling
(mem (scratch)).

From-SVN: r11585
1996-03-20 15:26:55 -08:00
Richard Kenner
8c87f107ff (find_best_addr): Make sure folded address better before using.
From-SVN: r10873
1995-12-27 15:25:35 -05:00
Richard Kenner
f353588ada (insert): Don't put a REG into qty_const.
From-SVN: r10607
1995-11-26 14:47:28 -05:00
Richard Kenner
85e4d983f3 (invalidate): For a pseudo register, do a loop to invalidate all table
entries, irrespective of mode.

From-SVN: r10556
1995-11-05 11:02:07 -05:00
Richard Kenner
890465354d (set_nonvarying_address_components, case AND): Add *pend to end.
(set_nonvarying_address_components, case AND): Add *pend to end.  Add
constant to start instead of subtracting it.

From-SVN: r10426
1995-10-03 12:25:50 -04:00
Richard Kenner
a5dfb4eee2 (recorded_label_ref): New variable.
(insert): Set instead of cse_jumps_altered.
(cse_main): Initialize it and return 1 if nonzero at end.

From-SVN: r10368
1995-09-16 08:38:04 -04:00
Richard Kenner
970c9acebf (insert): Set cse_jumps_altered when inserting a LABEL_REF.
From-SVN: r10366
1995-09-15 18:24:09 -04:00
Richard Kenner
969c851727 (canon_hash, CONST_DOUBLE): Hash integer and real differently.
From-SVN: r10303
1995-08-31 19:03:23 -04:00
Richard Kenner
abc95ed36d Fix spelling errors.
From-SVN: r10289
1995-08-28 06:54:22 -04:00
Richard Kenner
9c6b0bae3c (set_nonvarying_address_components): Handle addresses which are the sum of two constant pseudo regs.
(set_nonvarying_address_components): Handle addresses which are the sum of
two constant pseudo regs.
(cse_rtx_addr_varies_p): Likewise.

From-SVN: r10220
1995-08-13 18:45:42 -04:00
Richard Kenner
98369a0f8a (cse_insn): When do special handling for (set REG0 REG1), must delete
REG_EQUAL note from insn if it mentions REG0.

From-SVN: r10169
1995-07-26 09:31:00 -04:00
Richard Kenner
e6a125a009 (cse_insn): Ifdef out code that pre-truncates src_folded.
From-SVN: r10127
1995-07-14 08:15:00 -04:00
Richard Kenner
940d9d638b Update FSF address.
From-SVN: r9959
1995-06-15 07:33:25 -04:00
Richard Kenner
146135d6db (cse_basic_block): Fix test for whether block ends with a barrier.
Return next insn, not 0, if block ends in a barrier.

From-SVN: r9916
1995-06-09 18:05:54 -04:00
Richard Kenner
940fd0b54c (simplify_unary_operation, case FLOAT, UNSIGNED_FLOAT): Truncate to
requested mode.

From-SVN: r9872
1995-06-05 07:31:38 -04:00
Richard Kenner
9faa82d8c0 Fix typos in comments.
From-SVN: r9712
1995-05-16 08:39:54 -04:00
Richard Kenner
c256df0bf7 (cse_insn): Properly set IN_MEMORY for SET_DEST.
From-SVN: r9547
1995-04-30 07:19:15 -04:00
Richard Kenner
cceb347c21 (simplify_unary_operation): #ifdef POINTERS_EXTEND_UNSIGNED, handle
sign- or zero-extending addresses.

From-SVN: r9333
1995-04-07 16:04:38 -04:00
Torbjorn Granlund
ad89d6f68a (simplify_unary_operation): Sign-extend constants when they have the most significant bit set for the target.
(simplify_unary_operation): Sign-extend constants when
they have the most significant bit set for the target.
(simplify_binary_operation): Likewise.

From-SVN: r9309
1995-04-03 23:19:02 +00:00
Jim Wilson
c27b5c621a (simplify_relational_operation): Don't simplify A-B for
compare of A and B when the compare is unsigned.

From-SVN: r9296
1995-04-02 14:34:42 -07:00
Richard Kenner
783e5bca05 (cse_insn): When emitting a BARRIER, don't put it after a deleted
insn.

From-SVN: r9283
1995-04-01 09:36:47 -05:00
Richard Kenner
a9c6464d87 (simplify_unary_operation): If operand mode is VOIDmode for
UNSIGNED_FLOAT and operand looks negative, can't simplify.

From-SVN: r9081
1995-02-25 06:55:11 -05:00
Richard Kenner
3826a3da7f Update comments.
From-SVN: r8811
1995-01-25 14:40:53 -05:00
Jim Wilson
4879acf67e (simplify_unary_operation): Cast constant 1 to HOST_WIDE_INT
before shifting left to form mask.

From-SVN: r8707
1994-12-29 11:17:28 -08:00
Torbjorn Granlund
29d72c4b69 (simplify_binary_operation): Do (x - (x & y)) -> (x & ~y).
From-SVN: r8494
1994-11-17 23:31:20 +00: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
Richard Kenner
d50d63c056 (simplify_unary_operation, case TRUNCATE): Set LV and HV.
From-SVN: r8375
1994-11-01 18:39:35 -05:00
Richard Kenner
1a8e9a8e05 (cse_insn): Don't record a DEST a paradoxical SUBREG and SRC is a
SIGN_EXTEND or ZERO_EXTEND.

From-SVN: r8354
1994-10-28 18:55:05 -04:00
Jim Wilson
8ae2b8f6f1 (merge_equiv_classes, cse_insn): Call rehash_using_reg after insert_regs.
(merge_equiv_classes, cse_insn): Call rehash_using_reg
after insert_regs.
(canon_hash): Don't use qty_const to compute hash code for a
register.

From-SVN: r8319
1994-10-20 13:06:59 -07:00
Richard Kenner
1bbd065b6c (cse_insn): Don't call force_const_mem on (const (truncate)).
From-SVN: r8231
1994-10-06 17:38:35 -04:00
Jim Wilson
68c1e17399 Fix prototype for invalidate.
From-SVN: r8127
1994-09-23 16:15:54 -07:00
Jim Wilson
bb4034b322 (invalidate): New parameter FULL_MODE. All callers changed.
(set_nonvarying_address_components): Modify initial comment.
(cse_insn): When call invalidate for dest, use the actual dest not
inner_dest.

From-SVN: r8124
1994-09-23 12:54:07 -07:00
Richard Kenner
f1636e8ad8 (cse_around_loop): Don't invalidate SUBREG unless it's a SUBREG of a
REG.

From-SVN: r8085
1994-09-15 13:21:49 -04:00
Richard Kenner
0e227018ba (invalidate_for_call): Properly set IN_TABLE.
From-SVN: r8073
1994-09-10 09:50:27 -04:00
Richard Kenner
af3869c1cc (record_jump_cond): Don't do anything if OP0 and OP1 are already
equivalent.

From-SVN: r7984
1994-08-25 19:21:18 -04:00
Richard Kenner
e650cbda8f (fold_rtx): When folding tablejump, allow LABEL_REF to be in arg0;
also allow other arg to be MINUS, not just be equivalent to it.

From-SVN: r7939
1994-08-17 18:03:37 -04:00
Richard Kenner
336d6f0a7e (set_nonvarying_address_components): If BASE is CONST_INT, add value to start and set BASE to const0_rtx.
(set_nonvarying_address_components): If BASE is CONST_INT, add value to start
and set BASE to const0_rtx.
(refers_to_mem_p): Don't do it here.

From-SVN: r7911
1994-08-12 19:05:07 -04:00
Richard Kenner
8e0ac43b33 (simplify_unary_operation): Clean up some mode and size checks with
CONST_DOUBLEs; TRUNCATE should do nothing.

From-SVN: r7853
1994-08-02 19:06:41 -04:00
Richard Kenner
67a3773731 (fold_rtx, case MEM): Surround TRUNCATE for jump table entry with a CONST.
(fold_rtx, case '1'): Handle operand 0 of a CONST.
(fold_rtx, case PLUS): Handle (const (minus (label_ref) (label_ref))).

From-SVN: r7832
1994-07-30 12:58:42 -04:00
Richard Kenner
f54d49248d (canon_hash, exp_equiv_p): Refer to string in SYMBOL_REF with XSTR,
not XEXP.

From-SVN: r7650
1994-07-04 11:14:54 -04:00
Richard Kenner
138cec5908 (simplify_unary_operation, case UNSIGNED_FLOAT): Add missing cast to
unsigned.

From-SVN: r7547
1994-06-23 19:05:47 -04:00
Richard Earnshaw
b5a09c4171 (simplify_binary_operation, case MINUS): Check mode of op0,
instead of op1, before calling plus_constant.

From-SVN: r7510
1994-06-17 14:51:43 +00:00