Home
last modified time | relevance | path

Searched refs:basic_block (Results 1 – 25 of 227) sorted by relevance

12345678910

/openbsd-src/gnu/gcc/gcc/
H A Dcfghooks.h32 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 Dbasic-block.h283 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 Dtree-flow.h39 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 Dcfghooks.c76 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 Ddominance.c103 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 Dcfganal.c40 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 Dcfgloopmanip.c37 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 Ddomwalk.h57 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 Dtracer.c53 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 Dcfg.c110 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 Dtree-cfg.c97 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 Dcfgrtl.c67 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 Dtree-if-conv.c110 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 Dsched-ebb.c58 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 Dcfgloop.h65 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 Dtree-cfgcleanup.c72 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 Dtree-ssa-phiopt.c39 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 Dbasic-block.h230 } *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 Dtracer.c49 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 Dbb-reorder.c97 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 Ddominance.c108 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 Ddf.h239 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 Dcfgloop.c36 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 Dcfganal.c36 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 Dcfglayout.h26 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));

12345678910