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