Commit Graph

74 Commits

Author SHA1 Message Date
Richard Kenner
c8465d7089 Update comments.
From-SVN: r10423
1995-10-03 12:17:19 -04:00
Richard Kenner
9a8e74f08d (find_and_verify_loops): Fix error in last change.
From-SVN: r10370
1995-09-16 17:42:20 -04:00
Richard Kenner
89724a5a45 (find_and_verify_loops): When moving exit blocks out of the loop,
verify that the target of P is within the current loop.

From-SVN: r10364
1995-09-15 17:52:15 -04:00
Richard Kenner
fdccb6df82 (find_and_verify_loops): Set dest_loop only if JUMP_LABEL (insn) is
non-zero.

From-SVN: r10210
1995-08-13 14:50:39 -04:00
Richard Kenner
edf711a4e4 (find_and_verify_loops): When moving blocks of code, verify that the just destination is not in an inner nested loop.
(find_and_verify_loops): When moving blocks of code, verify that the
just destination is not in an inner nested loop.
(mark_loop_jump): Don't mark label as loop exit if it jumps to an
inner nested loop.

From-SVN: r10164
1995-07-26 08:43:24 -04:00
Richard Kenner
353127c220 (loop_number_exit_count): New global variable.
(loop_optimize): Allocate space for it.
(find_and_verify_loops, mark_loop_jump): Set it.
(strength_reduce, check_dbra_loop): Use loop_number_exit_count instead
of loop_number_exit_labels.

From-SVN: r10128
1995-07-14 08:21:01 -04:00
Richard Kenner
a35311b035 Update FSF address.
From-SVN: r9961
1995-06-15 07:52:21 -04:00
Jim Wilson
5031afa79c (record_giv): When computing replaceable, use
back_branch_in_range_p instead of looking for branches to named
labels.

From-SVN: r9675
1995-05-13 07:56:44 -07:00
Jim Wilson
45cc060eb5 (check_dbra_loop): When reversing loop when
no_use_except_counting is false, there must be only one biv.

From-SVN: r9642
1995-05-12 08:16:31 -07:00
Richard Kenner
f2f4925916 (mark_loop_jump): Remove bogus assignments to LABEL_ fields in default
case.

From-SVN: r8921
1995-02-13 08:13:52 -05:00
Jim Wilson
f415f7bed7 (record_giv): Initialize new field same_insn.
From-SVN: r8785
1995-01-20 18:11:13 -08:00
Jim Wilson
5eeedd4d9e (scan_loop): For the replace_rtx call, copy the rtx that is
being substituted in before the call.

From-SVN: r8779
1995-01-20 17:30:34 -08:00
Doug Evans
a18b5d986c (get_condition): Use CONST0_RTX instead of const0_rtx.
From-SVN: r8721
1995-01-05 17:37:00 +00:00
Jim Wilson
667a4593fc (invariant_p): Reject const volatile references.
From-SVN: r8666
1994-12-19 12:27:20 -08:00
Richard Kenner
dd202606f5 (move_movables): For move_insn case, skip notes when deleting
instructions.

From-SVN: r8475
1994-11-16 19:28:34 -05:00
Jim Wilson
8c4f5c09f0 (move_movables): Aviod lossage when CALL_INSN_FUNCTION_USAGE
is NULL.

From-SVN: r7777
1994-07-18 18:58:06 -07:00
Richard Kenner
725fc5a08d (basic_induction_var, case REG): Allow previous insn to set a SUBREG
of X.

From-SVN: r7611
1994-06-29 19:21:43 -04:00
Richard Kenner
9abdca9c6f (strength_reduce): When replacing DEST_ADDR givs, make sure resulting
insn is valid.

From-SVN: r7529
1994-06-22 19:53:01 -04:00
Jim Wilson
f97d29ce9c (move_movables): Copy CALL_INSN_FUNCTION_USAGE field.
From-SVN: r7517
1994-06-18 13:44:41 -07:00
Richard Kenner
4c9a05bc55 Cast pointer operands to bzero, bcopy, and bcmp to (char *).
From-SVN: r7472
1994-06-14 18:19:28 -04:00
Richard Kenner
ca800983cb (note_addr_stored): A SET or CLOBBER of a BLKmode MEM means that all
memory is clobbered.

From-SVN: r7395
1994-05-31 07:20:06 -04:00
Richard Kenner
45620ed410 No longer handle LSHIFT.
From-SVN: r7020
1994-04-10 08:03:37 -04:00
Richard Kenner
bd5a664eb5 (init_loop): Remove decls of unused variables.
(loop_optimize): Remove decl of unused variable END.
(combine_movables): Remove decls of unused variables.
(check_final_value): Remove decl of unused variable TEM.
(check_dbra_loop): Remove decls of unused variables.
(maybe_eliminate_biv): Remove decls of unused variables SET and V.

From-SVN: r6889
1994-03-25 14:16:16 -05:00
Richard Kenner
71ef37f694 (get_condition): Exit if we don't recognize SET_SRC of a SET that
modifies OP0.

From-SVN: r6860
1994-03-23 18:54:09 -05:00
Jim Wilson
5ea7a4ae88 (scan_loop): New variable loop_depth.
(scan_loop): New variable loop_depth.	Increment and
decrement on LOOP_BEG and LOOP_END notes.  Only use LOOP_VTOP note
if loop_depth is zero.
(strength_reduce): Likewise.

