diff options
author | rguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2013-04-17 12:01:46 +0000 |
---|---|---|
committer | rguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2013-04-17 12:01:46 +0000 |
commit | 427286b391c3288b0d7bb09623caad434e92ae67 (patch) | |
tree | 6f5974270d53a9f59def50d3f7b035dafa24e645 /gcc/loop-iv.c | |
parent | 740a2cb6e886905c141074dfcbe7976c7e7baf79 (diff) | |
download | gcc-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.c | 8 |
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; } |