aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/flow.c
diff options
authorLinus Torvalds <torvalds@ppc970.osdl.org>2004-11-28 14:29:59 -0700
committerLinus Torvalds <torvalds@ppc970.osdl.org>2005-04-07 21:05:12 -0700
commitee2e63eb742d7afd2ba8021863f18b89792d5078 (patch)
tree9e3da8a71f6bfc0be8fe855a0f4aa8e271f75748 /flow.c
parent0923bd7ded0b37aaa9eb64cb0941db9837634495 (diff)
downloadsparse-dev-ee2e63eb742d7afd2ba8021863f18b89792d5078.tar.gz
Fix entrypoint branch rewriting..
Diffstat (limited to 'flow.c')
-rw-r--r--flow.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/flow.c b/flow.c
index ca2d63a2..5635d71e 100644
--- a/flow.c
+++ b/flow.c
@@ -852,7 +852,9 @@ void pack_basic_blocks(struct entrypoint *ep)
case OP_BR: {
struct basic_block *replace;
replace = rewrite_branch_bb(bb, first);
- if (replace && bb != ep->entry) {
+ if (replace) {
+ if (bb == ep->entry)
+ ep->entry = replace;
kill_bb(bb);
goto no_merge;
}