summaryrefslogtreecommitdiff
path: root/gcc/tree-loop-distribution.c
diff options
context:
space:
mode:
authorkazu <kazu@138bc75d-0d04-0410-961f-82ee72b054a4>2009-01-29 18:23:21 +0000
committerkazu <kazu@138bc75d-0d04-0410-961f-82ee72b054a4>2009-01-29 18:23:21 +0000
commit82b19557fea578166840d75f98e7a25e2f390d1d (patch)
treeceff6833d1922d30a87ed2cc8371506158699fac /gcc/tree-loop-distribution.c
parent88ff55103eb0c07b466826f31cf5248a5df50e81 (diff)
downloadgcc-82b19557fea578166840d75f98e7a25e2f390d1d.tar.gz
gcc/
PR tree-optimization/39007 * tree-loop-distribution.c (generate_builtin): Use recompute_dominator to compute the immediate dominator of the basic block just after the loop. gcc/testsuite/ PR tree-optimization/39007 * gcc.dg/tree-ssa/pr39007.c: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@143767 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/tree-loop-distribution.c')
-rw-r--r--gcc/tree-loop-distribution.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/gcc/tree-loop-distribution.c b/gcc/tree-loop-distribution.c
index 1463bee93d3..8eca7c02166 100644
--- a/gcc/tree-loop-distribution.c
+++ b/gcc/tree-loop-distribution.c
@@ -439,11 +439,13 @@ generate_builtin (struct loop *loop, bitmap partition, bool copy_p)
basic_block dest = single_exit (loop)->dest;
prop_phis (dest);
make_edge (src, dest, EDGE_FALLTHRU);
- set_immediate_dominator (CDI_DOMINATORS, dest, src);
cancel_loop_tree (loop);
for (i = 0; i < nbbs; i++)
delete_basic_block (bbs[i]);
+
+ set_immediate_dominator (CDI_DOMINATORS, dest,
+ recompute_dominator (CDI_DOMINATORS, dest));
}
end: