gcc-8.3/gcc/rtx_writer/print_rtx_operand_code_r()
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
*参照元 [#xf82442b]
#backlinks
*説明 [#c53d9915]
-パス: [[gcc-8.3/gcc/print-rtl.c]]
-FIXME: これは何?
--説明
**引数 [#b3939031]
-const_rtx in_rtx
--
--[[gcc-8.3/gcc/const_rtx]]
**返り値 [#la7c9579]
-なし
**参考 [#c9e620de]
*実装 [#tf2073a5]
/* Subroutine of print_rtx_operand for handling code 'r'...
void
rtx_writer::print_rtx_operand_code_r (const_rtx in_rtx)
{
int is_insn = INSN_P (in_rtx);
unsigned int regno = REGNO (in_rtx);
-
--[[gcc-8.3/gcc/INSN_P()]]
--[[gcc-8.3/gcc/REGNO()]]
#ifndef GENERATOR_FILE
/* For hard registers and virtuals, always print the
regno, except in compact mode. */
if (regno <= LAST_VIRTUAL_REGISTER && !m_compact)
fprintf (m_outfile, " %d", regno);
if (regno < FIRST_PSEUDO_REGISTER)
fprintf (m_outfile, " %s", reg_names[regno]);
-
--[[gcc-8.3/gcc/reg_names(global)]]
else if (regno <= LAST_VIRTUAL_REGISTER)
{
if (regno == VIRTUAL_INCOMING_ARGS_REGNUM)
fprintf (m_outfile, " virtual-incoming-args");
else if (regno == VIRTUAL_STACK_VARS_REGNUM)
fprintf (m_outfile, " virtual-stack-vars");
else if (regno == VIRTUAL_STACK_DYNAMIC_REGNUM)
fprintf (m_outfile, " virtual-stack-dynamic");
else if (regno == VIRTUAL_OUTGOING_ARGS_REGNUM)
fprintf (m_outfile, " virtual-outgoing-args");
else if (regno == VIRTUAL_CFA_REGNUM)
fprintf (m_outfile, " virtual-cfa");
else if (regno == VIRTUAL_PREFERRED_STACK_BOUNDARY...
fprintf (m_outfile, " virtual-preferred-stack-boundary");
else
fprintf (m_outfile, " virtual-reg-%d", regno-FIRST_VIRT...
}
else
#endif
if (flag_dump_unnumbered && is_insn)
fputc ('#', m_outfile);
else if (m_compact)
{
/* In compact mode, print pseudos with '< and '>' wrapp...
offseting it by (LAST_VIRTUAL_REGISTER + 1), so that...
first non-virtual pseudo is dumped as "<0>". */
gcc_assert (regno > LAST_VIRTUAL_REGISTER);
fprintf (m_outfile, " <%d>", regno - (LAST_VIRTUAL_REGI...
}
else
fprintf (m_outfile, " %d", regno);
-
--[[gcc-8.3/gcc/gcc_assert()]]
#ifndef GENERATOR_FILE
if (REG_ATTRS (in_rtx))
{
fputs (" [", m_outfile);
if (regno != ORIGINAL_REGNO (in_rtx))
fprintf (m_outfile, "orig:%i", ORIGINAL_REGNO (in_rtx));
if (REG_EXPR (in_rtx))
print_mem_expr (m_outfile, REG_EXPR (in_rtx));
if (maybe_ne (REG_OFFSET (in_rtx), 0))
{
fprintf (m_outfile, "+");
print_poly_int (m_outfile, REG_OFFSET (in_rtx));
}
fputs (" ]", m_outfile);
}
if (regno != ORIGINAL_REGNO (in_rtx))
fprintf (m_outfile, " [%d]", ORIGINAL_REGNO (in_rtx));
#endif
-
--[[gcc-8.3/gcc/REG_ATTRS()]]
--[[gcc-8.3/gcc/ORIGINAL_REGNO()]]
--[[gcc-8.3/gcc/REG_EXPR()]]
--[[gcc-8.3/gcc/REG_OFFSET()]]
}
*コメント [#p3cd4812]
終了行:
*参照元 [#xf82442b]
#backlinks
*説明 [#c53d9915]
-パス: [[gcc-8.3/gcc/print-rtl.c]]
-FIXME: これは何?
--説明
**引数 [#b3939031]
-const_rtx in_rtx
--
--[[gcc-8.3/gcc/const_rtx]]
**返り値 [#la7c9579]
-なし
**参考 [#c9e620de]
*実装 [#tf2073a5]
/* Subroutine of print_rtx_operand for handling code 'r'...
void
rtx_writer::print_rtx_operand_code_r (const_rtx in_rtx)
{
int is_insn = INSN_P (in_rtx);
unsigned int regno = REGNO (in_rtx);
-
--[[gcc-8.3/gcc/INSN_P()]]
--[[gcc-8.3/gcc/REGNO()]]
#ifndef GENERATOR_FILE
/* For hard registers and virtuals, always print the
regno, except in compact mode. */
if (regno <= LAST_VIRTUAL_REGISTER && !m_compact)
fprintf (m_outfile, " %d", regno);
if (regno < FIRST_PSEUDO_REGISTER)
fprintf (m_outfile, " %s", reg_names[regno]);
-
--[[gcc-8.3/gcc/reg_names(global)]]
else if (regno <= LAST_VIRTUAL_REGISTER)
{
if (regno == VIRTUAL_INCOMING_ARGS_REGNUM)
fprintf (m_outfile, " virtual-incoming-args");
else if (regno == VIRTUAL_STACK_VARS_REGNUM)
fprintf (m_outfile, " virtual-stack-vars");
else if (regno == VIRTUAL_STACK_DYNAMIC_REGNUM)
fprintf (m_outfile, " virtual-stack-dynamic");
else if (regno == VIRTUAL_OUTGOING_ARGS_REGNUM)
fprintf (m_outfile, " virtual-outgoing-args");
else if (regno == VIRTUAL_CFA_REGNUM)
fprintf (m_outfile, " virtual-cfa");
else if (regno == VIRTUAL_PREFERRED_STACK_BOUNDARY...
fprintf (m_outfile, " virtual-preferred-stack-boundary");
else
fprintf (m_outfile, " virtual-reg-%d", regno-FIRST_VIRT...
}
else
#endif
if (flag_dump_unnumbered && is_insn)
fputc ('#', m_outfile);
else if (m_compact)
{
/* In compact mode, print pseudos with '< and '>' wrapp...
offseting it by (LAST_VIRTUAL_REGISTER + 1), so that...
first non-virtual pseudo is dumped as "<0>". */
gcc_assert (regno > LAST_VIRTUAL_REGISTER);
fprintf (m_outfile, " <%d>", regno - (LAST_VIRTUAL_REGI...
}
else
fprintf (m_outfile, " %d", regno);
-
--[[gcc-8.3/gcc/gcc_assert()]]
#ifndef GENERATOR_FILE
if (REG_ATTRS (in_rtx))
{
fputs (" [", m_outfile);
if (regno != ORIGINAL_REGNO (in_rtx))
fprintf (m_outfile, "orig:%i", ORIGINAL_REGNO (in_rtx));
if (REG_EXPR (in_rtx))
print_mem_expr (m_outfile, REG_EXPR (in_rtx));
if (maybe_ne (REG_OFFSET (in_rtx), 0))
{
fprintf (m_outfile, "+");
print_poly_int (m_outfile, REG_OFFSET (in_rtx));
}
fputs (" ]", m_outfile);
}
if (regno != ORIGINAL_REGNO (in_rtx))
fprintf (m_outfile, " [%d]", ORIGINAL_REGNO (in_rtx));
#endif
-
--[[gcc-8.3/gcc/REG_ATTRS()]]
--[[gcc-8.3/gcc/ORIGINAL_REGNO()]]
--[[gcc-8.3/gcc/REG_EXPR()]]
--[[gcc-8.3/gcc/REG_OFFSET()]]
}
*コメント [#p3cd4812]
ページ名: