@@ -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;
}
@@ -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;
@@ -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);
@@ -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;
}
insert_branch()'s first argument must be the BB of the instruction given in the second argument. So, remove it from the argument and simply use insn->bb instead. Signed-off-by: Luc Van Oostenryck <luc.vanoostenryck@gmail.com> --- flow.c | 2 +- linearize.c | 3 ++- linearize.h | 2 +- simplify.c | 8 ++++---- 4 files changed, 8 insertions(+), 7 deletions(-)