#include "config.h"#include "errors.h"#include "system.h"#include "coretypes.h"#include "tm.h"#include "hard-reg-set.h"#include "rtl.h"#include "tree.h"#include "tm_p.h"#include "basic-block.h"#include "flags.h"#include "function.h"#include "tree-inline.h"#include "tree-gimple.h"#include "tree-flow.h"#include "tree-mudflap.h"#include "tree-dump.h"#include "tree-pass.h"#include "hashtab.h"#include "diagnostic.h"#include <demangle.h>#include "langhooks.h"#include "ggc.h"#include "cgraph.h"#include "gt-tree-mudflap.h"

Go to the source code of this file.
| #define build_function_type_0 | ( | rtype | ) | build_function_type (rtype, void_list_node) |
| #define build_function_type_1 | ( | rtype, | |||
| arg1 | ) | build_function_type (rtype, tree_cons (0, arg1, void_list_node)) |
| #define build_function_type_3 | ( | rtype, | |||
| arg1, | |||||
| arg2, | |||||
| arg3 | ) |
Value:
build_function_type (rtype, tree_cons (0, arg1, tree_cons (0, arg2, \ tree_cons (0, arg3, void_list_node))))
Definition at line 330 of file tree-mudflap.c.
Referenced by mudflap_init().
| #define build_function_type_4 | ( | rtype, | |||
| arg1, | |||||
| arg2, | |||||
| arg3, | |||||
| arg4 | ) |
Value:
build_function_type (rtype, tree_cons (0, arg1, tree_cons (0, arg2, \ tree_cons (0, arg3, tree_cons (0, arg4, \ void_list_node)))))
Definition at line 333 of file tree-mudflap.c.
Referenced by mudflap_init().
Definition at line 954 of file tree-mudflap.c.
References current_function_decl, DECL_ARGUMENTS, DECL_ARTIFICIAL, DECL_SAVED_TREE, mf_marked_p(), mf_xform_decls(), NULL, pop_gimplify_context(), and push_gimplify_context().
Definition at line 413 of file tree-mudflap.c.
References current_function_decl, DECL_ARTIFICIAL, flag_mudflap_threads, mf_decl_cache_locals(), mf_decl_clear_locals(), mf_marked_p(), mf_xform_derefs(), NULL, pop_gimplify_context(), and push_gimplify_context().
Definition at line 1305 of file tree-mudflap.c.
| static GTY | ( | (param_is(union tree_node)) | ) | [static] |
Definition at line 1130 of file tree-mudflap.c.
References htab_create_ggc, htab_eq_pointer, htab_find_slot(), htab_hash_pointer, and INSERT.
| static GTY | ( | () | ) | [static] |
Definition at line 250 of file tree-mudflap.c.
References build_decl, DECL_EXTERNAL, get_identifier(), mf_mark(), and TREE_PUBLIC.
| static void mf_build_check_statement_for | ( | tree | base, | |
| tree | limit, | |||
| block_stmt_iterator * | instr_bsi, | |||
| location_t * | locus, | |||
| tree | dirflag | |||
| ) | [static] |
Definition at line 492 of file tree-mudflap.c.
References bb_for_stmt(), boolean_type_node, BSI_CONTINUE_LINKING, bsi_end_p(), bsi_insert_after(), bsi_last(), bsi_next(), bsi_prev(), bsi_start(), bsi_stmt(), build(), build1, build_function_call_expr(), CDI_DOMINATORS, cond, convert(), create_artificial_label(), create_empty_bb(), create_tmp_var, edge::dest, dom_info_available_p(), EDGE_FALLTHRU, EDGE_FALSE_VALUE, EDGE_PRED, EDGE_TRUE_VALUE, find_edge(), flag_mudflap_threads, edge::flags, fold(), gimplify_to_stmt_list(), integer_one_node, integer_type_node, l1, l2, make_edge(), make_single_succ_edge(), mf_file_function_line_tree(), NOT_TAKEN, NULL, NULL_TREE, predict_edge_def(), basic_block_def::prev_bb, SET_EXPR_LOCUS, set_immediate_dominator(), split_block(), split_edge(), edge::src, TAKEN, tree_block_label(), TREE_CHAIN, tree_cons, TREE_TYPE, TSI_CONTINUE_LINKING, tsi_end_p(), tsi_last(), tsi_link_after(), tsi_next(), tsi_start(), tsi_stmt(), TYPE_FIELDS, UNKNOWN_LOCATION, unshare_expr(), and void_type_node.
Referenced by mf_xform_derefs_1().
| static tree mf_build_string | ( | const char * | string | ) | [static] |
Definition at line 74 of file tree-mudflap.c.
References build1, build_array_type(), build_index_type(), build_int_cst(), build_pointer_type(), build_string(), char_type_node, len, mf_mark(), NULL_TREE, result, strlen(), TREE_CONSTANT, TREE_INVARIANT, TREE_READONLY, TREE_STATIC, and TREE_TYPE.
Referenced by mf_file_function_line_tree(), mf_varname_tree(), mudflap_enqueue_constant(), and mudflap_finish_file().
Definition at line 440 of file tree-mudflap.c.
References bsi_commit_edge_inserts(), build(), create_tmp_var, current_function_decl, DECL_SOURCE_LOCATION, ENTRY_BLOCK_PTR, gimplify_to_stmt_list(), insert_edge_copies(), mf_mark(), SET_EXPR_LOCATION, TREE_TYPE, tsi_end_p(), tsi_next(), tsi_start(), and tsi_stmt().
Referenced by execute_mudflap_function_ops().
Definition at line 484 of file tree-mudflap.c.
References NULL_TREE.
Referenced by execute_mudflap_function_ops().
| static int mf_decl_eligible_p | ( | tree | decl | ) | [static] |
Definition at line 718 of file tree-mudflap.c.
References COMPLETE_OR_VOID_TYPE_P, DECL_VALUE_EXPR, NULL, TREE_ADDRESSABLE, TREE_CODE, and TREE_TYPE.
Referenced by mf_xform_derefs_1(), and mx_register_decls().
| static tree mf_file_function_line_tree | ( | location_t | location | ) | [static] |
Definition at line 196 of file tree-mudflap.c.
References colon, concat(), current_function_decl, DECL_SOURCE_FILE, expand_location, free(), mf_build_string(), NULL, NULL_TREE, result, and sprintf().
Referenced by mf_build_check_statement_for().
Definition at line 307 of file tree-mudflap.c.
References build_decl, DECL_CONTEXT, get_identifier(), layout_type(), make_node, TREE_CHAIN, TYPE_FIELDS, and TYPE_NAME.
Referenced by mudflap_init().
| int mf_marked_p | ( | tree t | ) |
Definition at line 1146 of file tree-mudflap.c.
References htab_find(), and NULL.
Referenced by build_constant_desc(), copy_tree_r(), execute_mudflap_function_decls(), execute_mudflap_function_ops(), mf_xform_derefs_1(), mudflap_enqueue_constant(), mudflap_enqueue_decl(), mudflap_finish_file(), and mx_register_decls().
Definition at line 97 of file tree-mudflap.c.
References buf, cplus_demangle(), current_function_decl, DECL_NAME, DECL_SOURCE_FILE, DECL_SOURCE_LOCATION, DMGL_AUTO, DMGL_VERBOSE, expand_location, gcc_assert, IDENTIFIER_POINTER, initialized, mf_build_string(), NULL, NULL_TREE, pp_base_formatted_text(), pp_clear_output_area, pp_construct(), pp_decimal_int, pp_string, result, and strcmp().
Referenced by mudflap_finish_file(), and mx_register_decls().
Definition at line 1116 of file tree-mudflap.c.
References mx_xfn_xform_decls(), mf_xform_decls_data::param_decls, and walk_tree_without_duplicates().
Referenced by execute_mudflap_function_decls().
Definition at line 899 of file tree-mudflap.c.
References bsi_end_p(), bsi_next(), bsi_start(), bsi_stmt(), ENTRY_BLOCK_PTR, EXPR_LOCUS, i, basic_block_def::index, integer_one_node, integer_zero_node, last_basic_block, mf_xform_derefs_1(), next, basic_block_def::next_bb, NULL_TREE, s, TREE_CODE, and TREE_OPERAND.
Referenced by execute_mudflap_function_ops().
| static void mf_xform_derefs_1 | ( | block_stmt_iterator * | iter, | |
| tree * | tp, | |||
| location_t * | locus, | |||
| tree | dirflag | |||
| ) | [static] |
Definition at line 733 of file tree-mudflap.c.
References addr(), base, BITS_PER_UNIT, bitsize_int, bitsizetype, build(), build1, build2, build_pointer_type(), byte_position(), convert(), DECL_BIT_FIELD_TYPE, DECL_SIZE_UNIT, fold(), fold_convert(), gcc_assert, INDIRECT_REF_P, integer_one_node, integer_zero_node, mf_build_check_statement_for(), mf_decl_eligible_p(), mf_marked_p(), NULL_TREE, ptr_type_node, size, size_binop(), sizetype, TREE_CODE, TREE_OPERAND, TREE_TYPE, TYPE_SIZE_UNIT, and warning.
Referenced by mf_xform_derefs().
Definition at line 1215 of file tree-mudflap.c.
References build_int_cst(), mf_build_string(), mf_marked_p(), NULL_TREE, size_in_bytes(), TREE_CODE, TREE_STRING_LENGTH, and TREE_TYPE.
Referenced by output_constant_def_contents().
Definition at line 1194 of file tree-mudflap.c.
References DECL_ARTIFICIAL, DECL_EXTERNAL, DECL_P, mf_marked_p(), VARRAY_PUSH_TREE, and VARRAY_TREE_INIT.
Referenced by make_decl_rtl().
Definition at line 983 of file tree-mudflap.c.
References append_to_statement_list(), build(), build1, build_function_call_expr(), build_int_cst(), build_pointer_type(), convert(), DECL_EXTERNAL, DECL_NAME, gimplify_stmt(), IDENTIFIER_POINTER, mf_decl_eligible_p(), mf_mark(), mf_marked_p(), mf_varname_tree(), NULL, NULL_TREE, ptr_type_node, size, size_type_node, TREE_CHAIN, tree_cons, TREE_STATIC, TREE_TYPE, tsi_end_p(), tsi_link_before(), TSI_SAME_STMT, tsi_start(), TYPE_SIZE_UNIT, void_type_node, and warning.
Referenced by mx_xfn_xform_decls().
Definition at line 1076 of file tree-mudflap.c.
References BIND_EXPR_BODY, BIND_EXPR_VARS, d, error_mark_node, mx_register_decls(), NULL_TREE, mf_xform_decls_data::param_decls, and TREE_CODE.
Referenced by mf_xform_decls().
Initial value:
{
"mudflap1",
gate_mudflap,
execute_mudflap_function_decls,
NULL,
NULL,
0,
0,
PROP_gimple_any,
0,
0,
0,
TODO_dump_func,
0
}
Definition at line 1310 of file tree-mudflap.c.
Referenced by init_optimization_passes(), and init_tree_optimization_passes().
Initial value:
{
"mudflap2",
gate_mudflap,
execute_mudflap_function_ops,
NULL,
NULL,
0,
0,
PROP_gimple_leh,
0,
0,
0,
TODO_verify_flow | TODO_verify_stmts
| TODO_dump_func,
0
}
Definition at line 1327 of file tree-mudflap.c.
Referenced by init_optimization_passes(), and init_tree_optimization_passes().
1.5.6