GCC Middle and Back End API Reference
gimple-pretty-print.h File Reference
Include dependency graph for gimple-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 *)
 

Function Documentation

◆ debug() [1/2]

void debug ( gimple & ref)
extern

References print_gimple_stmt(), and TDF_NONE.

◆ debug() [2/2]

void debug ( gimple * ptr)
extern

References debug.

◆ debug_gimple_seq()

void debug_gimple_seq ( gimple_seq seq)
extern
Print the GIMPLE sequence SEQ on stderr.   

References print_gimple_seq(), TDF_MEMSYMS, and TDF_VOPS.

◆ debug_gimple_stmt()

void debug_gimple_stmt ( gimple * gs)
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().

◆ dump_ssaname_info_to_file()

void dump_ssaname_info_to_file ( FILE * file,
tree node,
int spc )
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().

◆ gimple_dump_bb()

void gimple_dump_bb ( FILE * file,
basic_block bb,
int indent,
dump_flags_t flags )
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().

◆ gimple_dump_bb_for_graph()

void gimple_dump_bb_for_graph ( pretty_printer * pp,
basic_block bb )
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().

◆ percent_G_format()

void percent_G_format ( text_info * )
extern

◆ pp_gimple_stmt_1()

void pp_gimple_stmt_1 ( pretty_printer * pp,
const gimple * gs,
int spc,
dump_flags_t flags )
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().

◆ print_gimple_expr()

◆ print_gimple_seq()

void print_gimple_seq ( FILE * file,
gimple_seq seq,
int spc,
dump_flags_t flags )
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().

◆ print_gimple_stmt()

void print_gimple_stmt ( FILE * file,
gimple * g,
int spc,
dump_flags_t flags )
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(), crc_symbolic_execution::execute_bb_gimple_statements(), crc_symbolic_execution::execute_bb_phi_statements(), 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().