aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
authorLuc Van Oostenryck <luc.vanoostenryck@gmail.com>2018-02-08 15:42:06 +0100
committerLuc Van Oostenryck <luc.vanoostenryck@gmail.com>2018-02-13 00:06:59 +0100
commit3fb237b68b9692fbfc3c3a3b30e485729a8d8439 (patch)
tree313cc83e79d04742df4d894a6a58da3d7b94d97c
parentfdd1645dc1a80d76dfffb621cfca778d1ce12d52 (diff)
downloadsparse-dev-3fb237b68b9692fbfc3c3a3b30e485729a8d8439.tar.gz
add helper for pseudo's user-list's size
Add pseudo_user_list_size() instead of having to use ptr_list_size() with an ugly cast. Signed-off-by: Luc Van Oostenryck <luc.vanoostenryck@gmail.com>
-rw-r--r--linearize.h5
-rw-r--r--simplify.c4
2 files changed, 7 insertions, 2 deletions
diff --git a/linearize.h b/linearize.h
index c0c49bdf..0a08c602 100644
--- a/linearize.h
+++ b/linearize.h
@@ -325,6 +325,11 @@ static inline int has_use_list(pseudo_t p)
return (p && p->type != PSEUDO_VOID && p->type != PSEUDO_VAL);
}
+static inline int pseudo_user_list_size(struct pseudo_user_list *list)
+{
+ return ptr_list_size((struct ptr_list *)list);
+}
+
static inline struct pseudo_user *alloc_pseudo_user(struct instruction *insn, pseudo_t *pp)
{
struct pseudo_user *user = __alloc_pseudo_user(0);
diff --git a/simplify.c b/simplify.c
index 8aac852b..971f8ca9 100644
--- a/simplify.c
+++ b/simplify.c
@@ -179,7 +179,7 @@ static int delete_pseudo_user_list_entry(struct pseudo_user_list **list, pseudo_
} END_FOR_EACH_PTR(pu);
assert(count <= 0);
out:
- if (ptr_list_size((struct ptr_list *) *list) == 0)
+ if (pseudo_user_list_size(*list) == 0)
*list = NULL;
return count;
}
@@ -797,7 +797,7 @@ static int simplify_associative_binop(struct instruction *insn)
return 0;
if (!simple_pseudo(def->src2))
return 0;
- if (ptr_list_size((struct ptr_list *)def->target->users) != 1)
+ if (pseudo_user_list_size(def->target->users) != 1)
return 0;
switch_pseudo(def, &def->src1, insn, &insn->src2);
return REPEAT_CSE;