aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--flow.c2
-rw-r--r--linearize.c3
-rw-r--r--linearize.h2
-rw-r--r--simplify.c8
4 files changed, 8 insertions, 7 deletions
diff --git a/flow.c b/flow.c
index 6d77453a..f85c2a30 100644
--- a/flow.c
+++ b/flow.c
@@ -268,7 +268,7 @@ try_to_rewrite_target:
*/
if (bb_list_size(target->parents) != 1)
return retval;
- insert_branch(target, insn, final);
+ insert_branch(insn, final);
return 1;
}
diff --git a/linearize.c b/linearize.c
index 7248fa56..ebb03217 100644
--- a/linearize.c
+++ b/linearize.c
@@ -700,8 +700,9 @@ static void remove_parent(struct basic_block *child, struct basic_block *parent)
}
/* Change a "switch" or a conditional branch into a branch */
-void insert_branch(struct basic_block *bb, struct instruction *jmp, struct basic_block *target)
+void insert_branch(struct instruction *jmp, struct basic_block *target)
{
+ struct basic_block *bb = jmp->bb;
struct instruction *br, *old;
struct basic_block *child;
diff --git a/linearize.h b/linearize.h
index 7909b01f..1bb9d77e 100644
--- a/linearize.h
+++ b/linearize.h
@@ -319,7 +319,7 @@ struct entrypoint {
};
extern void insert_select(struct basic_block *bb, struct instruction *br, struct instruction *phi, pseudo_t if_true, pseudo_t if_false);
-extern void insert_branch(struct basic_block *bb, struct instruction *br, struct basic_block *target);
+extern void insert_branch(struct instruction *br, struct basic_block *target);
struct instruction *alloc_phisrc(pseudo_t pseudo, struct symbol *type);
struct instruction *alloc_phi_node(struct basic_block *bb, struct symbol *type, struct ident *ident);
diff --git a/simplify.c b/simplify.c
index 207af8ed..930c0fa7 100644
--- a/simplify.c
+++ b/simplify.c
@@ -2441,7 +2441,7 @@ static int simplify_branch(struct instruction *insn)
/* Constant conditional */
if (constant(cond)) {
- insert_branch(insn->bb, insn, cond->value ? insn->bb_true : insn->bb_false);
+ insert_branch(insn, cond->value ? insn->bb_true : insn->bb_false);
return REPEAT_CSE;
}
@@ -2473,11 +2473,11 @@ static int simplify_branch(struct instruction *insn)
long long val1 = def->src2->value;
long long val2 = def->src3->value;
if (!val1 && !val2) {
- insert_branch(insn->bb, insn, insn->bb_false);
+ insert_branch(insn, insn->bb_false);
return REPEAT_CSE;
}
if (val1 && val2) {
- insert_branch(insn->bb, insn, insn->bb_true);
+ insert_branch(insn, insn->bb_true);
return REPEAT_CSE;
}
if (val2) {
@@ -2515,7 +2515,7 @@ static int simplify_switch(struct instruction *insn)
return 0;
found:
- insert_branch(insn->bb, insn, jmp->target);
+ insert_branch(insn, jmp->target);
return REPEAT_CSE;
}