summaryrefslogtreecommitdiff
path: root/gcc/cfgrtl.c
diff options
context:
space:
mode:
authorjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>2007-11-01 23:27:23 +0000
committerjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>2007-11-01 23:27:23 +0000
commite1b2b77c185495fe0a138afc6793d9c898e224cf (patch)
treeeef851effed125bc870ede6e6f6f8f3910182e0e /gcc/cfgrtl.c
parent8da7c9e979ba99228cbc3888626a6bd0faf7e94f (diff)
downloadgcc-e1b2b77c185495fe0a138afc6793d9c898e224cf.tar.gz
PR rtl-optimization/33648
* cfgrtl.c (cfg_layout_split_edge): Initialize BB_PARTITION of the newly created basic block. * gcc.dg/pr33648.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@129837 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/cfgrtl.c')
-rw-r--r--gcc/cfgrtl.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/gcc/cfgrtl.c b/gcc/cfgrtl.c
index d261b03eb9b..b5a432e2e8b 100644
--- a/gcc/cfgrtl.c
+++ b/gcc/cfgrtl.c
@@ -2696,6 +2696,10 @@ cfg_layout_split_edge (edge e)
? NEXT_INSN (BB_END (e->src)) : get_insns (),
NULL_RTX, e->src);
+ if (e->dest == EXIT_BLOCK_PTR)
+ BB_COPY_PARTITION (new_bb, e->src);
+ else
+ BB_COPY_PARTITION (new_bb, e->dest);
make_edge (new_bb, e->dest, EDGE_FALLTHRU);
redirect_edge_and_branch_force (e, new_bb);