/openbsd-src/gnu/gcc/gcc/ |
H A D | cfghooks.h | 32 void (*dump_bb) (basic_block, FILE *, int); 37 basic_block (*create_basic_block) (void *head, void *end, basic_block after); 43 edge (*redirect_edge_and_branch) (edge e, basic_block b); 48 basic_block (*redirect_edge_and_branch_force) (edge, basic_block); 51 void (*delete_basic_block) (basic_block); 55 basic_block (*split_block) (basic_block b, void * i); 58 bool (*move_block_after) (basic_block b, basic_block a); 61 bool (*can_merge_blocks_p) (basic_block a, basic_block b); 64 void (*merge_blocks) (basic_block a, basic_block b); 71 bool (*predicted_by_p) (basic_block bb, enum br_predictor predictor); [all …]
|
H A D | basic-block.h | 283 typedef struct basic_block_def *basic_block; typedef 285 DEF_VEC_P(basic_block); 286 DEF_VEC_ALLOC_P(basic_block,gc); 287 DEF_VEC_ALLOC_P(basic_block,heap); 350 basic_block bb_ = (bb); \ 366 basic_block x_entry_block_ptr; 367 basic_block x_exit_block_ptr; 370 VEC(basic_block,gc) *x_basic_block_info; 383 VEC(basic_block,gc) *x_label_to_block_map; 402 (VEC_index (basic_block, basic_block_info_for_function(FN), (N))) [all …]
|
H A D | tree-flow.h | 39 typedef struct basic_block_def *basic_block; typedef 301 basic_block bb; 346 static inline basic_block bb_for_stmt (tree); 347 extern void set_bb_for_stmt (tree, basic_block); 370 static inline tree phi_nodes (basic_block); 371 static inline void set_phi_nodes (basic_block, tree); 473 basic_block bb; 476 static inline block_stmt_iterator bsi_start (basic_block); 477 static inline block_stmt_iterator bsi_last (basic_block); 478 static inline block_stmt_iterator bsi_after_labels (basic_block); [all …]
|
H A D | cfghooks.c | 76 basic_block bb, last_bb_seen; in verify_flow_info() 77 basic_block *last_visited; in verify_flow_info() 80 last_visited = XCNEWVEC (basic_block, last_basic_block); in verify_flow_info() 236 dump_bb (basic_block bb, FILE *outf, int indent) in dump_bb() 283 redirect_edge_and_branch (edge e, basic_block dest) in redirect_edge_and_branch() 300 basic_block 301 redirect_edge_and_branch_force (edge e, basic_block dest) in redirect_edge_and_branch_force() 303 basic_block ret; in redirect_edge_and_branch_force() 319 split_block (basic_block bb, void *i) in split_block() 321 basic_block new_bb; in split_block() [all …]
|
H A D | dominance.c | 103 basic_block *dfs_to_bb; 117 static void calc_dfs_tree_nonrec (struct dom_info *, basic_block, 166 init_ar (di->dfs_to_bb, basic_block, num, 0); in init_dom_info() 202 calc_dfs_tree_nonrec (struct dom_info *di, basic_block bb, in calc_dfs_tree_nonrec() 213 basic_block en_block; in calc_dfs_tree_nonrec() 215 basic_block ex_block; in calc_dfs_tree_nonrec() 237 basic_block bn; in calc_dfs_tree_nonrec() 317 basic_block begin = reverse ? EXIT_BLOCK_PTR : ENTRY_BLOCK_PTR; in calc_dfs_tree() 336 basic_block b; in calc_dfs_tree() 477 basic_block en_block; in calc_idoms() [all …]
|
H A D | cfganal.c | 40 basic_block *stack; 53 basic_block); 54 static basic_block flow_dfs_compute_reverse_execute (depth_first_search_ds, 55 basic_block); 85 forwarder_block_p (basic_block bb) in forwarder_block_p() 105 can_fallthru (basic_block src, basic_block target) in can_fallthru() 133 could_fall_through (basic_block src, basic_block target) in could_fall_through() 189 basic_block src; in mark_dfs_back_edges() 190 basic_block dest; in mark_dfs_back_edges() 244 basic_block bb; in set_edge_can_fallthru_flag() [all …]
|
H A D | cfgloopmanip.c | 37 static void loop_redirect_edge (edge, basic_block); 39 static void remove_bbs (basic_block *, int); 40 static bool rpe_enum_p (basic_block, void *); 41 static int find_path (edge, basic_block **); 42 static bool alp_enum_p (basic_block, void *); 45 static bool fix_bb_placement (struct loops *, basic_block); 46 static void fix_bb_placements (struct loops *, basic_block, bool *); 49 static basic_block create_preheader (struct loop *, int); 56 rpe_enum_p (basic_block bb, void *data) in rpe_enum_p() 64 remove_bbs (basic_block *bbs, int nbbs) in remove_bbs() [all …]
|
H A D | domwalk.h | 57 basic_block, bool); 65 basic_block); 70 basic_block, block_stmt_iterator); 75 basic_block); 80 basic_block); 85 basic_block, block_stmt_iterator); 93 basic_block); 122 void walk_dominator_tree (struct dom_walk_data *, basic_block);
|
H A D | tracer.c | 53 static int count_insns (basic_block); 54 static bool ignore_bb_p (basic_block); 56 static edge find_best_successor (basic_block); 57 static edge find_best_predecessor (basic_block); 58 static int find_trace (basic_block, basic_block *); 73 ignore_bb_p (basic_block bb) in ignore_bb_p() 85 count_insns (basic_block bb) in count_insns() 118 find_best_successor (basic_block bb) in find_best_successor() 137 find_best_predecessor (basic_block bb) in find_best_predecessor() 158 find_trace (basic_block bb, basic_block *trace) in find_trace() [all …]
|
H A D | cfg.c | 110 basic_block bb; in clear_edges() 132 basic_block 135 basic_block bb; in alloc_block() 142 link_block (basic_block b, basic_block after) in link_block() 152 unlink_block (basic_block b) in unlink_block() 165 basic_block bb; in compact_blocks() 189 expunge_block (basic_block b) in expunge_block() 214 basic_block dest = e->dest; in connect_dest() 224 basic_block src = e->src; in disconnect_src() 247 basic_block dest = e->dest; in disconnect_dest() [all …]
|
H A D | tree-cfg.c | 97 static basic_block create_bb (void *, void *, basic_block); 103 static void make_cond_expr_edges (basic_block); 104 static void make_switch_expr_edges (basic_block); 105 static void make_goto_expr_edges (basic_block); 106 static edge tree_redirect_edge_and_branch (edge, basic_block); 107 static edge tree_try_redirect_by_replacing_jump (edge, basic_block); 115 static inline void change_bb_for_stmt (tree t, basic_block bb); 118 static void tree_merge_blocks (basic_block, basic_block); 119 static bool tree_can_merge_blocks_p (basic_block, basic_block); 120 static void remove_bb (basic_block); [all …]
|
H A D | cfgrtl.c | 67 static basic_block rtl_split_edge (edge); 68 static bool rtl_move_block_after (basic_block, basic_block); 70 static basic_block cfg_layout_split_block (basic_block, void *); 71 static edge cfg_layout_redirect_edge_and_branch (edge, basic_block); 72 static basic_block cfg_layout_redirect_edge_and_branch_force (edge, basic_block); 73 static void cfg_layout_delete_block (basic_block); 74 static void rtl_delete_block (basic_block); 75 static basic_block rtl_redirect_edge_and_branch_force (edge, basic_block); 76 static edge rtl_redirect_edge_and_branch (edge, basic_block); 77 static basic_block rtl_split_block (basic_block, void *); [all …]
|
H A D | tree-if-conv.c | 110 static bool if_convertible_phi_p (struct loop *, basic_block, tree); 111 static bool if_convertible_modify_expr_p (struct loop *, basic_block, tree); 112 static bool if_convertible_stmt_p (struct loop *, basic_block, tree); 113 static bool if_convertible_bb_p (struct loop *, basic_block, basic_block); 115 static void add_to_predicate_list (basic_block, tree); 120 static basic_block find_phi_replacement_condition (struct loop *loop, 121 basic_block, tree *, 123 static void replace_phi_with_cond_modify_expr (tree, tree, basic_block, 128 static bool pred_blocks_visited_p (basic_block, bitmap *); 129 static basic_block * get_loop_body_in_if_conv_order (const struct loop *loop); [all …]
|
H A D | sched-ebb.c | 58 static basic_block last_bb; 68 static basic_block earliest_block_with_similiar_load (basic_block, rtx); 70 static basic_block schedule_ebb (rtx, rtx); 73 static void add_block1 (basic_block, basic_block); 74 static basic_block advance_target_bb (basic_block, rtx); 78 static int ebb_head_or_leaf_p (basic_block, int); 133 basic_block bb; in begin_schedule_ready() 205 basic_block bb1 = BLOCK_FOR_INSN (insn1); in rank() 206 basic_block bb2 = BLOCK_FOR_INSN (insn2); in rank() 237 basic_block b = BLOCK_FOR_INSN (insn); in compute_jump_reg_dependencies() [all …]
|
H A D | cfgloop.h | 65 basic_block header; 68 basic_block latch; 189 int flow_loop_nodes_find (basic_block, struct loop *); 198 extern bool flow_bb_inside_loop_p (const struct loop *, const basic_block); 209 extern basic_block *get_loop_body (const struct loop *); 210 extern basic_block *get_loop_body_in_dom_order (const struct loop *); 211 extern basic_block *get_loop_body_in_bfs_order (const struct loop *); 218 extern void add_bb_to_loop (basic_block, struct loop *); 219 extern void remove_bb_from_loops (basic_block); 223 extern basic_block loop_split_edge_with (edge, rtx); [all …]
|
H A D | tree-cfgcleanup.c | 72 cleanup_control_expr_graph (basic_block bb, block_stmt_iterator bsi) in cleanup_control_expr_graph() 163 basic_block bb; 203 basic_block target_block; 259 tree_forwarder_block_p (basic_block bb, bool phi_wanted) in tree_forwarder_block_p() 264 basic_block dest; in tree_forwarder_block_p() 306 basic_block dest; in tree_forwarder_block_p() 338 has_abnormal_incoming_edge_p (basic_block bb) in has_abnormal_incoming_edge_p() 355 phi_alternatives_equal (basic_block dest, edge e1, edge e2) in phi_alternatives_equal() 381 remove_forwarder_block (basic_block bb, basic_block **worklist) in remove_forwarder_block() 384 basic_block dest = succ->dest; in remove_forwarder_block() [all …]
|
H A D | tree-ssa-phiopt.c | 39 static bool conditional_replacement (basic_block, basic_block, 41 static bool value_replacement (basic_block, basic_block, 43 static bool minmax_replacement (basic_block, basic_block, 45 static bool abs_replacement (basic_block, basic_block, 47 static void replace_phi_edge_with_variable (basic_block, edge, tree, tree); 48 static basic_block *blocks_in_phiopt_order (void); 139 basic_block bb; in tree_ssa_phiopt() 140 basic_block *bb_order; in tree_ssa_phiopt() 158 basic_block bb1, bb2; in tree_ssa_phiopt() 191 basic_block bb_tmp = bb1; in tree_ssa_phiopt() [all …]
|
/openbsd-src/gnu/usr.bin/gcc/gcc/ |
H A D | basic-block.h | 230 } *basic_block; typedef 295 #define REG_BASIC_BLOCK(N) (VARRAY_REG (reg_n_info, N)->basic_block) 322 extern void update_bb_for_insn PARAMS ((basic_block)); 326 extern edge split_block PARAMS ((basic_block, rtx)); 327 extern basic_block split_edge PARAMS ((edge)); 337 extern edge cached_make_edge PARAMS ((sbitmap *, basic_block, 338 basic_block, int)); 339 extern edge unchecked_make_edge PARAMS ((basic_block, 340 basic_block, int)); 341 extern edge make_edge PARAMS ((basic_block, [all …]
|
H A D | tracer.c | 49 static int count_insns PARAMS ((basic_block)); 50 static bool ignore_bb_p PARAMS ((basic_block)); 52 static edge find_best_successor PARAMS ((basic_block)); 53 static edge find_best_predecessor PARAMS ((basic_block)); 54 static int find_trace PARAMS ((basic_block, basic_block *)); 57 static bool ignore_bb_p PARAMS ((basic_block)); 71 basic_block bb; in ignore_bb_p() 84 basic_block bb; in count_insns() 117 basic_block bb; in find_best_successor() 136 basic_block bb; in find_best_predecessor() [all …]
|
H A D | bb-reorder.c | 97 static basic_block make_reorder_chain_1 PARAMS ((basic_block, basic_block)); 98 static basic_block maybe_duplicate_computed_goto_succ PARAMS ((basic_block)); 106 basic_block prev = NULL; in make_reorder_chain() 107 basic_block next, bb; in make_reorder_chain() 137 static inline basic_block 139 basic_block bb; in maybe_duplicate_computed_goto_succ() 142 basic_block next; 185 static basic_block 187 basic_block bb; in make_reorder_chain_1() 188 basic_block prev; [all …]
|
H A D | dominance.c | 108 basic_block *dfs_to_bb; 119 basic_block, 170 init_ar (di->dfs_to_bb, basic_block, num, 0); 206 basic_block bb; 217 basic_block en_block; 219 basic_block ex_block; 241 basic_block bn; 327 basic_block begin = reverse ? EXIT_BLOCK_PTR : ENTRY_BLOCK_PTR; 340 basic_block b; 467 basic_block en_block; [all …]
|
H A D | df.h | 239 extern void df_insn_modify PARAMS ((struct df *, basic_block, rtx)); 241 extern rtx df_insn_delete PARAMS ((struct df *, basic_block, rtx)); 244 basic_block, rtx)); 247 basic_block, rtx)); 250 basic_block, rtx)); 252 extern rtx df_insn_move_before PARAMS ((struct df *, basic_block, rtx, 253 basic_block, rtx)); 261 extern int df_insn_reg_replace PARAMS ((struct df *, basic_block, 264 extern int df_insn_mem_replace PARAMS ((struct df *, basic_block, 267 extern struct ref *df_bb_def_use_swap PARAMS ((struct df *, basic_block, [all …]
|
H A D | cfgloop.c | 36 static int flow_loop_nodes_find PARAMS ((basic_block, struct loop *)); 38 static basic_block flow_loop_pre_header_find PARAMS ((basic_block, 42 static basic_block make_forwarder_block PARAMS ((basic_block, int, int, 45 static bool glb_enum_p PARAMS ((basic_block, void *)); 46 static void redirect_edge_with_latch_update PARAMS ((edge, basic_block)); 57 basic_block bb; 114 basic_block *bbs; 275 basic_block node, *bbs; 291 basic_block dest = e->dest; 313 basic_block dest = e->dest; [all …]
|
H A D | cfganal.c | 36 basic_block *stack; 50 PARAMS ((depth_first_search_ds, basic_block)); 51 static basic_block flow_dfs_compute_reverse_execute 55 static void remove_fake_successors PARAMS ((basic_block)); 87 basic_block bb; in forwarder_block_p() 108 basic_block src, target; in can_fallthru() 165 basic_block src; in mark_dfs_back_edges() 166 basic_block dest; in mark_dfs_back_edges() 220 basic_block bb; in set_edge_can_fallthru_flag() 313 basic_block bb = EXIT_BLOCK_PTR->prev_bb; [all …]
|
H A D | cfglayout.h | 26 basic_block next; 27 basic_block original; 37 extern bool cfg_layout_can_duplicate_bb_p PARAMS ((basic_block)); 38 extern basic_block cfg_layout_duplicate_bb PARAMS ((basic_block, edge)); 41 extern void cfg_layout_redirect_edge PARAMS ((edge, basic_block));
|