- 履歴一覧
- ソース を表示
- gcc-8.3/gcc/print_rtx_operand_code_0() は削除されています。
参照元†
- const_rtx in_rtx ATTRIBUTE_UNUSED
- int idx ATTRIBUTE_UNUSED
返り値†
/* Subroutine of print_rtx_operand for handling code '0'.
0 indicates a field for internal use that should not be printed.
However there are various special cases, such as the third field
of a NOTE, where it indicates that the field has several different
valid contents. */
void
rtx_writer::print_rtx_operand_code_0 (const_rtx in_rtx ATTRIBUTE_UNUSED,
int idx ATTRIBUTE_UNUSED)
{
#ifndef GENERATOR_FILE
if (idx == 1 && GET_CODE (in_rtx) == SYMBOL_REF)
{
int flags = SYMBOL_REF_FLAGS (in_rtx);
if (flags)
fprintf (m_outfile, " [flags %#x]", flags);
tree decl = SYMBOL_REF_DECL (in_rtx);
if (decl)
print_node_brief (m_outfile, "", decl, dump_flags);
}
else if (idx == 3 && NOTE_P (in_rtx))
{
switch (NOTE_KIND (in_rtx))
{
case NOTE_INSN_EH_REGION_BEG:
case NOTE_INSN_EH_REGION_END:
if (flag_dump_unnumbered)
fprintf (m_outfile, " #");
else
fprintf (m_outfile, " %d", NOTE_EH_HANDLER (in_rtx));
m_sawclose = 1;
break;
case NOTE_INSN_BLOCK_BEG:
case NOTE_INSN_BLOCK_END:
dump_addr (m_outfile, " ", NOTE_BLOCK (in_rtx));
m_sawclose = 1;
break;
case NOTE_INSN_BASIC_BLOCK:
{
basic_block bb = NOTE_BASIC_BLOCK (in_rtx);
if (bb != 0)
fprintf (m_outfile, " [bb %d]", bb->index);
break;
}
case NOTE_INSN_DELETED_LABEL:
case NOTE_INSN_DELETED_DEBUG_LABEL:
{
const char *label = NOTE_DELETED_LABEL_NAME (in_rtx);
if (label)
fprintf (m_outfile, " (\"%s\")", label);
else
fprintf (m_outfile, " \"\"");
}
break;
case NOTE_INSN_SWITCH_TEXT_SECTIONS:
{
basic_block bb = NOTE_BASIC_BLOCK (in_rtx);
if (bb != 0)
fprintf (m_outfile, " [bb %d]", bb->index);
break;
}
case NOTE_INSN_VAR_LOCATION:
fputc (' ', m_outfile);
print_rtx (NOTE_VAR_LOCATION (in_rtx));
break;
case NOTE_INSN_CFI:
fputc ('\n', m_outfile);
output_cfi_directive (m_outfile, NOTE_CFI (in_rtx));
fputc ('\t', m_outfile);
break;
case NOTE_INSN_BEGIN_STMT:
case NOTE_INSN_INLINE_ENTRY:
#ifndef GENERATOR_FILE
{
expanded_location xloc
= expand_location (NOTE_MARKER_LOCATION (in_rtx));
fprintf (m_outfile, " %s:%i", xloc.file, xloc.line);
}
#endif
break;
default:
break;
}
}
else if (idx == 7 && JUMP_P (in_rtx) && JUMP_LABEL (in_rtx) != NULL
&& !m_compact)
{
/* Output the JUMP_LABEL reference. */
fprintf (m_outfile, "\n%s%*s -> ", print_rtx_head, m_indent * 2, "");
if (GET_CODE (JUMP_LABEL (in_rtx)) == RETURN)
fprintf (m_outfile, "return");
else if (GET_CODE (JUMP_LABEL (in_rtx)) == SIMPLE_RETURN)
fprintf (m_outfile, "simple_return");
else
fprintf (m_outfile, "%d", INSN_UID (JUMP_LABEL (in_rtx)));
}
else if (idx == 0 && GET_CODE (in_rtx) == VALUE)
{
cselib_val *val = CSELIB_VAL_PTR (in_rtx);
fprintf (m_outfile, " %u:%u", val->uid, val->hash);
dump_addr (m_outfile, " @", in_rtx);
dump_addr (m_outfile, "/", (void*)val);
}
else if (idx == 0 && GET_CODE (in_rtx) == DEBUG_EXPR)
{
fprintf (m_outfile, " D#%i",
DEBUG_TEMP_UID (DEBUG_EXPR_TREE_DECL (in_rtx)));
}
else if (idx == 0 && GET_CODE (in_rtx) == ENTRY_VALUE)
{
m_indent += 2;
if (!m_sawclose)
fprintf (m_outfile, " ");
print_rtx (ENTRY_VALUE_EXP (in_rtx));
m_indent -= 2;
}
#endif
}
コメント†