| /freebsd-10-stable/contrib/gcc/ |
| 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 …]
|
| 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 …]
|
| 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 …]
|
| 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 …]
|
| 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 …]
|
| 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 …]
|
| 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 …]
|
| 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 …]
|
| 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 …]
|
| 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 …]
|
| 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);
|
| 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 …]
|
| 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 …]
|
| 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 …]
|
| 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 …]
|
| 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 …]
|
| 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 …]
|
| D | tree-ssa-dce.c | 116 static inline void set_control_dependence_map_bit (basic_block, int); 117 static inline void clear_control_dependence_bitmap (basic_block); 120 static inline basic_block find_pdom (basic_block); 128 static void mark_control_dependent_edges_necessary (basic_block, struct edge_list *); 132 static void remove_dead_phis (basic_block); 133 static void remove_dead_stmt (block_stmt_iterator *, basic_block); 141 set_control_dependence_map_bit (basic_block bb, int edge_index) in set_control_dependence_map_bit() 151 clear_control_dependence_bitmap (basic_block bb) in clear_control_dependence_bitmap() 174 basic_block current_block; in find_control_dependence() 175 basic_block ending_block; in find_control_dependence() [all …]
|
| D | sched-int.h | 208 void (*add_block) (basic_block, basic_block); 214 basic_block (*advance_target_bb) (basic_block, rtx); 231 int (*region_head_or_leaf_p) (basic_block, int); 332 basic_block recovery_block; 634 extern void get_ebb_head_tail (basic_block, basic_block, rtx *, rtx *); 646 extern void schedule_block (basic_block *, int); 652 extern void unlink_bb_notes (basic_block, basic_block); 653 extern void add_block (basic_block, basic_block); 655 extern rtx bb_note (basic_block);
|
| D | cfgloop.c | 48 static bool glb_enum_p (basic_block, void *); 56 basic_block bb; in flow_loops_cfg_dump() 124 basic_block *bbs; in flow_loop_dump() 224 flow_loop_nodes_find (basic_block header, struct loop *loop) in flow_loop_nodes_find() 226 basic_block *stack; in flow_loop_nodes_find() 235 stack = XNEWVEC (basic_block, n_basic_blocks); in flow_loop_nodes_find() 244 basic_block node; in flow_loop_nodes_find() 252 basic_block ancestor = e->src; in flow_loop_nodes_find() 275 basic_block bb; in mark_single_exit_loops() 428 update_latch_info (basic_block jump) in update_latch_info() [all …]
|
| D | cfgbuild.c | 51 static void make_edges (basic_block, basic_block, int); 52 static void make_label_edge (sbitmap, basic_block, rtx, int); 53 static void find_bb_boundaries (basic_block); 54 static void compute_outgoing_frequencies (basic_block); 187 make_label_edge (sbitmap edge_cache, basic_block src, rtx label, int flags) in make_label_edge() 205 rtl_make_eh_edge (sbitmap edge_cache, basic_block src, rtx insn) in rtl_make_eh_edge() 252 make_edges (basic_block min, basic_block max, int update_p) in make_edges() 254 basic_block bb; in make_edges() 433 basic_block prev = ENTRY_BLOCK_PTR; in find_basic_blocks_1() 518 basic_block bb; in find_basic_blocks() [all …]
|
| D | bb-reorder.c | 155 basic_block first, last; 170 static basic_block rotate_loop (edge, struct trace *, int); 171 static void mark_bb_visited (basic_block, int); 174 static basic_block copy_bb (basic_block, edge, basic_block, int); 175 static fibheapkey_t bb_to_key (basic_block); 176 static bool better_edge_p (basic_block, edge, int, int, int, int, edge); 178 static bool copy_bb_p (basic_block, int); 180 static bool push_to_next_round_p (basic_block, int, int, int, gcov_type); 200 push_to_next_round_p (basic_block bb, int round, int number_of_rounds, in push_to_next_round_p() 277 basic_block bb; in find_traces() [all …]
|
| D | cfgcleanup.c | 62 static bool try_crossjump_bb (int, basic_block); 63 static bool outgoing_edges_match (int, basic_block, basic_block); 64 static int flow_find_cross_jump (int, basic_block, basic_block, rtx *, rtx *); 67 static void merge_blocks_move_predecessor_nojumps (basic_block, basic_block); 68 static void merge_blocks_move_successor_nojumps (basic_block, basic_block); 70 static bool try_simplify_condjump (basic_block); 71 static bool try_forward_edges (int, basic_block); 72 static edge thread_jump (int, edge, basic_block); 74 static void notice_new_block (basic_block); 75 static void update_forwarder_flag (basic_block); [all …]
|
| D | tree-ssa-propagate.c | 133 static VEC(basic_block,heap) *cfg_blocks; 177 cfg_blocks_add (basic_block bb) in cfg_blocks_add() 192 if (cfg_blocks_num > VEC_length (basic_block, cfg_blocks)) in cfg_blocks_add() 199 cfg_blocks_tail = VEC_length (basic_block, cfg_blocks); in cfg_blocks_add() 201 VEC_safe_grow (basic_block, heap, cfg_blocks, 2 * cfg_blocks_tail); in cfg_blocks_add() 207 >= EDGE_COUNT (VEC_index (basic_block, cfg_blocks, in cfg_blocks_add() 210 % VEC_length (basic_block, cfg_blocks)); in cfg_blocks_add() 214 cfg_blocks_head = VEC_length (basic_block, cfg_blocks); in cfg_blocks_add() 220 VEC_replace (basic_block, cfg_blocks, in cfg_blocks_add() 229 static basic_block [all …]
|
| D | tree-vectorizer.c | 157 (edge, struct loop *, bool, basic_block *, bitmap *); 159 (edge, struct loop *, bool, basic_block *); 160 static edge slpeel_add_loop_guard (basic_block, tree, basic_block, basic_block); 163 static void rename_variables_in_bb (basic_block); 219 rename_variables_in_bb (basic_block bb) in rename_variables_in_bb() 254 basic_block *bbs; in rename_variables_in_loop() 506 bool is_new_loop, basic_block *new_exit_bb, in slpeel_update_phi_nodes_for_guard1() 512 basic_block new_merge_bb = guard_edge->dest; in slpeel_update_phi_nodes_for_guard1() 514 basic_block update_bb = e->dest; in slpeel_update_phi_nodes_for_guard1() 515 basic_block orig_bb = loop->header; in slpeel_update_phi_nodes_for_guard1() [all …]
|