summaryrefslogtreecommitdiff
path: root/gcc/ada
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/ada
parent5867245e314ba5fc3af34d6c158acdfe62817a06 (diff)
downloadgcc-e803a64bc8b81e67597cab2553ce2b30b4facd51.tar.gz
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/ada')
-rw-r--r--gcc/ada/ChangeLog5
-rw-r--r--gcc/ada/trans.c4
2 files changed, 7 insertions, 2 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog
index 20a7cdf579e..755f3b26846 100644
--- a/gcc/ada/ChangeLog
+++ b/gcc/ada/ChangeLog
@@ -1,3 +1,8 @@
+2001-01-30 Richard Henderson <rth@redhat.com>
+
+ * trans.c (tree_transform) [N_Loop_Statement]: Use
+ expand_exit_loop_top_cond.
+
2001-12-23 Richard Henderson <rth@redhat.com>
* utils.c (end_subprog_body): Push GC context around
diff --git a/gcc/ada/trans.c b/gcc/ada/trans.c
index 9864efa750b..7c376e5b2d8 100644
--- a/gcc/ada/trans.c
+++ b/gcc/ada/trans.c
@@ -6,7 +6,7 @@
* *
* C Implementation File *
* *
- * $Revision$
+ * $Revision: 1.10 $
* *
* Copyright (C) 1992-2001, Free Software Foundation, Inc. *
* *
@@ -2350,7 +2350,7 @@ tree_transform (gnat_node)
if (Present (gnat_top_condition))
gnu_top_condition = gnat_to_gnu (gnat_top_condition);
- expand_exit_loop_if_false (0, gnu_top_condition);
+ expand_exit_loop_top_cond (0, gnu_top_condition);
/* Make the loop body into its own block, so any allocated
storage will be released every iteration. This is needed