aboutsummaryrefslogtreecommitdiff
path: root/gcc/cfgloop.h
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2012-10-23 11:57:36 +0200
committerJan Hubicka <hubicka@gcc.gnu.org>2012-10-23 09:57:36 +0000
commit1a7de2015dfb81f40015a95be98abe50ad7382f0 (patch)
treedff1e819fae3b996fcd725e178165e8cf066a614 /gcc/cfgloop.h
parente8028ecdd02be651ec23cfdbc7e31c5b4b198ce1 (diff)
downloadgcc-1a7de2015dfb81f40015a95be98abe50ad7382f0.zip
gcc-1a7de2015dfb81f40015a95be98abe50ad7382f0.tar.gz
gcc-1a7de2015dfb81f40015a95be98abe50ad7382f0.tar.bz2
re PR tree-optimization/54967 (ICE in check_loop_closed_ssa_use, at tree-ssa-loop-manip.c:55)
PR middle-end/54967 * cfgloopmanip.c (fix_bb_placements): Add loop_closed_ssa_invalidated; track basic blocks that moved out of their loops. (unloop): Likewise. (remove_path): Update. (fix_loop_placements): Update. * tree-ssa-loop-ivcanon.c (try_unroll_loop_completely): Add loop_closed_ssa_invalidated parameter; pass it around. (canonicalize_loop_induction_variables): Update loop closed SSA form if needed. (tree_unroll_loops_completely): Likewise; do irred update out of the outer loop; verify that SSA form is closed. * cfgloop.h (unrloop): Update. * gfortran.dg/pr54967.f90: New testcase. From-SVN: r192709
Diffstat (limited to 'gcc/cfgloop.h')
-rw-r--r--gcc/cfgloop.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/cfgloop.h b/gcc/cfgloop.h
index a485504..94ad637 100644
--- a/gcc/cfgloop.h
+++ b/gcc/cfgloop.h
@@ -321,7 +321,7 @@ extern struct loop *loopify (edge, edge,
struct loop * loop_version (struct loop *, void *,
basic_block *, unsigned, unsigned, unsigned, bool);
extern bool remove_path (edge);
-extern void unloop (struct loop *, bool *);
+extern void unloop (struct loop *, bool *, bitmap);
extern void scale_loop_frequencies (struct loop *, int, int);
/* Induction variable analysis. */