参照元†
/* A class for writing rtx to a FILE *. */
class rtx_writer
{
public:
rtx_writer (FILE *outfile, int ind, bool simple, bool compact,
rtx_reuse_manager *reuse_manager);
void print_rtx (const_rtx in_rtx);
void print_rtl (const_rtx rtx_first);
int print_rtl_single_with_indent (const_rtx x, int ind);
void finish_directive ();
private:
void print_rtx_operand_code_0 (const_rtx in_rtx, int idx);
void print_rtx_operand_code_e (const_rtx in_rtx, int idx);
void print_rtx_operand_codes_E_and_V (const_rtx in_rtx, int idx);
void print_rtx_operand_code_i (const_rtx in_rtx, int idx);
void print_rtx_operand_code_r (const_rtx in_rtx);
void print_rtx_operand_code_u (const_rtx in_rtx, int idx);
void print_rtx_operand (const_rtx in_rtx, int idx);
bool operand_has_default_value_p (const_rtx in_rtx, int idx);
private:
FILE *m_outfile;
int m_sawclose;
int m_indent;
bool m_in_call_function_usage;
/* True means use simplified format without flags, modes, etc. */
bool m_simple;
/* If true, use compact dump format:
- PREV/NEXT_INSN UIDs are omitted
- INSN_CODEs are omitted,
- register numbers are omitted for hard and virtual regs, and
non-virtual pseudos are offset relative to the first such reg, and
printed with a '%' sigil e.g. "%0" for (LAST_VIRTUAL_REGISTER + 1),
- insn names are prefixed with "c" (e.g. "cinsn", "cnote", etc). */
bool m_compact;
/* An optional instance of rtx_reuse_manager. */
rtx_reuse_manager *m_rtx_reuse_manager;
};
コメント†