GCC Middle and Back End API Reference
|
Public Member Functions | |
rt_bb_visited (int checkpoints) | |
void | insert_exit_check_in_block (gimple_seq seq, basic_block insbb) |
void | insert_exit_check_on_edge (gimple_seq seq, edge e) |
void | check (chk_edges_t &chk_edges, int count_chkcall, auto_sbitmap const &chkcall_blocks) |
bool | push_rtcfg_pair (basic_block ibb, basic_block bb, basic_block xself) |
void | build_block_check (basic_block obb) |
void | visit (basic_block bb, bool checkpoint, bool postcheck) |
Private Types | |
typedef size_t | blknum |
Private Member Functions | |
blknum | num2idx (blknum n) |
blknum | bb2idx (basic_block bb) |
tree | vtype () |
tree | vwordidx (basic_block bb, tree *bitp=NULL) |
tree | vword (basic_block bb, tree *bitp=NULL) |
tree | vindex (basic_block bb, gimple_seq *seqp) |
gimple_seq | vset (basic_block bb, gimple_seq seq=NULL) |
Private Attributes | |
blknum | nblocks |
unsigned | vword_bits |
tree | vword_type |
tree | vword_ptr |
gimple_seq | ckseq |
tree | rtcfg |
tree | visited |
tree | ckfail |
tree | ckpart |
tree | ckinv |
tree | ckblk |
tree | vfalse |
tree | vtrue |
|
private |
|
inline |
References add_builtin_function_ext_scope(), boolean_false_node, boolean_type_node, build_function_type_list(), build_pointer_type(), build_qualified_type(), build_tree_list(), build_variant_type_copy(), BUILT_IN_NORMAL, builtin_decl_explicit(), ckblk, ckfail, ckinv, ckpart, ckseq, create_tmp_var, gcc_assert, gcc_checking_assert, ggc_alloc(), gimple_build_assign(), gimple_seq_add_stmt(), HOST_BITS_PER_WIDE_INT, nblocks, new_alias_set(), NULL_TREE, num2idx(), NUM_FIXED_BLOCKS, rtcfg, set_builtin_decl(), sizetype, TREE_CHAIN, TREE_NOTHROW, tree_to_shwi(), TREE_TYPE, TREE_VALUE, TYPE_ALIAS_SET, TYPE_ARG_TYPES, lang_hooks_for_types::type_for_mode, TYPE_MAIN_VARIANT, TYPE_QUAL_CONST, TYPE_SIZE, lang_hooks::types, visited, void_type_node, vtype(), vword_bits, vword_ptr, and vword_type.
|
inlineprivate |
References cfun, ENTRY_BLOCK_PTR_FOR_FN, EXIT_BLOCK_PTR_FOR_FN, gcc_checking_assert, basic_block_def::index, nblocks, and num2idx().
Referenced by vwordidx().
|
inline |
References boolean_false_node, ckblk, ckinv, ckpart, ckseq, fold_convert, ggc_alloc(), gimple_build_assign(), gimple_seq_add_stmt(), TREE_TYPE, and vindex().
Referenced by visit().
|
inline |
References add_bb_to_loop(), profile_probability::always(), BASIC_BLOCK_FOR_FN, BB_PARTITION, BB_SET_PARTITION, bitmap_bit_p, boolean_false_node, build1(), build_array_type_nelts(), build_clobber(), build_constructor_from_list(), build_decl(), build_int_cst(), build_pointer_type(), builtin_decl_explicit(), CDI_DOMINATORS, cfun, ckfail, ckseq, CONSTRUCTOR_NELTS, create_empty_bb(), current_function_funcdef_no, current_loops, DECL_ARTIFICIAL, DECL_IGNORED_P, DECL_INITIAL, dom_info_available_p(), dump_file, ENTRY_BLOCK_PTR_FOR_FN, EXECUTE_IF_SET_IN_BITMAP, EXIT_BLOCK_PTR_FOR_FN, varpool_node::finalize_decl(), fold_convert, gcc_checking_assert, get_identifier(), ggc_alloc(), gimple_bb(), gimple_build_assign(), gimple_build_call(), gimple_build_cond(), gimple_seq_add_stmt(), gimple_seq_copy(), gsi_after_labels(), gsi_bb(), gsi_for_stmt(), gsi_insert_after(), gsi_insert_before(), gsi_insert_seq_on_edge_immediate(), gsi_one_before_end_p(), GSI_SAME_STMT, gsi_stmt(), i, basic_block_def::index, insert_exit_check_in_block(), insert_exit_check_on_edge(), integer_zero_node, last, make_decl_rtl(), make_edge(), nblocks, profile_probability::never(), nreverse(), NULL, NULL_TREE, num2idx(), rtcfg, set_immediate_dominator(), single_pred_edge(), single_succ_edge(), sizetype, split_block(), TREE_ADDRESSABLE, TREE_CHAIN, tree_cons(), TREE_PURPOSE, TREE_READONLY, TREE_STATIC, TREE_TYPE, TREE_USED, TYPE_SIZE_UNIT, UNKNOWN_LOCATION, visited, vword_ptr, and vword_type.
|
inline |
References ggc_alloc(), gsi_end_p(), gsi_insert_seq_before(), gsi_last_bb(), gsi_prev(), GSI_SAME_STMT, and gsi_stmt().
Referenced by check().
|
inline |
References add_bb_to_loop(), add_phi_arg(), profile_probability::always(), boolean_false_node, boolean_true_node, boolean_type_node, CDI_DOMINATORS, cfun, basic_block_def::count, create_empty_bb(), create_phi_node(), current_loops, dom_info_available_p(), EDGE_COUNT, EDGE_PRED, ENTRY_BLOCK_PTR_FOR_FN, ggc_alloc(), gimple_build_assign(), gimple_build_cond(), gimple_seq_add_stmt(), gsi_after_labels(), gsi_insert_before(), gsi_insert_seq_before_without_update(), gsi_insert_seq_on_edge_immediate(), GSI_SAME_STMT, i, make_edge(), make_ssa_name(), NULL, basic_block_def::preds, set_immediate_dominator(), single_succ_edge(), split_block_after_labels(), UNKNOWN_LOCATION, vfalse, and vtrue.
Referenced by check().
References gcc_checking_assert, nblocks, and NUM_FIXED_BLOCKS.
Referenced by bb2idx(), check(), rt_bb_visited(), and vtype().
|
inline |
References ggc_alloc(), int_const_binop(), rtcfg, TREE_CHAIN, tree_cons(), tree_int_cst_equal(), TREE_PURPOSE, TREE_VALUE, and vwordidx().
Referenced by visit().
|
inlineprivate |
References boolean_true_node, boolean_type_node, build2(), build_int_cst(), cfun, create_tmp_var, ENTRY_BLOCK_PTR_FOR_FN, EXIT_BLOCK_PTR_FOR_FN, ggc_alloc(), gimple_build_assign(), gimple_seq_add_stmt(), vword(), and vword_type.
Referenced by build_block_check(), and visit().
|
inline |
References build_block_check(), build_int_cst(), cfun, ckfail, ckpart, ckseq, EDGE_COUNT, EDGE_PRED, EDGE_SUCC, ENTRY_BLOCK_PTR_FOR_FN, EXIT_BLOCK_PTR_FOR_FN, fold_convert, ggc_alloc(), gimple_build_assign(), gimple_seq_add_stmt(), gsi_after_labels(), gsi_insert_seq_before(), GSI_SAME_STMT, i, NULL_TREE, basic_block_def::preds, push_rtcfg_pair(), rtcfg, basic_block_def::succs, tree_cons(), TREE_TYPE, unshare_expr(), vindex(), vset(), and vword_type.
|
inlineprivate |
References build_string(), build_tree_list(), create_tmp_var, ggc_alloc(), gimple_build_asm_vec(), gimple_build_assign(), gimple_seq_add_stmt(), NULL, NULL_TREE, unshare_expr(), vec_safe_push(), visited, vword(), and vword_type.
Referenced by visit().
|
inlineprivate |
References build_array_type_nelts(), nblocks, num2idx(), vword_bits, and vword_type.
Referenced by rt_bb_visited().
|
inlineprivate |
References build1(), build2(), fold_convert, ggc_alloc(), int_const_binop(), TYPE_SIZE_UNIT, visited, vword_ptr, vword_type, and vwordidx().
|
inlineprivate |
References bb2idx(), build_int_cst(), ggc_alloc(), wi::set_bit_in_zero(), vword_bits, vword_ptr, vword_type, and wide_int_to_tree().
Referenced by push_rtcfg_pair(), and vword().
|
private |
Referenced by build_block_check(), and rt_bb_visited().
|
private |
Referenced by check(), rt_bb_visited(), and visit().
|
private |
Referenced by build_block_check(), and rt_bb_visited().
|
private |
Referenced by build_block_check(), rt_bb_visited(), and visit().
|
private |
Referenced by build_block_check(), check(), rt_bb_visited(), and visit().
|
private |
Referenced by bb2idx(), check(), num2idx(), rt_bb_visited(), and vtype().
|
private |
Referenced by check(), push_rtcfg_pair(), rt_bb_visited(), and visit().
|
private |
Referenced by insert_exit_check_on_edge().
|
private |
Referenced by check(), rt_bb_visited(), vset(), and vword().
|
private |
Referenced by insert_exit_check_on_edge().
|
private |
Referenced by rt_bb_visited(), vtype(), and vwordidx().
|
private |
Referenced by check(), rt_bb_visited(), vword(), and vwordidx().
|
private |
Referenced by check(), rt_bb_visited(), vindex(), visit(), vset(), vtype(), vword(), and vwordidx().