aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorLuc Van Oostenryck <luc.vanoostenryck@gmail.com>2020-03-29 18:22:50 +0200
committerLuc Van Oostenryck <luc.vanoostenryck@gmail.com>2021-03-19 23:56:44 +0100
commit26353a45ce03553c176cab553c3df36844e439fc (patch)
tree3aa100882b875ead9d29b14c9868278416a1aa8a
parent52f02114bad02a2a705ecc3fe5904ff449196f50 (diff)
downloadsparse-26353a45ce03553c176cab553c3df36844e439fc.tar.gz
remove insert_branch() redundant arg
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>
-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;
}