Lines Matching refs:bb

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