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/ada | |
parent | 5867245e314ba5fc3af34d6c158acdfe62817a06 (diff) | |
download | gcc-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/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/ada/trans.c | 4 |
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 |