GCC Middle and Back End API Reference
|
#include "tree-pretty-print.h"
Go to the source code of this file.
Functions | |
void | debug_gimple_stmt (gimple *) |
void | debug_gimple_seq (gimple_seq) |
void | print_gimple_seq (FILE *, gimple_seq, int, dump_flags_t) |
void | print_gimple_stmt (FILE *, gimple *, int, dump_flags_t=TDF_NONE) |
void | debug (gimple &ref) |
void | debug (gimple *ptr) |
void | print_gimple_expr (FILE *, gimple *, int, dump_flags_t=TDF_NONE) |
void | pp_gimple_stmt_1 (pretty_printer *, const gimple *, int, dump_flags_t) |
void | gimple_dump_bb (FILE *, basic_block, int, dump_flags_t) |
void | gimple_dump_bb_for_graph (pretty_printer *, basic_block) |
void | dump_ssaname_info_to_file (FILE *, tree, int) |
void | percent_G_format (text_info *) |
|
extern |
References print_gimple_stmt(), and TDF_NONE.
|
extern |
Print the GIMPLE sequence SEQ on stderr.
References print_gimple_seq(), TDF_MEMSYMS, and TDF_VOPS.
|
extern |
Various declarations for pretty formatting of GIMPLE statements and expressions. Copyright (C) 2000-2024 Free Software Foundation, Inc. This file is part of GCC. GCC is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. GCC is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GCC; see the file COPYING3. If not see <http://www.gnu.org/licenses/>.
In gimple-pretty-print.cc
Print the GIMPLE statement GS on stderr.
References print_gimple_stmt(), TDF_MEMSYMS, and TDF_VOPS.
Referenced by cgraph_debug_gimple_stmt(), update_ssa(), verify_eh_throw_stmt_node(), verify_gimple_in_cfg(), verify_gimple_in_seq_2(), verify_histograms(), and visit_hist().
|
extern |
As dump_ssaname_info, but dump to FILE.
References dump_ssaname_info(), pp_flush(), pp_needs_newline(), and pretty_printer::set_output_stream().
Referenced by dump_default_def().
|
extern |
Dumps basic block BB to FILE with details described by FLAGS and indented by INDENT spaces.
References dump_gimple_bb_footer(), dump_gimple_bb_header(), gimple_dump_bb_buff(), basic_block_def::index, NUM_FIXED_BLOCKS, pp_needs_newline(), and pretty_printer::set_output_stream().
|
extern |
Dumps basic block BB to pretty-printer PP with default dump flags and no indentation, for use as a label of a DOT graph record-node. ??? Should just use gimple_dump_bb_buff here, except that value profiling histogram dumping doesn't know about pretty-printers.
References dump_flags, dump_implicit_edges(), gimple_phi_result(), gsi_end_p(), gsi_next(), gsi_start_bb(), gsi_start_phis(), gsi_stmt(), basic_block_def::index, pp_bar, pp_gimple_stmt_1(), pp_newline(), pp_printf(), pp_string(), pp_write_text_as_dot_label_to_stream(), pp_write_text_to_stream(), TDF_VOPS, and virtual_operand_p().
|
extern |
|
extern |
Print the gimple statement GS on the pretty printer PP, SPC spaces of indent. FLAGS specifies details to show in the dump (see TDF_* in dumpfile.h). The caller is responsible for calling pp_flush on PP to finalize the pretty printer.
References as_a(), dump_gimple_asm(), dump_gimple_assign(), dump_gimple_assume(), dump_gimple_bind(), dump_gimple_call(), dump_gimple_catch(), dump_gimple_cond(), dump_gimple_debug(), dump_gimple_eh_dispatch(), dump_gimple_eh_else(), dump_gimple_eh_filter(), dump_gimple_eh_must_not_throw(), dump_gimple_goto(), dump_gimple_label(), dump_gimple_mem_ops(), dump_gimple_omp_atomic_load(), dump_gimple_omp_atomic_store(), dump_gimple_omp_block(), dump_gimple_omp_continue(), dump_gimple_omp_critical(), dump_gimple_omp_dispatch(), dump_gimple_omp_for(), dump_gimple_omp_masked(), dump_gimple_omp_ordered(), dump_gimple_omp_parallel(), dump_gimple_omp_return(), dump_gimple_omp_scan(), dump_gimple_omp_scope(), dump_gimple_omp_sections(), dump_gimple_omp_single(), dump_gimple_omp_target(), dump_gimple_omp_task(), dump_gimple_omp_taskgroup(), dump_gimple_omp_teams(), dump_gimple_phi(), dump_gimple_resx(), dump_gimple_return(), dump_gimple_switch(), dump_gimple_transaction(), dump_gimple_try(), dump_location(), dump_ssaname_info(), gimple_get_lhs(), gimple_has_lhs(), gimple_has_location(), gimple_has_mem_ops(), gimple_location(), GIMPLE_NIY, gimple_predict_outcome(), gimple_predict_predictor(), lookup_stmt_eh_lp(), pp_printf(), pp_string(), predictor_name(), TDF_ALIAS, TDF_EH, TDF_LINENO, TDF_MEMSYMS, TDF_STMTADDR, and TDF_VOPS.
Referenced by dot_rdg_1(), dump_gimple_seq(), gimple_dump_bb_buff(), gimple_dump_bb_for_graph(), make_item_for_dump_gimple_expr(), make_item_for_dump_gimple_stmt(), print_gimple_expr(), print_gimple_stmt(), and print_node().
|
extern |
Print GIMPLE statement G to FILE using SPC indentation spaces and FLAGS as in pp_gimple_stmt_1. Print only the right-hand side of the statement.
References g, pp_flush(), pp_gimple_stmt_1(), pp_needs_newline(), pretty_printer::set_output_stream(), and TDF_RHS_ONLY.
Referenced by dump_builtin_access(), dump_stmt_cost(), dump_strlen_info(), eliminate_redundant_computations(), eliminate_dom_walker::eliminate_stmt(), simplify_using_ranges::fold_cond(), ccp_folder::fold_stmt(), forward_propagate_into_gimple_cond(), gimple_fold_stmt_to_constant_1(), visit_phi(), visit_stmt(), and vn_nary_build_or_lookup_1().
|
extern |
Print GIMPLE sequence SEQ to FILE using SPC indentation spaces and FLAGS as in pp_gimple_stmt_1.
References dump_gimple_seq(), pp_needs_newline(), pp_newline_and_flush(), and pretty_printer::set_output_stream().
Referenced by debug_gimple_seq(), dump_function_to_file(), gimple_simplify_phiopt(), and replace_stmt_with_simplification().
|
extern |
Print GIMPLE statement G to FILE using SPC indentation spaces and FLAGS as in pp_gimple_stmt_1.
References g, pp_gimple_stmt_1(), pp_needs_newline(), pp_newline_and_flush(), and pretty_printer::set_output_stream().
Referenced by add_exit_phi(), add_ssa_edge(), adjust_iv_update_pos(), autofdo::afdo_indirect_call(), all_phi_incrs_profitable_1(), analyze_evolution_in_loop(), analyze_function_body(), analyze_initial_condition(), ipcp_modif_dom_walker::before_dom_children(), substitute_and_fold_dom_walker::before_dom_children(), bitfields_to_lower_p(), blend_vec_perm_simplify_seqs(), break_up_subtract(), build_access_from_call_arg(), build_new_reduction(), assume_query::calculate_phi(), assume_query::calculate_stmt(), call_may_clobber_ref_p_1(), check_all_va_list_escapes(), check_stmt(), check_stmt_for_type_change(), uninit_analysis::collect_phi_def_edges(), compute_affine_dependence(), compute_invariantness(), gori_compute::compute_operand1_range(), gori_compute::compute_operand2_range(), gori_compute::compute_operand_range(), compute_trims(), cond_if_else_store_replacement_1(), cond_store_replacement(), convert_if_conditions_to_switch(), convert_mult_to_fma(), convert_mult_to_fma_1(), convert_scalar_cond_reduction(), copy_prop_visit_cond_stmt(), create_add_on_incoming_edge(), create_expression_by_pieces(), create_phi_basis_1(), debug(), debug_gimple_stmt(), delete_dead_or_redundant_assignment(), delete_dead_or_redundant_call(), dse_optimize_stmt(), phi_group::dump(), predicate::dump(), dump_candidate(), dump_data_reference(), dump_dref(), dump_immediate_uses_for(), dump_oacc_loop(), dump_oacc_loop_part(), dump_rdg_vertex(), dump_reduction(), dump_replaceable_exprs(), dump_tm_memopt_transform(), dump_use(), dynamic_object_sizes_execute_one(), gori_compute::edge_range_p(), eliminate_dom_walker::eliminate_cleanup(), eliminate_dom_walker::eliminate_insert(), eliminate_dom_walker::eliminate_stmt(), eliminate_tail_call(), eliminate_unnecessary_stmts(), execute_early_expand_coro_ifns(), execute_split_functions(), final_value_replacement_loop(), find_doloop_use(), find_necessary_statements(), find_tail_calls(), find_uninit_use(), gather_mem_refs_stmt(), ipa_polymorphic_call_context::get_dynamic_type(), get_loop_exit_condition(), get_string_length(), gimple_find_values_to_profile(), gimple_fold_call(), gimple_value_profile_transformations(), gimple_verify_flow_info(), strlen_pass::handle_builtin_strcat(), strlen_pass::handle_builtin_strchr(), strlen_pass::handle_builtin_strcpy(), strlen_pass::handle_builtin_strlen(), strlen_pass::handle_integral_assign(), hoist_adjacent_loads(), if_convertible_gimple_assign_stmt_p(), if_convertible_phi_p(), if_convertible_stmt_p(), ifcvt_local_dce(), initialize_constant_pool_replacements(), insert_initializers(), insert_into_preds_of_block(), introduce_cast_before_cand(), ipa_make_edge_direct_to_target(), ipa_print_node_jump_functions(), simplify_using_ranges::legacy_fold_cond(), linearize_expr(), linearize_expr_tree(), lower_bitfield(), mark_operand_necessary(), mark_stmt_necessary(), mark_stmt_necessary(), mark_virtual_phi_result_for_renaming(), maybe_dump_rtl_for_gimple_stmt(), maybe_error_musttail(), maybe_invalidate(), maybe_optimize_arith_overflow(), maybe_remove_writeonly_store(), ipa_param_adjustments::modify_call(), move_computations_worker(), move_stmt(), narrow_vec_perm_simplify_seq(), oacc_entry_exit_ok_1(), oacc_entry_exit_single_gang(), object_sizes_execute(), optimize_memcpy_to_memset(), optimize_recip_sqrt(), dom_opt_dom_walker::optimize_stmt(), optimize_tail_call(), optimize_va_list_gpr_fpr_size(), output_bb(), phiprop_insert_phi(), predicate_scalar_phi(), gimple_ranger::prefill_stmt_dependencies(), process_bb(), propagate_necessity(), dom_ranger::range_of_expr(), gimple_ranger::range_of_expr(), dom_ranger::range_of_stmt(), gimple_ranger::range_of_stmt(), recognise_vec_perm_simplify_seq(), relation_oracle::record(), record_estimate(), record_modified(), record_nonwrapping_iv(), cgraph_edge::redirect_call_stmt_to_callee(), reduce_vector_comparison_to_scalar_comparison(), ref_conflicts_with_region(), ref_maybe_used_by_call_p_1(), remove_dead_phis(), remove_dead_stmt(), remove_exits_and_undefined_stmts(), remove_gimple_phi_args(), remove_redundant_iv_tests(), reorder_operands(), replace_mult_candidate(), replace_one_candidate(), substitute_and_fold_engine::replace_phi_args_in(), replace_refs(), replace_stmt_with_simplification(), return_different_stmts_1(), rewrite_expr_tree(), rewrite_expr_tree_parallel(), rewrite_stmt(), rewrite_to_defined_overflow(), rewrite_trees(), rewrite_update_stmt(), rewrite_use_compare(), sanopt_optimize_walker(), should_duplicate_loop_header_p(), simple_dce_from_worklist(), simplify_using_ranges::simplify_compare_assign_using_ranges_1(), simplify_using_ranges::simplify_cond_using_ranges_1(), sink_code_in_bb(), split_at_bb_p(), sra_modify_assign(), ssa_propagation_engine::ssa_propagate(), stmt_kills_ref_p(), substitute_and_fold_engine::substitute_and_fold(), transform_stmt_to_copy(), transform_stmt_to_multiply(), tree_estimate_loop_size(), tree_ssa_iv_optimize_loop(), try_create_reduction_list(), undistribute_bitref_for_vector(), autofdo::autofdo_source_profile::update_inlined_ind_target(), verify_def(), verify_imm_links(), verify_live_on_entry(), verify_phi_args(), verify_ssa(), verify_use(), verify_vssa(), ccp_propagate::visit_phi(), copy_prop::visit_phi(), ccp_propagate::visit_stmt(), copy_prop::visit_stmt(), visit_stmt(), vn_reference_lookup_3(), walk_polymorphic_call_targets(), and warn_uninitialized_phi().