From-SVN: r6811
1994-03-18 12:31:41 -08:00
Richard Kenner
453331a344 (maybe_eliminate_biv_1): Ignore GIV if it isn't always computed.
From-SVN: r6616
1994-02-24 07:46:32 -05:00
Richard Kenner
f67ff5de60 (scan_loop, strength_reduce): Go back to LOOP_TOP, not its NEXT_INSN
(in case SCAN_START == LOOP_TOP).

From-SVN: r6615
1994-02-24 07:31:30 -05:00
Jim Wilson
afbc98a500 (scan_loop): Add no_labels_between_p call to tests which decide if...
(scan_loop): Add no_labels_between_p call to tests which
decide if an invariant reg can be safely replaced with its SET_SRC.

From-SVN: r6574
1994-02-16 12:33:00 -08:00
Richard Kenner
1fc3d466bf (get_condition): Can reverse comparison if -ffast-math.
From-SVN: r6337
1993-12-27 08:50:11 -05:00
Richard Kenner
0c847d7db5 (check_dbra_loop): Fix error in previous change.
From-SVN: r6316
1993-12-25 12:37:10 -05:00
Jim Wilson
b418c26e7f (check_dbra_loop): Don't reverse loop if there is a
single memory store to an invariant address.

From-SVN: r6290
1993-12-23 17:33:02 -08:00
Richard Kenner
103869f290 (scan_loop): Correct arguments for register check.
From-SVN: r6180
1993-12-02 08:10:43 -05:00
Jim Wilson
43a674af6f (strength_reduce): Accept VOIDmode initial values.
From-SVN: r6046
1993-11-09 16:08:15 -08:00
Richard Kenner
63d59526e3 (strength_reduce): Ignore initial value if it is the wrong mode.
(record_initial): Don't ignore any set of the register.

From-SVN: r6002
1993-11-04 19:05:02 -05:00
Richard Kenner
3ad0cfaf1d (find_and_verify_loops): Properly continue loop after moving a block
of code near a loop exit.

From-SVN: r5826
1993-10-20 07:56:55 -04:00
Doug Evans
202a34fdb3 (scan_loop): When skipping consecutive insns, don't count notes.
From-SVN: r5682
1993-10-08 17:55:28 +00:00
Doug Evans
6fa4004a0c * loop.c: (invariant_p, case REG): hard_frame_pointer_rtx is invariant.
From-SVN: r5461
1993-09-24 19:49:57 +00:00
Richard Stallman
7056f7e883 (basic_induction_var): New arg MODE.
Use it to call convert_modes.
(strength_reduce): Supply the new arg to basic_induction_var.

From-SVN: r5310
1993-09-12 13:08:35 +00:00
Jim Wilson
e6f6eb290d (strength_reduce): Don't ignore a giv that depends on a
reversed biv.

From-SVN: r5025
1993-07-28 10:50:26 -07:00
Richard Stallman
b6ccc3fb9d (mark_loop_jump): Handle weird cases like jumping to a symbol_ref.
From-SVN: r4981
1993-07-24 06:52:44 +00:00
Jim Wilson
e6726b1f48 (move_movables): Delete REG_EQUAL notes that describe a
non loop invariant value.

From-SVN: r4653
1993-06-08 14:57:08 -07:00
Richard Stallman
163674a7f1 (record_initial): Reject insns that store into subregs.
From-SVN: r4632
1993-06-05 07:52:37 +00:00
Richard Stallman
6ad216adda (scan_loop): Treat pseudo duplicated for exit tests just
like we treat user vars in seeing if we can move a SET.

From-SVN: r4514
1993-05-20 04:34:02 +00:00
Jeff Law
b2586fe0cb loop.c (strength_reduce): Handle case where loop_end is the end of the current function.
* loop.c (strength_reduce): Handle case where loop_end is the
	end of the current function.

From-SVN: r4378
1993-05-07 11:15:01 -06:00
Jeff Law
6f9c49e07d * loop.c (addr_overlap_p): Delete.
From-SVN: r3702
1993-03-11 05:45:54 -07:00
Jim Wilson
83d90aac53 (consec_sets_invariant_p): Correct REG_EQUAL note checks
to distinguish libcall case from ordinary insn case.

From-SVN: r3524
1993-02-24 13:12:11 -08:00
Jim Wilson
034dabc92e (add_label_notes): Don't add notes for references to dispatch tables because jump doesn't.
(add_label_notes): Don't add notes for references to
dispatch tables because jump doesn't.
(find_and_verify_loops): Invalidate loops that contain labels
whose address has been taken.

From-SVN: r3523
1993-02-24 13:08:55 -08:00
Jeff Law
da0c128ece loop.c (move_movables): Clear INSN_CODE for eachinsn as we perform register replacements.
* loop.c (move_movables): Clear INSN_CODE for eachinsn as
	we perform register replacements.
	(strength_reduce): Likewise.

From-SVN: r3254
1993-01-15 14:41:27 -07:00
Brendan Kehoe
c3c305882b integrate.c (const_equiv): Delete decl, since it's never defined.
* integrate.c (const_equiv): Delete decl, since it's never defined.
	(fold_out_const_cc0): Likewise.
	* loop.c (delete_insn_forces): Likewise.
	* final.c (alter_cond): Delete decl, since it's never defined.

From-SVN: r3209
1993-01-12 18:29:55 -05:00
Richard Kenner
d8cfa4ee64 (get_condition): Check for overflow when canonicalizing comparison.
From-SVN: r2863
1992-12-11 07:18:53 -05:00