diff options
author | Richard Henderson <rth@redhat.com> | 2002-01-30 22:21:31 -0800 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 2002-01-30 22:21:31 -0800 |
commit | e803a64bc8b81e67597cab2553ce2b30b4facd51 (patch) | |
tree | 74d7d828de9e380db26da65d9c431dfb739c6948 /gcc/rtl.h | |
parent | 5867245e314ba5fc3af34d6c158acdfe62817a06 (diff) | |
download | gcc-e803a64bc8b81e67597cab2553ce2b30b4facd51.zip gcc-e803a64bc8b81e67597cab2553ce2b30b4facd51.tar.gz gcc-e803a64bc8b81e67597cab2553ce2b30b4facd51.tar.bz2 |
rtl.h (NOTE_INSN_LOOP_END_TOP_COND): New.
* rtl.h (NOTE_INSN_LOOP_END_TOP_COND): New.
* rtl.c (note_insn_name): Update.
* emit-rtl.c (remove_unnecessary_notes): Kill it.
* stmt.c (expand_end_loop): Kill jump opt code. Use LOOP_END_TOP_COND
to perform loop rotation.
(expand_exit_loop_top_cond): New.
* tree.h (expand_exit_loop_top_cond): Declare it.
* c-semantics.c (genrtl_while_stmt): Use it.
(genrtl_for_stmt): Likewise.
* ada/trans.c (tree_transform) [N_Loop_Statement]: Use
expand_exit_loop_top_cond.
* f/ste.c (ffeste_begin_iterdo_): Use expand_exit_loop_top_cond.
(ffeste_R819B): Likewise.
From-SVN: r49364
Diffstat (limited to 'gcc/rtl.h')
-rw-r--r-- | gcc/rtl.h | 6 |
1 files changed, 6 insertions, 0 deletions
@@ -682,6 +682,12 @@ enum insn_note /* Generated at the start of a duplicated exit test. */ NOTE_INSN_LOOP_VTOP, + /* Generated at the end of a conditional at the top of the loop. + This is used to perform a lame form of loop rotation in lieu + of actually understanding the loop structure. The note is + discarded after rotation is complete. */ + NOTE_INSN_LOOP_END_TOP_COND, + /* This kind of note is generated at the end of the function body, just before the return insn or return label. In an optimizing compilation it is deleted by the first jump optimization, after |