| /openbsd-src/gnu/usr.bin/gcc/gcc/ |
| H A D | tracer.c | 66 #define seen(bb) (RBI (bb)->visited || RBI (bb)->next) argument 70 ignore_bb_p (bb) in ignore_bb_p() argument 71 basic_block bb; in ignore_bb_p() 73 if (bb->index < 0) 75 if (!maybe_hot_bb_p (bb)) 83 count_insns (bb) in count_insns() argument 84 basic_block bb; in count_insns() 89 for (insn = bb->head; insn != NEXT_INSN (bb->end); insn = NEXT_INSN (insn)) 116 find_best_successor (bb) in find_best_successor() argument 117 basic_block bb; in find_best_successor() [all …]
|
| H A D | cfglayout.c | 80 skip_insns_after_block (bb) in skip_insns_after_block() argument 81 basic_block bb; in skip_insns_after_block() 86 if (bb->next_bb != EXIT_BLOCK_PTR) 87 next_head = bb->next_bb->head; 89 for (last_insn = insn = bb->end; (insn = NEXT_INSN (insn)) != 0; ) 146 for (insn = last_insn; insn != bb->end; insn = prev) 168 label_for_bb (bb) in label_for_bb() argument 169 basic_block bb; in label_for_bb() 171 rtx label = bb->head; 176 fprintf (rtl_dump_file, "Emitting label for block %d\n", bb->index); [all …]
|
| H A D | cfgrtl.c | 258 basic_block bb; local 262 && (bb = NOTE_BASIC_BLOCK (bb_note)) != NULL 263 && bb->aux == NULL) 284 bb = alloc_block (); 303 NOTE_BASIC_BLOCK (bb_note) = bb; 310 bb->head = head; 311 bb->end = end; 312 bb->index = last_basic_block++; 313 bb->flags = BB_NEW; 314 link_block (bb, after); [all …]
|
| H A D | predict.c | 117 maybe_hot_bb_p (bb) in maybe_hot_bb_p() argument 118 basic_block bb; in maybe_hot_bb_p() 122 && (bb->count 126 if (bb->frequency < BB_FREQ_MAX / PARAM_VALUE (HOT_BB_FREQUENCY_FRACTION)) 134 probably_cold_bb_p (bb) in probably_cold_bb_p() argument 135 basic_block bb; in probably_cold_bb_p() 139 && (bb->count 143 if (bb->frequency < BB_FREQ_MAX / PARAM_VALUE (HOT_BB_FREQUENCY_FRACTION)) 150 probably_never_executed_bb_p (bb) in probably_never_executed_bb_p() argument 151 basic_block bb; in probably_never_executed_bb_p() [all …]
|
| H A D | cfgbuild.c | 285 basic_block bb; local 300 FOR_BB_BETWEEN (bb, min, max->next_bb, next_bb) 304 for (e = bb->succ; e ; e = e->succ_next) 306 SET_BIT (edge_cache[bb->index], e->dest->index); 316 FOR_BB_BETWEEN (bb, min, max->next_bb, next_bb) 322 if (GET_CODE (bb->head) == CODE_LABEL && LABEL_ALT_ENTRY_P (bb->head)) 323 cached_make_edge (NULL, ENTRY_BLOCK_PTR, bb, 0); 328 insn = bb->end; 338 make_eh_edge (edge_cache, bb, insn); 361 make_label_edge (edge_cache, bb, [all …]
|
| H A D | cfg.c | 176 basic_block bb; in clear_edges() local 179 FOR_EACH_BB (bb) in clear_edges() 181 edge e = bb->succ; in clear_edges() 191 bb->succ = NULL; in clear_edges() 192 bb->pred = NULL; in clear_edges() 216 basic_block bb; in alloc_block() local 220 bb = first_deleted_block; in alloc_block() 221 first_deleted_block = (basic_block) bb->succ; in alloc_block() 222 bb->succ = NULL; in alloc_block() 226 bb = (basic_block) obstack_alloc (&flow_obstack, sizeof *bb); in alloc_block() [all …]
|
| H A D | bb-reorder.c | 107 basic_block next, bb; in make_reorder_chain() local 121 FOR_EACH_BB (bb) in make_reorder_chain() 122 if (! RBI (bb)->visited) in make_reorder_chain() 124 next = bb; in make_reorder_chain() 138 maybe_duplicate_computed_goto_succ (bb) in maybe_duplicate_computed_goto_succ() argument 139 basic_block bb; in maybe_duplicate_computed_goto_succ() 151 e = bb->succ; 167 next->index, bb->index); 186 make_reorder_chain_1 (bb, prev) in make_reorder_chain_1() argument 187 basic_block bb; in make_reorder_chain_1() [all …]
|
| H A D | df.c | 395 basic_block bb; local 411 FOR_EACH_BB (bb) 413 struct bb_info *bb_info = DF_BB_INFO (df, bb); 461 basic_block bb; local 463 FOR_EACH_BB (bb) 465 struct bb_info *bb_info = DF_BB_INFO (df, bb); 520 basic_block bb; local 558 FOR_EACH_BB (bb) 559 bitmap_set_bit (df->all_blocks, bb->index); 925 df_def_record_1 (df, x, bb, insn) in df_def_record_1() argument [all …]
|
| H A D | profile.c | 115 #define BB_TO_GCOV_INDEX(bb) ((bb) == ENTRY_BLOCK_PTR ? 0 \ argument 116 : ((bb) == EXIT_BLOCK_PTR \ 117 ? last_basic_block + 1 : (bb)->index + 1)) 180 basic_block bb; local 183 FOR_BB_BETWEEN (bb, ENTRY_BLOCK_PTR, NULL, next_bb) 185 edge e = bb->succ; 256 basic_block bb; in get_exec_counts() local 275 FOR_BB_BETWEEN (bb, ENTRY_BLOCK_PTR, NULL, next_bb) in get_exec_counts() 278 for (e = bb->succ; e; e = e->succ_next) in get_exec_counts() 421 basic_block bb; in compute_branch_probabilities() local [all …]
|
| H A D | lcm.c | 110 basic_block bb; local 127 FOR_EACH_BB_REVERSE (bb) 129 *qin++ =bb; 130 bb->aux = bb; 146 bb = *qout++; 152 if (bb->aux == EXIT_BLOCK_PTR) 156 sbitmap_zero (antout[bb->index]); 161 bb->aux = NULL; 162 sbitmap_intersection_of_succs (antout[bb->index], antin, bb->index); 165 if (sbitmap_a_or_b_and_c_cg (antin[bb->index], antloc[bb->index], [all …]
|
| H A D | cfganal.c | 86 forwarder_block_p (bb) in forwarder_block_p() argument 87 basic_block bb; in forwarder_block_p() 91 if (bb == EXIT_BLOCK_PTR || bb == ENTRY_BLOCK_PTR 92 || !bb->succ || bb->succ->succ_next) 95 for (insn = bb->head; insn != bb->end; insn = NEXT_INSN (insn)) 220 basic_block bb; in set_edge_can_fallthru_flag() local 222 FOR_EACH_BB (bb) in set_edge_can_fallthru_flag() 226 for (e = bb->succ; e; e = e->succ_next) in set_edge_can_fallthru_flag() 237 if (!bb->succ || !bb->succ->succ_next || bb->succ->succ_next->succ_next) in set_edge_can_fallthru_flag() 239 if (!any_condjump_p (bb->end)) in set_edge_can_fallthru_flag() [all …]
|
| /openbsd-src/gnu/gcc/gcc/ |
| H A D | tracer.c | 69 #define seen(bb) (bb->il.rtl->visited || bb->aux) argument 73 ignore_bb_p (basic_block bb) in ignore_bb_p() argument 75 if (bb->index < NUM_FIXED_BLOCKS) in ignore_bb_p() 77 if (!maybe_hot_bb_p (bb)) in ignore_bb_p() 85 count_insns (basic_block bb) in count_insns() argument 90 for (insn = BB_HEAD (bb); in count_insns() 91 insn != NEXT_INSN (BB_END (bb)); in count_insns() 118 find_best_successor (basic_block bb) in find_best_successor() argument 124 FOR_EACH_EDGE (e, ei, bb->succs) in find_best_successor() 137 find_best_predecessor (basic_block bb) in find_best_predecessor() argument [all …]
|
| H A D | cfglayout.c | 81 skip_insns_after_block (basic_block bb) in skip_insns_after_block() argument 86 if (bb->next_bb != EXIT_BLOCK_PTR) in skip_insns_after_block() 87 next_head = BB_HEAD (bb->next_bb); in skip_insns_after_block() 89 for (last_insn = insn = BB_END (bb); (insn = NEXT_INSN (insn)) != 0; ) in skip_insns_after_block() 145 for (insn = last_insn; insn != BB_END (bb); insn = prev) in skip_insns_after_block() 166 label_for_bb (basic_block bb) in label_for_bb() argument 168 rtx label = BB_HEAD (bb); in label_for_bb() 173 fprintf (dump_file, "Emitting label for block %d\n", bb->index); in label_for_bb() 175 label = block_label (bb); in label_for_bb() 188 basic_block bb; in record_effective_endpoints() local [all …]
|
| H A D | cfghooks.c | 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() [all …]
|
| H A D | tree-cfgcleanup.c | 72 cleanup_control_expr_graph (basic_block bb, block_stmt_iterator bsi) in cleanup_control_expr_graph() argument 78 if (!single_succ_p (bb)) in cleanup_control_expr_graph() 105 taken_edge = find_taken_edge (bb, val); in cleanup_control_expr_graph() 114 for (ei = ei_start (bb->succs); (e = ei_safe_edge (ei)); ) in cleanup_control_expr_graph() 139 taken_edge = single_succ_edge (bb); in cleanup_control_expr_graph() 163 basic_block bb; local 172 bb = bb_for_stmt (stmt); 173 if (bb != NULL && last_stmt (bb) != stmt && noreturn_call_p (stmt)) 174 split_block (bb, stmt); 177 FOR_EACH_BB (bb) [all …]
|
| H A D | cfgbuild.c | 254 basic_block bb; in make_edges() local 268 FOR_BB_BETWEEN (bb, min, max->next_bb, next_bb) in make_edges() 275 if (STATE (bb) == BLOCK_ORIGINAL) in make_edges() 284 FOR_EACH_EDGE (e, ei, bb->succs) in make_edges() 290 if (LABEL_P (BB_HEAD (bb)) in make_edges() 291 && LABEL_ALT_ENTRY_P (BB_HEAD (bb))) in make_edges() 292 cached_make_edge (NULL, ENTRY_BLOCK_PTR, bb, 0); in make_edges() 297 insn = BB_END (bb); in make_edges() 307 rtl_make_eh_edge (edge_cache, bb, insn); in make_edges() 326 make_label_edge (edge_cache, bb, in make_edges() [all …]
|
| H A D | cfgrtl.c | 248 basic_block bb; in create_basic_block_structure() local 251 && (bb = NOTE_BASIC_BLOCK (bb_note)) != NULL in create_basic_block_structure() 252 && bb->aux == NULL) in create_basic_block_structure() 273 bb = alloc_block (); in create_basic_block_structure() 275 init_rtl_bb_info (bb); in create_basic_block_structure() 293 NOTE_BASIC_BLOCK (bb_note) = bb; in create_basic_block_structure() 300 BB_HEAD (bb) = head; in create_basic_block_structure() 301 BB_END (bb) = end; in create_basic_block_structure() 302 bb->index = last_basic_block++; in create_basic_block_structure() 303 bb->flags = BB_NEW | BB_RTL; in create_basic_block_structure() [all …]
|
| H A D | cfg.c | 110 basic_block bb; in clear_edges() local 114 FOR_EACH_BB (bb) in clear_edges() 116 FOR_EACH_EDGE (e, ei, bb->succs) in clear_edges() 118 VEC_truncate (edge, bb->succs, 0); in clear_edges() 119 VEC_truncate (edge, bb->preds, 0); in clear_edges() 135 basic_block bb; in alloc_block() local 136 bb = ggc_alloc_cleared (sizeof (*bb)); in alloc_block() 137 return bb; in alloc_block() 165 basic_block bb; in compact_blocks() local 171 FOR_EACH_BB (bb) in compact_blocks() [all …]
|
| H A D | profile.c | 137 basic_block bb; in instrument_edges() local 139 FOR_BB_BETWEEN (bb, ENTRY_BLOCK_PTR, NULL, next_bb) in instrument_edges() 144 FOR_EACH_EDGE (e, ei, bb->succs) in instrument_edges() 232 basic_block bb; in get_exec_counts() local 236 FOR_BB_BETWEEN (bb, ENTRY_BLOCK_PTR, NULL, next_bb) in get_exec_counts() 241 FOR_EACH_EDGE (e, ei, bb->succs) in get_exec_counts() 264 basic_block bb; in compute_branch_probabilities() local 294 FOR_BB_BETWEEN (bb, ENTRY_BLOCK_PTR, NULL, next_bb) in compute_branch_probabilities() 299 FOR_EACH_EDGE (e, ei, bb->succs) in compute_branch_probabilities() 301 BB_INFO (bb)->succ_count++; in compute_branch_probabilities() [all …]
|
| H A D | sched-ebb.c | 133 basic_block bb; in begin_schedule_ready() local 165 bb = split_edge (e); in begin_schedule_ready() 166 gcc_assert (NOTE_INSN_BASIC_BLOCK_P (BB_END (bb))); in begin_schedule_ready() 170 bb = create_basic_block (NEXT_INSN (insn), NULL_RTX, last_bb); in begin_schedule_ready() 176 current_sched_info->next_tail = NEXT_INSN (BB_END (bb)); in begin_schedule_ready() 179 add_block (bb, last_bb); in begin_schedule_ready() 180 gcc_assert (last_bb == bb); in begin_schedule_ready() 304 basic_block bb, earliest_block = NULL; in earliest_block_with_similiar_load() local 335 for (bb = last_block; bb; bb = bb->aux) in earliest_block_with_similiar_load() 336 if (insn2_block == bb) in earliest_block_with_similiar_load() [all …]
|
| H A D | tree-if-conv.c | 145 basic_block bb; in tree_if_conversion() local 171 bb = ifc_bbs [i]; in tree_if_conversion() 174 cond = bb->aux; in tree_if_conversion() 179 for (itr = bsi_start (bb); !bsi_end_p (itr); /* empty */) in tree_if_conversion() 189 if (single_succ_p (bb)) in tree_if_conversion() 191 basic_block bb_n = single_succ (bb); in tree_if_conversion() 302 if_convertible_phi_p (struct loop *loop, basic_block bb, tree phi) in if_convertible_phi_p() argument 310 if (bb != loop->header && PHI_NUM_ARGS (phi) != 2) in if_convertible_phi_p() 344 if_convertible_modify_expr_p (struct loop *loop, basic_block bb, tree m_expr) in if_convertible_modify_expr_p() argument 361 if (bb != loop->header in if_convertible_modify_expr_p() [all …]
|
| H A D | predict.c | 118 maybe_hot_bb_p (basic_block bb) in maybe_hot_bb_p() argument 121 && (bb->count in maybe_hot_bb_p() 124 if (bb->frequency < BB_FREQ_MAX / PARAM_VALUE (HOT_BB_FREQUENCY_FRACTION)) in maybe_hot_bb_p() 132 probably_cold_bb_p (basic_block bb) in probably_cold_bb_p() argument 135 && (bb->count in probably_cold_bb_p() 138 if (bb->frequency < BB_FREQ_MAX / PARAM_VALUE (HOT_BB_FREQUENCY_FRACTION)) in probably_cold_bb_p() 145 probably_never_executed_bb_p (basic_block bb) in probably_never_executed_bb_p() argument 148 return ((bb->count + profile_info->runs / 2) / profile_info->runs) == 0; in probably_never_executed_bb_p() 156 rtl_predicted_by_p (basic_block bb, enum br_predictor predictor) in rtl_predicted_by_p() argument 159 if (!INSN_P (BB_END (bb))) in rtl_predicted_by_p() [all …]
|
| H A D | domwalk.c | 143 walk_dominator_tree (struct dom_walk_data *walk_data, basic_block bb) in walk_dominator_tree() argument 155 if (EDGE_COUNT (bb->preds) > 0 || bb == ENTRY_BLOCK_PTR) in walk_dominator_tree() 162 bb->index); in walk_dominator_tree() 186 walk_data->initialize_block_local_data (walk_data, bb, in walk_dominator_tree() 194 (*walk_data->before_dom_children_before_stmts) (walk_data, bb); in walk_dominator_tree() 200 for (bsi = bsi_last (bb); !bsi_end_p (bsi); bsi_prev (&bsi)) in walk_dominator_tree() 201 (*walk_data->before_dom_children_walk_stmts) (walk_data, bb, in walk_dominator_tree() 204 for (bsi = bsi_start (bb); !bsi_end_p (bsi); bsi_next (&bsi)) in walk_dominator_tree() 205 (*walk_data->before_dom_children_walk_stmts) (walk_data, bb, in walk_dominator_tree() 212 (*walk_data->before_dom_children_after_stmts) (walk_data, bb); in walk_dominator_tree() [all …]
|
| H A D | bb-reorder.c | 200 push_to_next_round_p (basic_block bb, int round, int number_of_rounds, in push_to_next_round_p() argument 208 block_not_hot_enough = (bb->frequency < exec_th in push_to_next_round_p() 209 || bb->count < count_th in push_to_next_round_p() 210 || probably_never_executed_bb_p (bb)); in push_to_next_round_p() 277 basic_block bb; in find_traces() local 280 for (bb = traces[i].first; bb != traces[i].last; bb = bb->aux) in find_traces() 281 fprintf (dump_file, "%d [%d] ", bb->index, bb->frequency); in find_traces() 282 fprintf (dump_file, "%d [%d]\n", bb->index, bb->frequency); in find_traces() 294 basic_block bb; in rotate_loop() local 306 bb = back_edge->dest; in rotate_loop() [all …]
|
| H A D | lcm.c | 101 basic_block bb; in compute_antinout_edge() local 118 FOR_EACH_BB_REVERSE (bb) in compute_antinout_edge() 120 *qin++ = bb; in compute_antinout_edge() 121 bb->aux = bb; in compute_antinout_edge() 137 bb = *qout++; in compute_antinout_edge() 143 if (bb->aux == EXIT_BLOCK_PTR) in compute_antinout_edge() 147 sbitmap_zero (antout[bb->index]); in compute_antinout_edge() 152 bb->aux = NULL; in compute_antinout_edge() 153 sbitmap_intersection_of_succs (antout[bb->index], antin, bb->index); in compute_antinout_edge() 156 if (sbitmap_a_or_b_and_c_cg (antin[bb->index], antloc[bb->index], in compute_antinout_edge() [all …]
|