summaryrefslogtreecommitdiff
path: root/gcc/loop-iv.c
diff options
context:
space:
mode:
authorrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>2013-04-17 12:01:46 +0000
committerrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>2013-04-17 12:01:46 +0000
commit427286b391c3288b0d7bb09623caad434e92ae67 (patch)
tree6f5974270d53a9f59def50d3f7b035dafa24e645 /gcc/loop-iv.c
parent740a2cb6e886905c141074dfcbe7976c7e7baf79 (diff)
downloadgcc-427286b391c3288b0d7bb09623caad434e92ae67.tar.gz
2013-04-17 Richard Biener <rguenther@suse.de>
PR rtl-optimization/56921 * cfgloop.h (struct loop): Add simple_loop_desc member. (struct niter_desc): Mark with GTY(()). (simple_loop_desc): Do not use aux field but simple_loop_desc. * loop-iv.c (get_simple_loop_desc): Likewise. (free_simple_loop_desc): Likewise. Revert 2013-04-16 Richard Biener <rguenther@suse.de> PR rtl-optimization/56921 * loop-init.c (pass_rtl_move_loop_invariants): Add TODO_do_not_ggc_collect to todo_flags_finish. (pass_rtl_unswitch): Same. (pass_rtl_unroll_and_peel_loops): Same. (pass_rtl_doloop): Same. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198025 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/loop-iv.c')
-rw-r--r--gcc/loop-iv.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/gcc/loop-iv.c b/gcc/loop-iv.c
index 0847307e1a8..5695e298256 100644
--- a/gcc/loop-iv.c
+++ b/gcc/loop-iv.c
@@ -3016,10 +3016,10 @@ get_simple_loop_desc (struct loop *loop)
/* At least desc->infinite is not always initialized by
find_simple_loop_exit. */
- desc = XCNEW (struct niter_desc);
+ desc = ggc_alloc_cleared_niter_desc ();
iv_analysis_loop_init (loop);
find_simple_exit (loop, desc);
- loop->aux = desc;
+ loop->simple_loop_desc = desc;
if (desc->simple_p && (desc->assumptions || desc->infinite))
{
@@ -3069,6 +3069,6 @@ free_simple_loop_desc (struct loop *loop)
if (!desc)
return;
- free (desc);
- loop->aux = NULL;
+ ggc_free (desc);
+ loop->simple_loop_desc = NULL;
}