edge split_block_after_labels(basic_block bb)
Definition cfghooks.cc:631
edge redirect_edge_succ_nodup(edge e, basic_block new_succ)
Definition cfghooks.cc:512
void dump_bb(FILE *outf, basic_block bb, int indent, dump_flags_t flags)
Definition cfghooks.cc:312
edge redirect_edge_and_branch(edge e, basic_block dest)
Definition cfghooks.cc:423
bool can_copy_bbs_p(basic_block *bbs, unsigned n, edge prevailing_exit)
Definition cfghooks.cc:1386
basic_block create_empty_bb(basic_block after)
Definition cfghooks.cc:814
void execute_on_growing_pred(edge e)
Definition cfghooks.cc:1302
basic_block create_basic_block(gimple_seq seq, basic_block after)
Definition cfghooks.cc:799
void copy_bbs(basic_block *bbs, unsigned n, basic_block *new_bbs, edge *edges, unsigned num_edges, edge *new_edges, class loop *base, basic_block after, bool update_dominance, edge prevailing_exit)
Definition cfghooks.cc:1464
void merge_blocks(basic_block a, basic_block b)
Definition cfghooks.cc:858
const struct cfg_hooks * get_cfg_hooks(void)
Definition cfghooks.cc:73
void profile_record_check_consistency(profile_record *record)
Definition cfghooks.cc:1586
basic_block force_nonfallthru(edge e)
Definition cfghooks.cc:1096
bool can_duplicate_block_p(const_basic_block bb)
Definition cfghooks.cc:1132
bool block_ends_with_call_p(basic_block bb)
Definition cfghooks.cc:1259
void lv_add_condition_to_bb(basic_block first, basic_block second, basic_block new_block, void *cond)
Definition cfghooks.cc:1373
DEBUG_FUNCTION void verify_flow_info(void)
Definition cfghooks.cc:115
void dump_flow_info(FILE *file, dump_flags_t flags)
Definition cfghooks.cc:397
void delete_basic_block(basic_block bb)
Definition cfghooks.cc:656
void set_cfg_hooks(const struct cfg_hooks *new_cfg_hooks)
Definition cfghooks.cc:79
void remove_edge(edge e)
Definition cfghooks.cc:483
void profile_record_account_profile(profile_record *record)
Definition cfghooks.cc:1670
void predict_edge(edge e, enum br_predictor predictor, int probability)
Definition cfghooks.cc:836
basic_block split_block_before_cond_jump(basic_block bb)
Definition cfghooks.cc:1575
bool can_remove_branch_p(const_edge e)
Definition cfghooks.cc:445
void execute_on_shrinking_pred(edge e)
Definition cfghooks.cc:1313
bool predicted_by_p(const_basic_block bb, enum br_predictor predictor)
Definition cfghooks.cc:846
void remove_branch(edge e)
Definition cfghooks.cc:462
edge split_block(basic_block bb, gimple *i)
Definition cfghooks.cc:617
void gimple_register_cfg_hooks(void)
Definition cfghooks.cc:67
edge make_forwarder_block(basic_block bb, bool(*redirect_edge_p)(edge, void *), void *data)
Definition cfghooks.cc:947
enum ir_type current_ir_type(void)
Definition cfghooks.cc:87
basic_block split_edge(edge e)
Definition cfghooks.cc:696
bool can_duplicate_block_on_edge_p(edge e)
Definition cfghooks.cc:1148
int flow_call_edges_add(sbitmap blocks)
Definition cfghooks.cc:1289
void lv_adjust_loop_header_phi(basic_block first, basic_block second, basic_block new_block, edge e)
Definition cfghooks.cc:1362
void extract_cond_bb_edges(basic_block b, edge *e1, edge *e2)
Definition cfghooks.cc:1353
bool can_merge_blocks_p(basic_block bb1, basic_block bb2)
Definition cfghooks.cc:822
void dump_bb_as_sarif_properties(diagnostics::sarif_builder *builder, json::object &output_bag, basic_block bb)
Definition cfghooks.cc:369
void dump_bb_for_graph(pretty_printer *pp, basic_block bb)
Definition cfghooks.cc:355
void tidy_fallthru_edges(void)
Definition cfghooks.cc:1051
basic_block duplicate_block(basic_block bb, edge e, basic_block after, copy_bb_data *id)
Definition cfghooks.cc:1179
bool block_ends_with_condjump_p(const_basic_block bb)
Definition cfghooks.cc:1271
basic_block redirect_edge_and_branch_force(edge e, basic_block dest)
Definition cfghooks.cc:537
void rtl_register_cfg_hooks(void)
Definition cfghooks.cc:52
void cfg_layout_rtl_register_cfg_hooks(void)
Definition cfghooks.cc:59
bool move_block_after(basic_block bb, basic_block after)
Definition cfghooks.cc:640
bool empty_block_p(basic_block bb)
Definition cfghooks.cc:1566
void lv_flush_pending_stmts(edge e)
Definition cfghooks.cc:1324
bool cfg_hook_duplicate_loop_body_to_header_edge(class loop *loop, edge e, unsigned int ndupl, sbitmap wont_exit, edge orig, vec< edge > *to_remove, int flags)
Definition cfghooks.cc:1338
void tidy_fallthru_edge(edge e)
Definition cfghooks.cc:1037
const struct cfg_hooks rtl_cfg_hooks
Definition cfgrtl.cc:5399
int_hash< unsigned short, 0 > dependence_hash
Definition cfghooks.h:63
const struct cfg_hooks gimple_cfg_hooks
Definition tree-cfg.cc:9407
void checking_verify_flow_info(void)
Definition cfghooks.h:217
const struct cfg_hooks cfg_layout_rtl_cfg_hooks
Definition cfgrtl.cc:5442
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:784
Definition pretty-print.h:241
struct basic_block_def * basic_block
Definition coretypes.h:351
struct rtx_def * rtx
Definition coretypes.h:57
class edge_def * edge
Definition coretypes.h:348
gimple * gimple_seq
Definition coretypes.h:100
ir_type
Definition coretypes.h:198
struct simple_bitmap_def * sbitmap
Definition coretypes.h:54
const class edge_def * const_edge
Definition coretypes.h:349
const struct basic_block_def * const_basic_block
Definition coretypes.h:352
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
basic_block(*) split_block(basic_block b, void *i)
Definition cfghooks.h:117
bool(*) move_block_after(basic_block b, basic_block a)
Definition cfghooks.h:120
bool(*) can_duplicate_block_p(const_basic_block a)
Definition cfghooks.h:136
edge(*) redirect_edge_and_branch(edge e, basic_block b)
Definition cfghooks.h:101
void(*) lv_adjust_loop_header_phi(basic_block, basic_block, basic_block, edge)
Definition cfghooks.h:188
bool(*) verify_flow_info(void)
Definition cfghooks.h:84
bool(*) can_merge_blocks_p(basic_block a, basic_block b)
Definition cfghooks.h:123
void(*) make_forwarder_block(edge)
Definition cfghooks.h:144
int(*) flow_call_edges_add(sbitmap)
Definition cfghooks.h:167
basic_block(*) split_block_before_cond_jump(basic_block)
Definition cfghooks.h:205
enum ir_type ir
Definition cfghooks.h:81
bool(*) block_ends_with_condjump_p(const_basic_block)
Definition cfghooks.h:158
void(*) dump_bb_for_graph(pretty_printer *, basic_block)
Definition cfghooks.h:86
basic_block(*) split_edge(edge)
Definition cfghooks.h:143
bool(*) cfg_hook_duplicate_loop_body_to_header_edge(class loop *, edge, unsigned, sbitmap, edge, vec< edge > *, int)
Definition cfghooks.h:179
void(*) execute_on_shrinking_pred(edge)
Definition cfghooks.h:175
void(*) delete_basic_block(basic_block)
Definition cfghooks.h:113
basic_block(*) duplicate_block(basic_block a, copy_bb_data *)
Definition cfghooks.h:139
bool(*) block_ends_with_call_p(basic_block)
Definition cfghooks.h:154
bool(*) empty_block_p(basic_block)
Definition cfghooks.h:201
void(*) lv_add_condition_to_bb(basic_block, basic_block, basic_block, void *)
Definition cfghooks.h:185
bool(*) predicted_by_p(const_basic_block bb, enum br_predictor predictor)
Definition cfghooks.h:133
void(*) dump_bb_as_sarif_properties(diagnostics::sarif_builder *, json::object &, basic_block)
Definition cfghooks.h:88
basic_block(*) force_nonfallthru(edge)
Definition cfghooks.h:150
void(*) extract_cond_bb_edges(basic_block, edge *, edge *)
Definition cfghooks.h:193
bool(*) can_remove_branch_p(const_edge)
Definition cfghooks.h:110
void(*) merge_blocks(basic_block a, basic_block b)
Definition cfghooks.h:126
void(*) tidy_fallthru_edge(edge)
Definition cfghooks.h:147
basic_block(*) create_basic_block(void *head, void *end, basic_block after)
Definition cfghooks.h:95
basic_block(*) redirect_edge_and_branch_force(edge, basic_block)
Definition cfghooks.h:106
void(*) dump_bb(FILE *, basic_block, int, dump_flags_t)
Definition cfghooks.h:85
void(*) predict_edge(edge e, enum br_predictor predictor, int probability)
Definition cfghooks.h:129
void(*) account_profile_record(basic_block, struct profile_record *)
Definition cfghooks.h:208
void(*) execute_on_growing_pred(edge)
Definition cfghooks.h:171
void(*) flush_pending_stmts(edge)
Definition cfghooks.h:198
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:58
#define bool
Definition system.h:891
T * end(vec< T, A, L > *v)
Definition vec.h:457