struct cfg_hooks get_cfg_hooks(void)
Definition cfghooks.cc:73
bool empty_block_p(basic_block)
Definition cfghooks.cc:1491
void delete_basic_block(basic_block)
Definition cfghooks.cc:645
void verify_flow_info(void)
Definition cfghooks.cc:105
bool can_merge_blocks_p(basic_block, basic_block)
Definition cfghooks.cc:809
basic_block create_basic_block(rtx, rtx, basic_block)
Definition cfghooks.cc:792
edge redirect_edge_and_branch(edge, basic_block)
Definition cfghooks.cc:413
void dump_bb_for_graph(pretty_printer *, basic_block)
Definition cfghooks.cc:345
basic_block create_empty_bb(basic_block)
Definition cfghooks.cc:801
void set_cfg_hooks(struct cfg_hooks)
Definition cfghooks.cc:79
bool block_ends_with_call_p(basic_block bb)
Definition cfghooks.cc:1222
struct cfg_hooks cfg_layout_rtl_cfg_hooks
Definition cfgrtl.cc:5434
int_hash< unsigned short, 0 > dependence_hash
Definition cfghooks.h:63
void merge_blocks(basic_block, basic_block)
Definition cfghooks.cc:842
edge make_forwarder_block(basic_block, bool(*)(edge), void(*)(basic_block))
Definition cfghooks.cc:929
basic_block redirect_edge_and_branch_force(edge, basic_block)
Definition cfghooks.cc:527
basic_block split_edge(edge)
Definition cfghooks.cc:684
void lv_add_condition_to_bb(basic_block, basic_block, basic_block, void *)
Definition cfghooks.cc:1335
void tidy_fallthru_edge(edge)
Definition cfghooks.cc:1023
void predict_edge(edge e, enum br_predictor predictor, int probability)
Definition cfghooks.cc:822
basic_block split_block_before_cond_jump(basic_block)
Definition cfghooks.cc:1500
int flow_call_edges_add(sbitmap)
Definition cfghooks.cc:1251
void lv_adjust_loop_header_phi(basic_block, basic_block, basic_block, edge)
Definition cfghooks.cc:1324
struct cfg_hooks rtl_cfg_hooks
Definition cfgrtl.cc:5391
void execute_on_shrinking_pred(edge)
Definition cfghooks.cc:1275
void remove_branch(edge)
Definition cfghooks.cc:452
void remove_edge(edge)
Definition cfghooks.cc:473
bool predicted_by_p(const_basic_block bb, enum br_predictor predictor)
Definition cfghooks.cc:831
void checking_verify_flow_info(void)
Definition cfghooks.h:217
bool cfg_hook_duplicate_loop_body_to_header_edge(class loop *loop, edge, unsigned int ndupl, sbitmap wont_exit, edge orig, vec< edge > *to_remove, int flags)
Definition cfghooks.cc:1300
void gimple_register_cfg_hooks(void)
Definition cfghooks.cc:67
bool can_remove_branch_p(const_edge)
Definition cfghooks.cc:435
void dump_flow_info(FILE *, dump_flags_t)
Definition cfghooks.cc:387
enum ir_type current_ir_type(void)
Definition cfghooks.cc:87
bool can_copy_bbs_p(basic_block *, unsigned)
Definition cfghooks.cc:1344
basic_block duplicate_block(basic_block, edge, basic_block, copy_bb_data *=NULL)
Definition cfghooks.cc:1142
bool can_duplicate_block_p(const_basic_block)
Definition cfghooks.cc:1118
void execute_on_growing_pred(edge)
Definition cfghooks.cc:1264
edge split_block(basic_block, rtx)
Definition cfghooks.cc:613
bool move_block_after(basic_block, basic_block)
Definition cfghooks.cc:630
void lv_flush_pending_stmts(edge)
Definition cfghooks.cc:1286
edge split_block_after_labels(basic_block)
Definition cfghooks.cc:621
void tidy_fallthru_edges(void)
Definition cfghooks.cc:1037
void dump_bb(FILE *, basic_block, int, dump_flags_t)
Definition cfghooks.cc:302
void dump_bb_as_sarif_properties(diagnostics::sarif_builder *, json::object &, basic_block)
Definition cfghooks.cc:359
edge redirect_edge_succ_nodup(edge, basic_block)
Definition cfghooks.cc:502
void profile_record_account_profile(profile_record *)
Definition cfghooks.cc:1595
bool block_ends_with_condjump_p(const_basic_block bb)
Definition cfghooks.cc:1233
void rtl_register_cfg_hooks(void)
Definition cfghooks.cc:52
void cfg_layout_rtl_register_cfg_hooks(void)
Definition cfghooks.cc:59
struct cfg_hooks gimple_cfg_hooks
Definition tree-cfg.cc:9360
void copy_bbs(basic_block *, unsigned, basic_block *, edge *, unsigned, edge *, class loop *, basic_block, bool)
Definition cfghooks.cc:1403
void profile_record_check_consistency(profile_record *)
Definition cfghooks.cc:1511
basic_block force_nonfallthru(edge)
Definition cfghooks.cc:1082
void extract_cond_bb_edges(basic_block, edge *, edge *)
Definition cfghooks.cc:1315
copy_bb_data()
Definition cfghooks.h:70
~copy_bb_data()
Definition cfghooks.h:71
hash_map< dependence_hash, unsigned short > * dependence_map
Definition cfghooks.h:75
Definition sarif-sink.cc:776
Definition pretty-print.h:241
struct basic_block_def * basic_block
Definition coretypes.h:372
struct rtx_def * rtx
Definition coretypes.h:57
class edge_def * edge
Definition coretypes.h:369
gimple * gimple_seq
Definition coretypes.h:100
ir_type
Definition coretypes.h:195
struct simple_bitmap_def * sbitmap
Definition coretypes.h:54
const class edge_def * const_edge
Definition coretypes.h:370
const struct basic_block_def * const_basic_block
Definition coretypes.h:373
enum dump_flag dump_flags_t
Definition dumpfile.h:209
i
Definition poly-int.h:776
Ca const poly_int< N, Cb > & b
Definition poly-int.h:771
Ca & a
Definition poly-int.h:770
br_predictor
Definition predict.h:38
void(* merge_blocks)(basic_block a, basic_block b)
Definition cfghooks.h:126
bool(* cfg_hook_duplicate_loop_body_to_header_edge)(class loop *, edge, unsigned, sbitmap, edge, vec< edge > *, int)
Definition cfghooks.h:179
void(* dump_bb_as_sarif_properties)(diagnostics::sarif_builder *, json::object &, basic_block)
Definition cfghooks.h:88
bool(* empty_block_p)(basic_block)
Definition cfghooks.h:201
void(* execute_on_growing_pred)(edge)
Definition cfghooks.h:171
void(* extract_cond_bb_edges)(basic_block, edge *, edge *)
Definition cfghooks.h:193
void(* lv_adjust_loop_header_phi)(basic_block, basic_block, basic_block, edge)
Definition cfghooks.h:188
void(* make_forwarder_block)(edge)
Definition cfghooks.h:144
bool(* can_merge_blocks_p)(basic_block a, basic_block b)
Definition cfghooks.h:123
bool(* can_duplicate_block_p)(const_basic_block a)
Definition cfghooks.h:136
bool(* predicted_by_p)(const_basic_block bb, enum br_predictor predictor)
Definition cfghooks.h:133
const char * name
Definition cfghooks.h:81
basic_block(* split_edge)(edge)
Definition cfghooks.h:143
bool(* can_remove_branch_p)(const_edge)
Definition cfghooks.h:110
basic_block(* create_basic_block)(void *head, void *end, basic_block after)
Definition cfghooks.h:95
void(* dump_bb)(FILE *, basic_block, int, dump_flags_t)
Definition cfghooks.h:85
bool(* verify_flow_info)(void)
Definition cfghooks.h:84
bool(* block_ends_with_condjump_p)(const_basic_block)
Definition cfghooks.h:158
void(* account_profile_record)(basic_block, struct profile_record *)
Definition cfghooks.h:208
void(* execute_on_shrinking_pred)(edge)
Definition cfghooks.h:175
basic_block(* split_block_before_cond_jump)(basic_block)
Definition cfghooks.h:205
basic_block(* duplicate_block)(basic_block a, copy_bb_data *)
Definition cfghooks.h:139
void(* dump_bb_for_graph)(pretty_printer *, basic_block)
Definition cfghooks.h:86
int(* flow_call_edges_add)(sbitmap)
Definition cfghooks.h:167
void(* flush_pending_stmts)(edge)
Definition cfghooks.h:198
edge(* redirect_edge_and_branch)(edge e, basic_block b)
Definition cfghooks.h:101
void(* lv_add_condition_to_bb)(basic_block, basic_block, basic_block, void *)
Definition cfghooks.h:185
basic_block(* redirect_edge_and_branch_force)(edge, basic_block)
Definition cfghooks.h:106
void(* delete_basic_block)(basic_block)
Definition cfghooks.h:113
basic_block(* split_block)(basic_block b, void *i)
Definition cfghooks.h:117
bool(* block_ends_with_call_p)(basic_block)
Definition cfghooks.h:154
void(* tidy_fallthru_edge)(edge)
Definition cfghooks.h:147
basic_block(* force_nonfallthru)(edge)
Definition cfghooks.h:150
bool(* move_block_after)(basic_block b, basic_block a)
Definition cfghooks.h:120
void(* predict_edge)(edge e, enum br_predictor predictor, int probability)
Definition cfghooks.h:129
Definition collect2.cc:175
int size
Definition cfghooks.h:57
bool fdo
Definition cfghooks.h:60
double dyn_mismatched_count_in
Definition cfghooks.h:49
double dyn_mismatched_prob_out
Definition cfghooks.h:46
bool run
Definition cfghooks.h:59
int num_mismatched_count_in
Definition cfghooks.h:55
double time
Definition cfghooks.h:43
int num_mismatched_prob_out
Definition cfghooks.h:52
#define NULL
Definition system.h:50
#define bool
Definition system.h:889
T * end(vec< T, A, L > *v)
Definition vec.h:457