aboutsummaryrefslogtreecommitdiff
path: root/gcc/rtl.h
diff options
context:
space:
mode:
authorRichard Henderson <rth@redhat.com>2002-01-30 22:21:31 -0800
committerRichard Henderson <rth@gcc.gnu.org>2002-01-30 22:21:31 -0800
commite803a64bc8b81e67597cab2553ce2b30b4facd51 (patch)
tree74d7d828de9e380db26da65d9c431dfb739c6948 /gcc/rtl.h
parent5867245e314ba5fc3af34d6c158acdfe62817a06 (diff)
downloadgcc-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.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/rtl.h b/gcc/rtl.h
index b474531..ef4c5f8 100644
--- a/gcc/rtl.h
+++ b/gcc/rtl.h
@@ -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