GCC Middle and Back End API Reference
|
Functions | |
static void | print_rtx (const_rtx) |
void | print_mem_expr () |
static void | print_rtx () |
void | print_inline_rtx () |
DEBUG_FUNCTION void | debug_rtx () |
DEBUG_FUNCTION void | debug () |
DEBUG_FUNCTION void | debug_rtx_list () |
DEBUG_FUNCTION void | debug_rtx_range () |
DEBUG_FUNCTION const_rtx | debug_rtx_find () |
void | print_rtl () |
int | print_rtl_single () |
int | print_rtl_single_with_indent () |
void | print_simple_rtl () |
Variables | |
static FILE * | outfile |
static int | sawclose = 0 |
static int | indent |
const char * | print_rtx_head = "" |
int | flag_dump_unnumbered = 0 |
int | flag_dump_unnumbered_links = 0 |
int | flag_simple = 0 |
DEBUG_VARIABLE int | debug_rtx_count = 0 |
DEBUG_FUNCTION void debug | ( | ) |
Dump rtx REF.
References debug_rtx().
DEBUG_FUNCTION void debug_rtx | ( | ) |
Call this function from the debugger to see what X looks like.
References outfile, print_rtx(), and sawclose.
Referenced by _fatal_insn(), debug(), debug_df_insn(), debug_dv(), debug_mem_addr_value(), debug_rtx_list(), debug_rtx_range(), make_insn_raw(), and verify_rtx_sharing().
DEBUG_FUNCTION const_rtx debug_rtx_find | ( | ) |
Call this function to search an rtx list to find one with insn uid UID, and then call debug_rtx_list to print it, using DEBUG_RTX_COUNT. The found insn is returned to enable further debugging analysis.
References debug_rtx_list().
DEBUG_FUNCTION void debug_rtx_list | ( | ) |
Call this function to print list from X on. N is a count of the rtx's to print. Positive values print from the specified rtx on. Negative values print a window around the rtx. EG: -5 prints 2 rtx's on either side (in addition to the specified rtx).
References count, and debug_rtx().
Referenced by debug_rtx_find().
DEBUG_FUNCTION void debug_rtx_range | ( | ) |
Call this function to print an rtx list from START to END inclusive.
References debug_rtx().
void print_inline_rtx | ( | ) |
Print an rtx on the current line of FILE. Initially indent IND characters.
References indent, outfile, print_rtx(), and sawclose.
Referenced by canon_address(), check_mem_read_rtx(), cselib_lookup(), debug_reload_to_stream(), dump_cselib_table(), dump_cselib_val(), expand_loc(), init_eliminable_invariants(), insert_insn_start_basic_block(), insert_store(), log_op_type(), main(), replace_store_insn(), try_fwprop_subst(), update_ld_motion_stores(), val_resolve(), and val_store().
void print_mem_expr | ( | ) |
References dump_flags, and print_generic_expr().
Referenced by dump_attrs_list(), output_asm_operand_names(), and print_rtx().
void print_rtl | ( | ) |
External entry point for printing a chain of insns starting with RTX_FIRST onto file OUTF. A blank line separates insns. If RTX_FIRST is not an insn, then it alone is printed, with no newline.
References outfile, print_rtx(), print_rtx_head, and sawclose.
Referenced by analyze_insn_to_expand_var(), bypass_block(), cprop_insn(), cprop_jump(), df_print_note(), do_local_cprop(), dump_class(), dump_expr_hash_table_entry(), dump_hash_table(), dump_iv_info(), eliminate_partially_redundant_load(), expansion_failed(), find_simple_exit(), iv_analyze_biv(), iv_analyze_def(), iv_analyze_op(), maybe_dump_rtl_for_gimple_stmt(), mem_loc_descriptor(), output_description(), print_ldst_list(), print_node(), print_simple_rtl(), print_store_motion_mems(), reorg_loops(), and update_ld_motion_stores().
int print_rtl_single | ( | ) |
Like print_rtx, except specify a file.
Return nonzero if we actually printed anything.
References print_rtl_single_with_indent().
Referenced by add_removable_extension(), combine_reaching_defs(), combine_set_extension(), cselib_expand_value_rtx_1(), delete_redundant_insns_1(), discover_loops(), doloop_register_get(), dump_attrs_list(), dump_expr_hash_table_entry(), dump_var(), early_queue_to_ready(), eliminate_partially_redundant_load(), final_scan_insn(), find_and_remove_re(), iv_analyze_def(), iv_analyze_op(), new_cselib_val(), print_ddg(), print_rtl_with_bb(), print_sccs(), recog_for_combine(), rest_of_clean_state(), rtl_dump_bb(), schedule_reg_move(), sel_print_rtl(), sms_schedule(), transform_ifelse(), vcg_print_ddg(), and vt_initialize().
int print_rtl_single_with_indent | ( | ) |
Like print_rtl_single, except specify a file and indentation.
References indent, memset(), outfile, print_rtx(), print_rtx_head, and sawclose.
Referenced by print_rtl_single().
|
static |
Referenced by debug_rtx(), print_inline_rtx(), print_rtl(), print_rtl_single_with_indent(), and print_rtx().
|
static |
Print IN_RTX onto OUTFILE. This is the recursive part of printing.
References dump_addr(), dump_flags, final_insns_dump_p, flag_dump_unnumbered, flag_dump_unnumbered_links, flag_simple, get_insn_name(), cselib_val_struct::hash, HOST_WIDE_INT, HOST_WIDE_INT_PRINT_DEC, HOST_WIDE_INT_PRINT_HEX, indent, basic_block_def::index, insn_file(), insn_line(), LABEL_GLOBAL_ENTRY, LABEL_NORMAL, LABEL_STATIC_ENTRY, LABEL_WEAK_ENTRY, NUM_RTX_CODE, outfile, output_cfi_directive(), print_mem_expr(), print_node_brief(), print_rtx(), print_rtx_head, real_to_decimal(), real_to_hexadecimal(), REG_NOTE_MAX, sawclose, cselib_val_struct::uid, and VAR_INIT_STATUS_UNINITIALIZED.
void print_simple_rtl | ( | ) |
Like print_rtl except without all the detail; for example, if RTX is a CONST_INT then print in decimal format.
References flag_simple, and print_rtl().
Referenced by insert_part_to_rtx_on_edge(), insert_rtx_to_part_on_edge(), mark_reg_dependencies(), and replace_read().
DEBUG_VARIABLE int debug_rtx_count = 0 |
Count of rtx's to print with debug_rtx_list. This global exists because gdb user defined commands have no arguments.
int flag_dump_unnumbered = 0 |
These are defined from the .opt file when not used in generator programs.
Nonzero means suppress output of instruction numbers in debugging dumps. This must be defined here so that programs like gencodes can be linked.
Referenced by dump_addr(), execute_cleanup_cfg_post_optimizing(), new_cselib_val(), print_rtx(), and rest_of_clean_state().
int flag_dump_unnumbered_links = 0 |
Nonzero means suppress output of instruction numbers for previous and next insns in debugging dumps. This must be defined here so that programs like gencodes can be linked.
Referenced by print_rtx().
int flag_simple = 0 |
Nonzero means use simplified format without flags, modes, etc.
Referenced by print_rtx(), and print_simple_rtl().
|
static |
Referenced by check_bb_profile(), debug_decision_0(), debug_decision_1(), debug_dominance_tree_1(), dump_bb_info(), dump_function_to_file(), dump_odr_type(), dump_one_pass(), gimple_dump_bb_buff(), print_generic_stmt_indented(), print_inline_rtx(), print_loop(), print_loops_bb(), print_plugins_help(), print_plugins_versions(), print_rtl_single_with_indent(), print_rtx(), rtl_dump_bb(), write_action(), write_indent(), and write_switch().
|
static |
@verbatim Print RTL for GCC.
Copyright (C) 1987-2013 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/.
This file is compiled twice: once for the generator programs, once for the compiler.
These headers all define things which are not available in generator programs.
Referenced by debug_rtx(), print_inline_rtx(), print_rtl(), print_rtl_single_with_indent(), and print_rtx().
const char* print_rtx_head = "" |
String printed at beginning of each RTL when it is dumped. This string is set to ASM_COMMENT_START when the RTL is dumped in the assembly output file.
Referenced by final_scan_insn(), print_insn_with_notes(), print_pattern(), print_rtl(), print_rtl_single_with_indent(), and print_rtx().
|
static |
Referenced by debug_rtx(), print_inline_rtx(), print_rtl(), print_rtl_single_with_indent(), and print_rtx().