Lines Matching refs:bank
28 struct piggy *bank; in bank_init() local
29 bank = calloc(1, sizeof(*bank) + levels * sizeof(bank->lists[0])); in bank_init()
30 bank->max = levels - 1; in bank_init()
31 return bank; in bank_init()
34 static void bank_free(struct piggy *bank, unsigned int levels) in bank_free() argument
37 free_ptr_list(&bank->lists[levels]); in bank_free()
38 free(bank); in bank_free()
41 static void bank_put(struct piggy *bank, struct basic_block *bb) in bank_put() argument
44 assert(level <= bank->max); in bank_put()
45 add_bb(&bank->lists[level], bb); in bank_put()
53 static struct basic_block *bank_get(struct piggy *bank) in bank_get() argument
55 int level = bank->max; in bank_get()
57 struct basic_block *bb = pop_bb(&bank->lists[level]); in bank_get()
62 bank->max = --level; in bank_get()
72 static void visit(struct piggy *bank, struct basic_block_list **idf, struct basic_block *x, int cur… in visit() argument
89 bank_put(bank, y); in visit()
95 visit(bank, idf, y, curr_level); in visit()
102 struct piggy *bank = bank_init(levels); in idf_compute() local
119 bank_put(bank, bb); in idf_compute()
122 while ((bb = bank_get(bank))) { in idf_compute()
123 visit(bank, idf, bb, bb->dom_level); in idf_compute()
126 bank_free(bank, levels); in idf_compute()