Lines Matching refs:bb

69 #define seen(bb) (bb->il.rtl->visited || bb->aux)
73 ignore_bb_p (basic_block bb)
75 if (bb->index < NUM_FIXED_BLOCKS)
77 if (!maybe_hot_bb_p (bb))
85 count_insns (basic_block bb)
90 for (insn = BB_HEAD (bb);
91 insn != NEXT_INSN (BB_END (bb));
118 find_best_successor (basic_block bb)
124 FOR_EACH_EDGE (e, ei, bb->succs)
137 find_best_predecessor (basic_block bb)
143 FOR_EACH_EDGE (e, ei, bb->preds)
149 < bb->frequency * branch_ratio_cutoff)
154 /* Find the trace using bb and record it in the TRACE array.
158 find_trace (basic_block bb, basic_block *trace)
164 fprintf (dump_file, "Trace seed %i [%i]", bb->index, bb->frequency);
166 while ((e = find_best_predecessor (bb)) != NULL)
173 fprintf (dump_file, ",%i [%i]", bb->index, bb->frequency);
174 bb = bb2;
177 fprintf (dump_file, " forward %i [%i]", bb->index, bb->frequency);
178 trace[i++] = bb;
181 while ((e = find_best_successor (bb)) != NULL)
183 bb = e->dest;
184 if (seen (bb) || (e->flags & (EDGE_DFS_BACK | EDGE_COMPLEX))
185 || find_best_predecessor (bb) != e)
188 fprintf (dump_file, ",%i [%i]", bb->index, bb->frequency);
189 trace[i++] = bb;
210 basic_block bb;
221 FOR_EACH_BB (bb)
223 int n = count_insns (bb);
224 if (!ignore_bb_p (bb))
225 blocks[bb->index] = fibheap_insert (heap, -bb->frequency,
226 bb);
228 counts [bb->index] = n;
230 weighted_insns += n * bb->frequency;
243 basic_block bb = fibheap_extract_min (heap);
246 if (!bb)
249 blocks[bb->index] = NULL;
251 if (ignore_bb_p (bb))
253 gcc_assert (!seen (bb));
255 n = find_trace (bb, trace);
257 bb = trace[0];
258 traced_insns += bb->frequency * counts [bb->index];
259 if (blocks[bb->index])
261 fibheap_delete_node (heap, blocks[bb->index]);
262 blocks[bb->index] = NULL;
281 e = find_edge (bb, bb2);
284 bb2 = duplicate_block (bb2, e, bb);
296 bb->aux = bb2;
298 bb = bb2;
300 if (ignore_bb_p (bb))
326 basic_block bb = end->next_bb;
328 while (bb != EXIT_BLOCK_PTR)
348 for (; bb != EXIT_BLOCK_PTR; bb = bb->next_bb)
350 if (!bb->il.rtl->visited)
352 end->aux = bb;
353 bb->il.rtl->visited = 1;