#include "config.h"#include "system.h"#include "coretypes.h"#include "tm.h"#include "tree.h"#include "diagnostic.h"#include "real.h"#include "hashtab.h"#include "tree-flow.h"#include "langhooks.h"#include "tree-iterator.h"#include "tree-chrec.h"#include "tree-pass.h"

Go to the source code of this file.
| #define INDENT | ( | SPACE | ) |
Definition at line 54 of file tree-pretty-print.c.
| #define PRINT_FUNCTION_NAME | ( | NODE | ) |
Value:
pp_printf \ (buffer, "%s", TREE_CODE (NODE) == NOP_EXPR ? \ lang_hooks.decl_printable_name (TREE_OPERAND (NODE, 0), 1) : \ lang_hooks.decl_printable_name (NODE, 1))
Definition at line 56 of file tree-pretty-print.c.
Definition at line 88 of file tree-pretty-print.c.
References fprintf(), print_generic_expr(), TDF_UID, and TDF_VOPS.
Definition at line 95 of file tree-pretty-print.c.
References fprintf(), print_generic_stmt(), TDF_UID, and TDF_VOPS.
Referenced by verify_cgraph_node(), verify_stmt(), and verify_stmts().
Definition at line 102 of file tree-pretty-print.c.
References fprintf(), print_generic_expr(), TDF_UID, TDF_VOPS, and TREE_CHAIN.
| static void do_niy | ( | pretty_printer * | buffer, | |
| tree | node | |||
| ) | [static] |
Definition at line 67 of file tree-pretty-print.c.
References dump_generic_node(), EXPR_P, i, len, newline_and_indent(), pp_string, TREE_CODE, TREE_CODE_LENGTH, tree_code_name, and TREE_OPERAND.
| static void dump_array_domain | ( | pretty_printer * | buffer, | |
| tree | domain, | |||
| int | spc, | |||
| int | flags | |||
| ) | [static] |
Definition at line 233 of file tree-pretty-print.c.
References dump_generic_node(), host_integerp(), integer_zerop(), max, min, pp_character, pp_string, pp_wide_integer, TREE_INT_CST_LOW, TYPE_MAX_VALUE, and TYPE_MIN_VALUE.
| static void dump_bb_end | ( | pretty_printer * | buffer, | |
| basic_block | bb, | |||
| int | indent, | |||
| int | flags | |||
| ) | [static] |
Definition at line 2704 of file tree-pretty-print.c.
References pretty_print_info::buffer, edge::dest, dump_edge_info(), EXIT_BLOCK_PTR, FOR_EACH_EDGE, INDENT, pp_decimal_int, pp_newline, pp_string, pp_write_text_to_stream(), output_buffer::stream, and TDF_SLIM.
| static void dump_bb_header | ( | pretty_printer * | buffer, | |
| basic_block | bb, | |||
| int | indent, | |||
| int | flags | |||
| ) | [static] |
Definition at line 2633 of file tree-pretty-print.c.
References bsi_end_p(), bsi_next(), bsi_start(), bsi_stmt(), pretty_print_info::buffer, check_bb_profile(), basic_block_def::count, dump_edge_info(), ENTRY_BLOCK_PTR, first_stmt(), FOR_EACH_EDGE, basic_block_def::frequency, get_lineno(), INDENT, basic_block_def::index, newline_and_indent(), pp_decimal_int, pp_newline, pp_string, pp_widest_integer, pp_write_text_to_stream(), edge::src, output_buffer::stream, TDF_BLOCKS, TDF_LINENO, TDF_SLIM, and TREE_CODE.
| static void dump_decl_name | ( | pretty_printer * | buffer, | |
| tree | node, | |||
| int | flags | |||
| ) | [static] |
Definition at line 164 of file tree-pretty-print.c.
References c, DECL_NAME, DECL_UID, HOST_WIDE_INT_PRINT_DEC, LABEL_DECL_UID, NULL_TREE, pp_printf(), pp_tree_identifier, TDF_UID, and TREE_CODE.
| static void dump_function_declaration | ( | pretty_printer * | buffer, | |
| tree | node, | |||
| int | spc, | |||
| int | flags | |||
| ) | [static] |
Definition at line 200 of file tree-pretty-print.c.
References dump_generic_node(), error_mark_node, pp_character, pp_space, pp_string, TREE_CHAIN, TREE_CODE, TREE_VALUE, and TYPE_ARG_TYPES.
| static void dump_function_name | ( | pretty_printer * | buffer, | |
| tree | node | |||
| ) | [static] |
Definition at line 188 of file tree-pretty-print.c.
References DECL_NAME, dump_decl_name(), and PRINT_FUNCTION_NAME.
| void dump_generic_bb | ( | FILE * | file, | |
| basic_block | bb, | |||
| int | indent, | |||
| int | flags | |||
| ) |
Definition at line 2622 of file tree-pretty-print.c.
References dump_generic_bb_buff(), dumping_stmts, maybe_init_pretty_print(), and pp_flush.
Referenced by dump_function_to_file(), and tree_dump_bb().
| static void dump_generic_bb_buff | ( | pretty_printer * | buffer, | |
| basic_block | bb, | |||
| int | indent, | |||
| int | flags | |||
| ) | [static] |
Definition at line 2822 of file tree-pretty-print.c.
References bsi_end_p(), bsi_next(), bsi_start(), bsi_stmt(), dump_bb_end(), dump_bb_header(), dump_generic_node(), dump_implicit_edges(), dump_phi_nodes(), INDENT, pp_newline, TDF_BLOCKS, and TREE_CODE.
| int dump_generic_node | ( | pretty_printer * | buffer, | |
| tree | node, | |||
| int | spc, | |||
| int | flags, | |||
| bool | is_stmt | |||
| ) |
Definition at line 411 of file tree-pretty-print.c.
References array_ref_element_size(), array_ref_low_bound(), ASM_CLOBBERS, ASM_INPUTS, ASM_OUTPUTS, ASM_STRING, ASM_VOLATILE_P, ASSERT_EXPR_COND, ASSERT_EXPR_VAR, BIND_EXPR_BODY, BIND_EXPR_VARS, BINFO_TYPE, BLOCK, BLOCK_ABSTRACT, BLOCK_ABSTRACT_ORIGIN, BLOCK_CHAIN, BLOCK_SUBBLOCKS, BLOCK_SUPERCONTEXT, BLOCK_VARS, build_int_cst_wide(), CALL_EXPR_HAS_RETURN_SLOT_ADDR, CALL_EXPR_RETURN_SLOT_OPT, CALL_EXPR_TAILCALL, CASE_HIGH, CASE_LABEL, CASE_LOW, CATCH_BODY, CATCH_TYPES, CHREC_LEFT, CHREC_RIGHT, CHREC_VAR, COMPLEX_TYPE, component_ref_field_offset(), COND_EXPR_COND, COND_EXPR_ELSE, COND_EXPR_THEN, constructor_elt, CONSTRUCTOR_ELTS, d, DECL_EXPR_DECL, DECL_IS_BUILTIN, DECL_NAME, DECL_NONLOCAL, DECL_P, DECL_UID, digit_buffer, dump_array_domain(), dump_decl_name(), dump_function_declaration(), dump_generic_node(), dump_omp_clause(), dump_omp_clauses(), dump_vops(), dumping_stmts, EH_FILTER_FAILURE, EH_FILTER_TYPES, error_mark_node, expand_location, EXPR_HAS_LOCATION, EXPR_LOCATION, EXPR_P, FALSE, first, FOR_EACH_CONSTRUCTOR_ELT, format, GOTO_DESTINATION, HOST_BITS_PER_INT, host_integerp(), HOST_WIDE_INT, HOST_WIDE_INT_PRINT_DEC, i, IDENTIFIER_POINTER, integer_zerop(), IS_EMPTY_STMT, is_gimple_stmt(), LABEL_DECL_UID, len, LOOP_EXPR_BODY, n, newline_and_indent(), NIY, NULL, NULL_TREE, OBJ_TYPE_REF_EXPR, OBJ_TYPE_REF_OBJECT, OBJ_TYPE_REF_TOKEN, OMP_BODY, OMP_CRITICAL_NAME, OMP_FOR_BODY, OMP_FOR_CLAUSES, OMP_FOR_COND, OMP_FOR_INCR, OMP_FOR_INIT, OMP_FOR_PRE_BODY, OMP_PARALLEL_CLAUSES, OMP_PARALLEL_DATA_ARG, OMP_PARALLEL_FN, OMP_RETURN_NOWAIT, OMP_SECTIONS_CLAUSES, OMP_SINGLE_CLAUSES, op_prio(), op_symbol(), operand_equal_p(), p, PHI_ARG_DEF, PHI_ARG_EDGE, PHI_NUM_ARGS, PHI_RESULT, pp_buffer, pp_character, pp_decimal_int, pp_newline, pp_printf(), pp_semicolon, pp_space, pp_string, pp_tree_identifier, pp_wide_integer, pp_write_text_to_stream(), pretty_print_string(), print_call_name(), print_declaration(), print_struct_decl(), real_to_decimal(), REAL_VALUE_ISINF, REAL_VALUE_ISNAN, REAL_VALUE_TYPE, si, sprintf(), src, SSA_NAME, SSA_NAME_OCCURS_IN_ABNORMAL_PHI, SSA_NAME_VAR, SSA_NAME_VERSION, stmt_ann(), str, strcmp(), SWITCH_BODY, SWITCH_COND, SWITCH_LABELS, TARGET_EXPR_INITIAL, TARGET_EXPR_SLOT, tcc_declaration, tcc_type, TDF_DETAILS, TDF_LINENO, TDF_SLIM, TDF_STMTADDR, TDF_VOPS, tmp, TMR_BASE, TMR_INDEX, TMR_OFFSET, TMR_ORIGINAL, TMR_STEP, TMR_SYMBOL, TREE_ASM_WRITTEN, TREE_CHAIN, TREE_CODE, TREE_CODE_CLASS, TREE_IMAGPART, TREE_INT_CST_HIGH, TREE_INT_CST_LOW, tree_int_cst_sgn(), TREE_OPERAND, TREE_OVERFLOW, TREE_PURPOSE, TREE_REAL_CST, TREE_REALPART, TREE_STRING_POINTER, TREE_TYPE, TREE_VALUE, TREE_VEC_ELT, TREE_VEC_LENGTH, TREE_VECTOR_CST_ELTS, TRUE, tsi_end_p(), tsi_next(), tsi_start(), tsi_stmt(), TYPE_DOMAIN, TYPE_METHOD_BASETYPE, TYPE_METHODS, TYPE_NAME, TYPE_QUAL_CONST, TYPE_QUAL_RESTRICT, TYPE_QUAL_VOLATILE, TYPE_QUALS, TYPE_REF_CAN_ALIAS_ALL, TYPE_SIZE_UNIT, TYPE_UID, val, VALUE_HANDLE_ID, vec, VEC_length, and void_type_node.
Referenced by default_tree_printer(), do_niy(), dump_array_domain(), dump_function_declaration(), dump_generic_bb_buff(), dump_generic_node(), dump_omp_clause(), dump_phi_nodes(), dump_vops(), pp_c_statement(), pp_cfg_jump(), print_call_name(), print_declaration(), print_generic_expr(), print_generic_stmt(), print_generic_stmt_indented(), and print_struct_decl().
| static void dump_implicit_edges | ( | pretty_printer * | buffer, | |
| basic_block | bb, | |||
| int | indent, | |||
| int | flags | |||
| ) | [static] |
Definition at line 2774 of file tree-pretty-print.c.
References edge::dest, EDGE_FALLTHRU, expand_location, edge::flags, FOR_EACH_EDGE, INDENT, basic_block_def::next_bb, pp_cfg_jump(), pp_character, pp_decimal_int, pp_newline, pp_string, TDF_LINENO, and UNKNOWN_LOCATION.
| static void dump_omp_clause | ( | pretty_printer * | buffer, | |
| tree | clause, | |||
| int | spc, | |||
| int | flags | |||
| ) | [static] |
Definition at line 264 of file tree-pretty-print.c.
References dump_generic_node(), gcc_unreachable, OMP_CLAUSE_CODE, OMP_CLAUSE_COPYIN, OMP_CLAUSE_COPYPRIVATE, OMP_CLAUSE_DECL, OMP_CLAUSE_DEFAULT, OMP_CLAUSE_DEFAULT_KIND, OMP_CLAUSE_DEFAULT_NONE, OMP_CLAUSE_DEFAULT_PRIVATE, OMP_CLAUSE_DEFAULT_SHARED, OMP_CLAUSE_DEFAULT_UNSPECIFIED, OMP_CLAUSE_FIRSTPRIVATE, OMP_CLAUSE_IF, OMP_CLAUSE_IF_EXPR, OMP_CLAUSE_LASTPRIVATE, OMP_CLAUSE_NOWAIT, OMP_CLAUSE_NUM_THREADS, OMP_CLAUSE_NUM_THREADS_EXPR, OMP_CLAUSE_ORDERED, OMP_CLAUSE_PRIVATE, OMP_CLAUSE_REDUCTION, OMP_CLAUSE_REDUCTION_CODE, OMP_CLAUSE_SCHEDULE, OMP_CLAUSE_SCHEDULE_CHUNK_EXPR, OMP_CLAUSE_SCHEDULE_DYNAMIC, OMP_CLAUSE_SCHEDULE_GUIDED, OMP_CLAUSE_SCHEDULE_KIND, OMP_CLAUSE_SCHEDULE_RUNTIME, OMP_CLAUSE_SCHEDULE_STATIC, OMP_CLAUSE_SHARED, op_symbol_1(), pp_character, and pp_string.
Referenced by dump_generic_node(), and dump_omp_clauses().
| static void dump_omp_clauses | ( | pretty_printer * | buffer, | |
| tree | clause, | |||
| int | spc, | |||
| int | flags | |||
| ) | [static] |
Definition at line 388 of file tree-pretty-print.c.
References dump_omp_clause(), NULL, OMP_CLAUSE_CHAIN, and pp_space.
Referenced by dump_generic_node().
| static void dump_phi_nodes | ( | pretty_printer * | buffer, | |
| basic_block | bb, | |||
| int | indent, | |||
| int | flags | |||
| ) | [static] |
Definition at line 2730 of file tree-pretty-print.c.
References dump_generic_node(), INDENT, is_gimple_reg(), PHI_CHAIN, phi_nodes(), PHI_RESULT, pp_newline, pp_string, and TDF_VOPS.
| static void dump_vops | ( | pretty_printer * | buffer, | |
| tree | stmt, | |||
| int | spc, | |||
| int | flags | |||
| ) | [static] |
Definition at line 2574 of file tree-pretty-print.c.
References DEF_FROM_PTR, def_operand_p, dump_generic_node(), FOR_EACH_SSA_MAYDEF_OPERAND, FOR_EACH_SSA_MUSTDEF_OPERAND, FOR_EACH_SSA_TREE_OPERAND, iter, newline_and_indent(), pp_string, SSA_OP_VUSE, ssa_operands_active(), USE_FROM_PTR, and use_operand_p.
Definition at line 2554 of file tree-pretty-print.c.
References pretty_print_info::buffer, initialized, NULL, pp_construct(), pp_needs_newline, and output_buffer::stream.
| static void newline_and_indent | ( | pretty_printer * | buffer, | |
| int | spc | |||
| ) | [static] |
| static int op_prio | ( | tree | op | ) | [static] |
Definition at line 2096 of file tree-pretty-print.c.
References NULL, op_prio(), TREE_CODE, and TREE_OPERAND.
| static const char * op_symbol | ( | tree | op | ) | [static] |
| static const char * op_symbol_1 | ( | enum tree_code | code | ) | [static] |
Definition at line 2232 of file tree-pretty-print.c.
Referenced by dump_omp_clause(), and op_symbol().
| static void pp_cfg_jump | ( | pretty_printer * | buffer, | |
| basic_block | bb | |||
| ) | [static] |
Definition at line 2752 of file tree-pretty-print.c.
References dump_generic_node(), first_stmt(), basic_block_def::index, LABEL_EXPR_LABEL, pp_decimal_int, pp_semicolon, pp_string, and TREE_CODE.
| static void pretty_print_string | ( | pretty_printer * | buffer, | |
| const char * | str | |||
| ) | [static] |
| static void print_call_name | ( | pretty_printer * | buffer, | |
| tree | node | |||
| ) | [static] |
Definition at line 2404 of file tree-pretty-print.c.
References dump_function_name(), dump_generic_node(), gcc_assert, NIY, pp_string, SSA_NAME, TREE_CODE, and TREE_OPERAND.
| static void print_declaration | ( | pretty_printer * | buffer, | |
| tree | t, | |||
| int | spc, | |||
| int | flags | |||
| ) | [static] |
Definition at line 1932 of file tree-pretty-print.c.
References CODE_CONTAINS_STRUCT, DECL_ASSEMBLER_NAME, DECL_EXTERNAL, DECL_HARD_REGISTER, DECL_HAS_VALUE_EXPR_P, DECL_INITIAL, DECL_REGISTER, DECL_VALUE_EXPR, dump_array_domain(), dump_decl_name(), dump_function_declaration(), dump_generic_node(), INDENT, pp_character, pp_space, pp_string, tmp, TREE_CODE, TREE_PUBLIC, TREE_STATIC, TREE_TYPE, and TYPE_DOMAIN.
Definition at line 115 of file tree-pretty-print.c.
References dumping_stmts, maybe_init_pretty_print(), pp_write_text_to_stream(), and print_declaration().
Referenced by dump_function_to_file().
Definition at line 154 of file tree-pretty-print.c.
References dump_generic_node(), dumping_stmts, and maybe_init_pretty_print().
Referenced by access_can_touch_variable(), add_to_evolution(), address_analysis(), analyze_evolution_in_loop(), analyze_indirect_ref(), analyze_initial_condition(), analyze_offset_expr(), analyze_overlapping_iterations(), analyze_scalar_evolution(), analyze_subscript_affine_affine(), assign_vars(), bitmap_print_value_set(), browse_tree(), calculate_live_on_entry(), canonicalize_loop_induction_variables(), ccp_visit_phi_node(), cgraph_increase_alignment(), check_all_va_list_escapes(), chrec_apply(), coalesce_tpa_members(), collect_object_sizes_for(), collect_points_to_info_r(), compute_affine_dependence(), compute_builtin_object_size(), compute_vuse_representatives(), copy_prop_visit_phi_node(), copy_rename_partition_coalesce(), cprop_operand(), create_canonical_iv(), create_data_ref(), create_expression_by_pieces(), create_overlap_variables_for(), debug_def_blocks_r(), debug_generic_expr(), debug_tree_chain(), decl_can_be_decomposed_p(), dse_optimize_stmt(), dump_all_value_ranges(), dump_asserts_for(), dump_bitmap_of_names(), dump_coalesce_list(), dump_copy_of(), dump_eh_tree(), dump_function_to_file(), dump_immediate_uses_for(), dump_iv(), dump_lattice_value(), dump_live_info(), dump_may_aliases_for(), dump_mem_address(), dump_mem_ref(), dump_names_replaced_by(), dump_points_to_info_for(), dump_replaceable_exprs(), dump_sra_elt_name(), dump_stack_var_partition(), dump_subvars_for(), dump_update_ssa(), dump_use(), dump_value_range(), dump_var_map(), dump_variable(), eliminate(), eliminate_duplicate_pair(), eliminate_not_pairs(), eliminate_plus_minus_pair(), eliminate_redundant_computations(), eliminate_virtual_phis(), execute_optimize_stdarg(), finalize_ddr_dependent(), find_induction_variables(), find_interesting_uses(), fold_predicate_in(), forward_propagate_into_cond(), gather_chrec_stats(), get_indirect_ref_operands(), get_loop_exit_condition(), get_rank(), get_scalar_evolution(), get_vectype_for_scalar_type(), gimplify_expr(), insert_copy_on_edge(), insert_extra_phis(), insert_into_preds_of_block(), instantiate_element(), instantiate_parameters(), ipcp_callsite_param_print(), ipcp_method_cval_print(), linearize_expr_tree(), maybe_dump_rtl_for_tree_stmt(), object_analysis(), optimize_tail_call(), print_creation_to_file(), print_exprs(), print_value_set(), propagate_rhs_into_lhs(), reassociate_bb(), record_estimate(), remove_useless_vars(), rename_ssa_copies(), rewrite_expr_tree(), rewrite_trees(), schedule_sm(), set_nb_iterations_in_loop(), set_scalar_evolution(), simplify_cond_using_ranges(), sink_code_in_bb(), slpeel_make_loop_iterate_ntimes(), substitute_single_use_vars(), tpa_dump(), tree_divmod_fixed_value_transform(), tree_find_values_to_profile(), tree_nrv(), tree_ssa_iv_optimize_loop(), tree_verify_flow_info(), type_escape_execute(), vect_analyze_data_ref_dependence(), vect_analyze_data_refs(), vect_analyze_loop_form(), vect_analyze_offset_expr(), vect_analyze_operations(), vect_analyze_pointer_ref_access(), vect_analyze_scalar_cycles(), vect_can_advance_ivs_p(), vect_compute_data_ref_alignment(), vect_create_addr_base_for_vector_ref(), vect_create_data_ref_ptr(), vect_create_epilog_for_reduction(), vect_determine_vectorization_factor(), vect_finish_stmt_generation(), vect_gen_niters_for_prolog_loop(), vect_get_loop_niters(), vect_get_vec_def_for_operand(), vect_init_vector(), vect_is_simple_iv_evolution(), vect_is_simple_reduction(), vect_is_simple_use(), vect_mark_relevant(), vect_mark_stmts_to_be_vectorized(), vect_object_analysis(), vect_pattern_recog_1(), vect_recog_dot_prod_pattern(), vect_recog_widen_sum_pattern(), vect_transform_loop(), vect_update_ivs_after_vectorizer(), verify_def(), verify_imm_links(), verify_use(), vn_lookup_or_add(), vrp_visit_assignment(), vrp_visit_cond_stmt(), and vrp_visit_phi_node().
Definition at line 126 of file tree-pretty-print.c.
References dump_generic_node(), dumping_stmts, maybe_init_pretty_print(), and pp_flush.
Referenced by analyze_array(), analyze_edges_for_bb(), break_up_subtract(), browse_tree(), ccp_visit_stmt(), compute_object_sizes(), copy_prop_visit_cond_stmt(), copy_prop_visit_stmt(), debug_generic_stmt(), dump_data_dependence_relation(), dump_data_reference(), dump_immediate_uses_for(), dump_ops_vector(), dump_subscript(), dump_tree_ssa(), eliminate(), eliminate_duplicate_pair(), eliminate_tail_call(), eliminate_virtual_phis(), execute_fold_all_builtins(), get_indirect_ref_operands(), if_convertible_modify_expr_p(), if_convertible_phi_p(), if_convertible_stmt_p(), init_data_ref(), linearize_expr(), linearize_expr_tree(), mark_stmt_necessary(), move_computations_stmt(), optimize_stmt(), process_ssa_edge_worklist(), propagate_necessity(), reassociate_bb(), remove_dead_inserted_code(), remove_dead_phis(), remove_dead_stmt(), replace_phi_args_in(), replace_phi_with_cond_modify_expr(), rewrite_expr_tree(), rewrite_stmt(), rewrite_trees(), rewrite_update_stmt(), ssa_rewrite_stmt(), substitute_and_fold(), tree_divmod_fixed_value_transform(), tree_if_convert_stmt(), tree_mod_pow2_value_transform(), tree_mod_subtract_transform(), tree_value_profile_transformations(), verify_def(), verify_imm_links(), verify_phi_args(), verify_ssa(), verify_use(), vrp_visit_cond_stmt(), and vrp_visit_stmt().
Definition at line 138 of file tree-pretty-print.c.
References dump_generic_node(), dumping_stmts, i, maybe_init_pretty_print(), pp_flush, and pp_space.
Referenced by determine_invariantness_stmt(), and dump_function_to_file().
| static void print_struct_decl | ( | pretty_printer * | buffer, | |
| tree | node, | |||
| int | spc, | |||
| int | flags | |||
| ) | [static] |
Definition at line 2025 of file tree-pretty-print.c.
References dump_generic_node(), INDENT, pp_character, pp_newline, pp_string, print_declaration(), tmp, TREE_CHAIN, TREE_CODE, TREE_TYPE, TYPE_FIELDS, and TYPE_NAME.
pretty_printer buffer [static] |
Definition at line 61 of file tree-pretty-print.c.
int initialized = 0 [static] |
Definition at line 62 of file tree-pretty-print.c.
1.5.6