aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/flow.c
diff options
Diffstat (limited to 'flow.c')
-rw-r--r--flow.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/flow.c b/flow.c
index 4952562a..69d95a98 100644
--- a/flow.c
+++ b/flow.c
@@ -760,6 +760,11 @@ int convert_to_jump(struct instruction *insn, struct basic_block *target)
struct basic_block *child;
int changed = REPEAT_CSE;
+ switch (insn->opcode) {
+ case OP_CBR:
+ changed |= remove_phisources(insn->bb, insn->bb_true == target ? insn->bb_false : insn->bb_true);
+ break;
+ }
kill_use(&insn->cond);
insn->bb_true = target;
insn->bb_false = NULL;