Lines Matching refs:bb_data
3015 static bool is_new_basic_block(struct basic_block_data *bb_data, in is_new_basic_block() argument
3020 if (basic_block_has_offset(&bb_data->visited, offset)) in is_new_basic_block()
3022 if (basic_block_has_offset(&bb_data->queue, offset)) in is_new_basic_block()
3028 static int add_basic_block(struct basic_block_data *bb_data, in add_basic_block() argument
3038 if (!is_new_basic_block(bb_data, dl)) in add_basic_block()
3057 list_add_tail(&link->node, &bb_data->queue); in add_basic_block()
3062 static bool process_basic_block(struct basic_block_data *bb_data, in process_basic_block() argument
3072 if (basic_block_has_offset(&bb_data->visited, dl->al.offset)) in process_basic_block()
3108 add_basic_block(bb_data, link, next_dl); in process_basic_block()
3118 add_basic_block(bb_data, link, next_dl); in process_basic_block()
3145 static void delete_basic_blocks(struct basic_block_data *bb_data) in delete_basic_blocks() argument
3149 list_for_each_entry_safe(link, tmp, &bb_data->queue, node) { in delete_basic_blocks()
3155 list_for_each_entry_safe(link, tmp, &bb_data->visited, node) { in delete_basic_blocks()
3177 struct basic_block_data bb_data = { in annotate_get_basic_blocks() local
3178 .queue = LIST_HEAD_INIT(bb_data.queue), in annotate_get_basic_blocks()
3179 .visited = LIST_HEAD_INIT(bb_data.visited), in annotate_get_basic_blocks()
3189 if (add_basic_block(&bb_data, /*parent=*/NULL, dl) < 0) in annotate_get_basic_blocks()
3193 while (!list_empty(&bb_data.queue)) { in annotate_get_basic_blocks()
3194 link = list_first_entry(&bb_data.queue, struct basic_block_link, node); in annotate_get_basic_blocks()
3196 if (process_basic_block(&bb_data, link, sym, dst)) { in annotate_get_basic_blocks()
3201 list_move(&link->node, &bb_data.visited); in annotate_get_basic_blocks()
3203 delete_basic_blocks(&bb_data); in annotate_get_basic_blocks()