Lines Matching refs:bb

76   basic_block bb, last_bb_seen;  in verify_flow_info()  local
85 FOR_BB_BETWEEN (bb, ENTRY_BLOCK_PTR->next_bb, NULL, next_bb) in verify_flow_info()
87 if (bb != EXIT_BLOCK_PTR in verify_flow_info()
88 && bb != BASIC_BLOCK (bb->index)) in verify_flow_info()
90 error ("bb %d on wrong place", bb->index); in verify_flow_info()
94 if (bb->prev_bb != last_bb_seen) in verify_flow_info()
97 bb->index, last_bb_seen->index, bb->prev_bb->index); in verify_flow_info()
101 last_bb_seen = bb; in verify_flow_info()
105 FOR_EACH_BB_REVERSE (bb) in verify_flow_info()
111 if (bb->count < 0) in verify_flow_info()
114 bb->index, (int)bb->count); in verify_flow_info()
117 if (bb->frequency < 0) in verify_flow_info()
120 bb->index, bb->frequency); in verify_flow_info()
123 FOR_EACH_EDGE (e, ei, bb->succs) in verify_flow_info()
125 if (last_visited [e->dest->index] == bb) in verify_flow_info()
144 last_visited [e->dest->index] = bb; in verify_flow_info()
149 if (e->src != bb) in verify_flow_info()
152 bb->index); in verify_flow_info()
165 error ("wrong amount of branch edges after unconditional jump %i", bb->index); in verify_flow_info()
169 FOR_EACH_EDGE (e, ei, bb->preds) in verify_flow_info()
171 if (e->dest != bb) in verify_flow_info()
173 error ("basic block %d pred edge is corrupted", bb->index); in verify_flow_info()
184 error ("basic block %d pred edge is corrupted", bb->index); in verify_flow_info()
211 FOR_BB_BETWEEN (bb, ENTRY_BLOCK_PTR, NULL, next_bb) in verify_flow_info()
212 if (edge_checksum[bb->index]) in verify_flow_info()
214 error ("basic block %i edge lists are corrupted", bb->index); in verify_flow_info()
236 dump_bb (basic_block bb, FILE *outf, int indent) in dump_bb() argument
247 s_indent, bb->index, bb->loop_depth); in dump_bb()
248 fprintf (outf, HOST_WIDEST_INT_PRINT_DEC, (HOST_WIDEST_INT) bb->count); in dump_bb()
252 if (bb->prev_bb) in dump_bb()
253 fprintf (outf, "%d, ", bb->prev_bb->index); in dump_bb()
257 if (bb->next_bb) in dump_bb()
258 fprintf (outf, "%d", bb->next_bb->index); in dump_bb()
264 FOR_EACH_EDGE (e, ei, bb->preds) in dump_bb()
269 FOR_EACH_EDGE (e, ei, bb->succs) in dump_bb()
274 cfg_hooks->dump_bb (bb, outf, indent); in dump_bb()
319 split_block (basic_block bb, void *i) in split_block() argument
326 new_bb = cfg_hooks->split_block (bb, i); in split_block()
330 new_bb->count = bb->count; in split_block()
331 new_bb->frequency = bb->frequency; in split_block()
332 new_bb->loop_depth = bb->loop_depth; in split_block()
336 redirect_immediate_dominators (CDI_DOMINATORS, bb, new_bb); in split_block()
337 set_immediate_dominator (CDI_DOMINATORS, new_bb, bb); in split_block()
340 return make_single_succ_edge (bb, new_bb, EDGE_FALLTHRU); in split_block()
346 split_block_after_labels (basic_block bb) in split_block_after_labels() argument
348 return split_block (bb, NULL); in split_block_after_labels()
355 move_block_after (basic_block bb, basic_block after) in move_block_after() argument
362 ret = cfg_hooks->move_block_after (bb, after); in move_block_after()
370 delete_basic_block (basic_block bb) in delete_basic_block() argument
375 cfg_hooks->delete_basic_block (bb); in delete_basic_block()
379 while (EDGE_COUNT (bb->preds) != 0) in delete_basic_block()
380 remove_edge (EDGE_PRED (bb, 0)); in delete_basic_block()
381 while (EDGE_COUNT (bb->succs) != 0) in delete_basic_block()
382 remove_edge (EDGE_SUCC (bb, 0)); in delete_basic_block()
385 delete_from_dominance_info (CDI_DOMINATORS, bb); in delete_basic_block()
387 delete_from_dominance_info (CDI_POST_DOMINATORS, bb); in delete_basic_block()
390 expunge_block (bb); in delete_basic_block()
511 predicted_by_p (basic_block bb, enum br_predictor predictor) in predicted_by_p() argument
516 return cfg_hooks->predicted_by_p (bb, predictor); in predicted_by_p()
565 make_forwarder_block (basic_block bb, bool (*redirect_edge_p) (edge), in make_forwarder_block() argument
576 fallthru = split_block_after_labels (bb); in make_forwarder_block()
578 bb = fallthru->dest; in make_forwarder_block()
599 jump = redirect_edge_and_branch_force (e, bb); in make_forwarder_block()
609 doms_to_fix[1] = bb; in make_forwarder_block()
673 can_duplicate_block_p (basic_block bb) in can_duplicate_block_p() argument
681 if (bb == EXIT_BLOCK_PTR || bb == ENTRY_BLOCK_PTR) in can_duplicate_block_p()
686 e = find_edge (bb, EXIT_BLOCK_PTR); in can_duplicate_block_p()
690 return cfg_hooks->can_duplicate_block_p (bb); in can_duplicate_block_p()
698 duplicate_block (basic_block bb, edge e, basic_block after) in duplicate_block() argument
709 if (bb->count < new_count) in duplicate_block()
710 new_count = bb->count; in duplicate_block()
713 gcc_assert (can_duplicate_block_p (bb)); in duplicate_block()
716 new_bb = cfg_hooks->duplicate_block (bb); in duplicate_block()
720 new_bb->loop_depth = bb->loop_depth; in duplicate_block()
721 new_bb->flags = bb->flags; in duplicate_block()
722 FOR_EACH_EDGE (s, ei, bb->succs) in duplicate_block()
729 if (e && bb->count) in duplicate_block()
732 n->count = s->count * (new_count * 10000 / bb->count) / 10000; in duplicate_block()
743 bb->count -= new_count; in duplicate_block()
746 bb->frequency -= EDGE_FREQUENCY (e); in duplicate_block()
750 if (bb->count < 0) in duplicate_block()
751 bb->count = 0; in duplicate_block()
752 if (bb->frequency < 0) in duplicate_block()
753 bb->frequency = 0; in duplicate_block()
757 new_bb->count = bb->count; in duplicate_block()
758 new_bb->frequency = bb->frequency; in duplicate_block()
761 set_bb_original (new_bb, bb); in duplicate_block()
762 set_bb_copy (bb, new_bb); in duplicate_block()
771 block_ends_with_call_p (basic_block bb) in block_ends_with_call_p() argument
776 return (cfg_hooks->block_ends_with_call_p) (bb); in block_ends_with_call_p()
782 block_ends_with_condjump_p (basic_block bb) in block_ends_with_condjump_p() argument
788 return (cfg_hooks->block_ends_with_condjump_p) (bb); in block_ends_with_condjump_p()