Lines Matching refs:bb
91 bb_addr(bbcc->bb), in CLG_()
99 for(i=0;i<bbcc->bb->cost_count;i++) in CLG_()
101 for(i=0;i <= bbcc->bb->cjmp_count;i++) { in CLG_()
145 UInt bbcc_hash_idx(BB* bb, Context* cxt, UInt size) in bbcc_hash_idx() argument
147 CLG_ASSERT(bb != 0); in bbcc_hash_idx()
150 return ((Addr)bb + (Addr)cxt) % size; in bbcc_hash_idx()
157 BBCC* lookup_bbcc(BB* bb, Context* cxt) in lookup_bbcc() argument
159 BBCC* bbcc = bb->last_bbcc; in lookup_bbcc()
173 idx = bbcc_hash_idx(bb, cxt, current_bbccs.size); in lookup_bbcc()
176 (bb != bbcc->bb || in lookup_bbcc()
182 bb_addr(bb), cxt->base_number, cxt->fn[0]->name, in lookup_bbcc()
214 new_idx = bbcc_hash_idx(curr_BBCC->bb, in resize_bbcc_hash()
266 BBCC* new_bbcc(BB* bb) in new_bbcc() argument
276 (bb->cjmp_count+1) * sizeof(JmpData)); in new_bbcc()
277 bbcc->bb = bb; in new_bbcc()
282 bbcc->cost = CLG_(get_costarray)(bb->cost_count); in new_bbcc()
283 for(i=0;i<bb->cost_count;i++) in new_bbcc()
285 for(i=0; i<=bb->cjmp_count; i++) { in new_bbcc()
299 bb_addr(bb), bbcc, CLG_(stat).distinct_bbccs); in new_bbcc()
324 bb_addr(bbcc->bb), bbcc->cxt->fn[0]->name); in insert_bbcc_into_hash()
331 idx = bbcc_hash_idx(bbcc->bb, bbcc->cxt, current_bbccs.size); in insert_bbcc_into_hash()
380 bb_addr(orig->bb), rec_index, cxt->fn[0]->name); in clone_bbcc()
382 bbcc = new_bbcc(orig->bb); in clone_bbcc()
414 bbcc->next_bbcc = orig->bb->bbcc_list; in clone_bbcc()
415 orig->bb->bbcc_list = bbcc; in clone_bbcc()
426 orig, rec_index, bb_addr(orig->bb), in clone_bbcc()
444 BBCC* CLG_(get_bbcc)(BB* bb) in CLG_()
448 CLG_DEBUG(3, "+ get_bbcc(BB %#lx)\n", bb_addr(bb)); in CLG_()
450 bbcc = bb->bbcc_list; in CLG_()
453 bbcc = new_bbcc(bb); in CLG_()
460 bbcc->next_bbcc = bb->bbcc_list; in CLG_()
461 bb->bbcc_list = bbcc; in CLG_()
462 bb->last_bbcc = bbcc; in CLG_()
469 bb_addr(bb), bbcc); in CLG_()
487 static void handleUnderflow(BB* bb) in handleUnderflow() argument
502 source_bb = CLG_(get_bb)(bb_addr(bb)-1, 0, &seen_before); in handleUnderflow()
515 caller = CLG_(get_fn_node)(bb); in handleUnderflow()
561 void CLG_(setup_bbcc)(BB* bb) in CLG_()
574 CLG_DEBUG(3,"+ setup_bbcc(BB %#lx)\n", bb_addr(bb)); in CLG_()
596 last_bb = last_bbcc ? last_bbcc->bb : 0; in CLG_()
658 if (top_ce->ret_addr == bb_addr(bb)) break; in CLG_()
692 (bb->is_entry && (last_bb->fn != bb->fn)) || in CLG_()
694 bb->is_entry || in CLG_()
696 (last_bb->sect_kind != bb->sect_kind) || in CLG_()
697 (last_bb->obj->number != bb->obj->number)) { in CLG_()
701 bb->fn->name, bb->obj->name, in CLG_()
729 skip = CLG_(get_fn_node)(bb)->skip; in CLG_()
743 bb_addr(bb), sp); in CLG_()
757 handleUnderflow(bb); in CLG_()
784 CLG_(push_cxt)(CLG_(get_fn_node)(bb)); in CLG_()
789 bbcc = CLG_(get_bbcc)(bb); in CLG_()
808 ((bbcc->bb != bb) || in CLG_()
816 bbcc = lookup_bbcc(bb, CLG_(current_state).cxt); in CLG_()
818 bbcc = clone_bbcc(bb->bbcc_list, CLG_(current_state).cxt, 0); in CLG_()
820 bb->last_bbcc = bbcc; in CLG_()
866 passed = CLG_(current_state).bbcc->bb->cjmp_count; in CLG_()
900 CLG_(bb_base) = bb->obj->offset + bb->offset; in CLG_()
910 bb_addr(bb), bbcc->cost, bb->cost_count, in CLG_()
911 bb->instr_count, bb->instr_len); in CLG_()