aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/example.c
diff options
authorLuc Van Oostenryck <luc.vanoostenryck@gmail.com>2018-01-03 15:35:48 +0100
committerLuc Van Oostenryck <luc.vanoostenryck@gmail.com>2018-06-13 05:49:23 +0200
commit9d04727b5aa5309b46a40f69756ec8bc8e376e6c (patch)
treeec6a08929a0a37cc8dd75ec8b308119347abb465 /example.c
parent0c96862dde0ffd63c8c7837094d0d319f060d4a6 (diff)
downloadsparse-dev-9d04727b5aa5309b46a40f69756ec8bc8e376e6c.tar.gz
ptrlist: make explicit when tagged pointers are used.
Only a few places need list recursions on tagged pointers but currently they use the same macros as the common case where no tag is used. Make this very explicit by adding using the macro FOR_EACH_PTR_TAG() for these few cases. Signed-off-by: Luc Van Oostenryck <luc.vanoostenryck@gmail.com>
Diffstat (limited to 'example.c')
-rw-r--r--example.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/example.c b/example.c
index fd22d8ab..aff613b6 100644
--- a/example.c
+++ b/example.c
@@ -383,7 +383,7 @@ static void flush_reg(struct bb_state *state, struct hardreg *reg)
return;
reg->dead = 0;
reg->used = 1;
- FOR_EACH_PTR(reg->contains, pseudo) {
+ FOR_EACH_PTR_TAG(reg->contains, pseudo) {
if (CURRENT_TAG(pseudo) & TAG_DEAD)
continue;
if (!(CURRENT_TAG(pseudo) & TAG_DIRTY))
@@ -436,7 +436,7 @@ static void mark_reg_dead(struct bb_state *state, pseudo_t pseudo, struct hardre
{
pseudo_t p;
- FOR_EACH_PTR(reg->contains, p) {
+ FOR_EACH_PTR_TAG(reg->contains, p) {
if (p != pseudo)
continue;
if (CURRENT_TAG(p) & TAG_DEAD)
@@ -521,7 +521,7 @@ static struct hardreg *find_in_reg(struct bb_state *state, pseudo_t pseudo)
pseudo_t p;
reg = hardregs + i;
- FOR_EACH_PTR(reg->contains, p) {
+ FOR_EACH_PTR_TAG(reg->contains, p) {
if (p == pseudo) {
last_reg = i;
output_comment(state, "found pseudo %s in reg %s (busy=%d)", show_pseudo(pseudo), reg->name, reg->busy);
@@ -861,7 +861,7 @@ static void kill_dead_reg(struct hardreg *reg)
if (reg->dead) {
pseudo_t p;
- FOR_EACH_PTR(reg->contains, p) {
+ FOR_EACH_PTR_TAG(reg->contains, p) {
if (CURRENT_TAG(p) & TAG_DEAD) {
DELETE_CURRENT_PTR(p);
reg->dead--;
@@ -901,7 +901,7 @@ static void generate_binop(struct bb_state *state, struct instruction *insn)
static int is_dead_reg(struct bb_state *state, pseudo_t pseudo, struct hardreg *reg)
{
pseudo_t p;
- FOR_EACH_PTR(reg->contains, p) {
+ FOR_EACH_PTR_TAG(reg->contains, p) {
if (p == pseudo)
return CURRENT_TAG(p) & TAG_DEAD;
} END_FOR_EACH_PTR(p);
@@ -996,7 +996,7 @@ static void kill_pseudo(struct bb_state *state, pseudo_t pseudo)
pseudo_t p;
reg = hardregs + i;
- FOR_EACH_PTR(reg->contains, p) {
+ FOR_EACH_PTR_TAG(reg->contains, p) {
if (p != pseudo)
continue;
if (CURRENT_TAG(p) & TAG_DEAD)
@@ -1533,7 +1533,7 @@ static void fill_output(struct bb_state *state, pseudo_t pseudo, struct storage
struct hardreg *reg = hardregs + i;
pseudo_t p;
- FOR_EACH_PTR(reg->contains, p) {
+ FOR_EACH_PTR_TAG(reg->contains, p) {
if (p == pseudo) {
write_reg_to_storage(state, reg, pseudo, out);
return;
@@ -1641,7 +1641,7 @@ static void generate_output_storage(struct bb_state *state)
int flushme = 0;
reg->busy = REG_FIXED;
- FOR_EACH_PTR(reg->contains, p) {
+ FOR_EACH_PTR_TAG(reg->contains, p) {
if (p == entry->pseudo) {
flushme = -100;
continue;