24#define MAX_LEN_WORKLIST 64
25#define MAX_NUM_WORKLISTS 16
51#define worklist_iterate(_list, _p) \
53 struct universal _p; \
56 while (_p##_index < worklist_length(_list)) { \
57 worklist_peek_ith(_list, &_p, _p##_index++);
59#define worklist_iterate_end \
struct universal entries[MAX_LEN_WORKLIST]
void worklist_advance(struct worklist *pwl)
bool worklist_peek(const struct worklist *pwl, struct universal *prod)
void worklist_copy(struct worklist *dst, const struct worklist *src)
void worklist_init(struct worklist *pwl)
bool worklist_peek_ith(const struct worklist *pwl, struct universal *prod, int idx)
bool worklist_is_empty(const struct worklist *pwl)
bool worklist_append(struct worklist *pwl, const struct universal *prod)
bool worklist_insert(struct worklist *pwl, const struct universal *prod, int idx)
void worklist_remove(struct worklist *pwl, int idx)
bool are_worklists_equal(const struct worklist *wlist1, const struct worklist *wlist2)
int worklist_length(const struct worklist *pwl)