gcc-8.3/gcc/rtx_writer/print_rtx_operand_code_0()
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
*参照元 [#u29a747a]
#backlinks
*説明 [#u566787c]
-パス: [[gcc-8.3/gcc/print-rtl.c]]
-FIXME: これは何?
--説明
**引数 [#m68afc36]
-const_rtx in_rtx ATTRIBUTE_UNUSED
--
--[[gcc-8.3/gcc/const_rtx]]
--[[gcc-8.3/gcc/ATTRIBUTE_UNUSED]]
-int idx ATTRIBUTE_UNUSED
--
**返り値 [#f62bc4e2]
-なし
**参考 [#s11060ed]
*実装 [#k1653f35]
/* Subroutine of print_rtx_operand for handling code '0'.
0 indicates a field for internal use that should not ...
However there are various special cases, such as the ...
of a NOTE, where it indicates that the field has seve...
valid contents. */
void
rtx_writer::print_rtx_operand_code_0 (const_rtx in_rtx A...
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);
}
-
--[[gcc-8.3/gcc/GET_CODE()]]
--[[gcc-8.3/gcc/SYMBOL_REF_FLAGS()]]
--[[gcc-8.3/gcc/SYMBOL_REF_DECL()]]
--[[gcc-8.3/gcc/print_node_brief()]]
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;
-
--[[gcc-8.3/gcc/NOTE_EH_HANDLER()]]
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;
}
-
--[[gcc-8.3/gcc/dump_addr()]]
--[[gcc-8.3/gcc/NOTE_BLOCK()]]
--[[gcc-8.3/gcc/basic_block]]
--[[gcc-8.3/gcc/NOTE_BASIC_BLOCK()]]
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;
-
--[[gcc-8.3/gcc/NOTE_DELETED_LABEL_NAME()]]
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;
-
--[[gcc-8.3/gcc/rtx_writer/print_rtx()]]
--[[gcc-8.3/gcc/NOTE_VAR_LOCATION()]]
case NOTE_INSN_CFI:
fputc ('\n', m_outfile);
output_cfi_directive (m_outfile, NOTE_CFI (in_rtx));
fputc ('\t', m_outfile);
break;
-
--[[gcc-8.3/gcc/NOTE_CFI()]]
--[[gcc-8.3/gcc/output_cfi_directive()]]
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;
}
-
--[[gcc-8.3/gcc/expanded_location]]
--[[gcc-8.3/gcc/expand_location()]]
--[[gcc-8.3/gcc/NOTE_MARKER_LOCATION()]]
}
else if (idx == 7 && JUMP_P (in_rtx) && JUMP_LABEL (in...
&& !m_compact)
{
/* Output the JUMP_LABEL reference. */
fprintf (m_outfile, "\n%s%*s -> ", print_rtx_head,...
if (GET_CODE (JUMP_LABEL (in_rtx)) == RETURN)
fprintf (m_outfile, "return");
else if (GET_CODE (JUMP_LABEL (in_rtx)) == SIMPLE_...
fprintf (m_outfile, "simple_return");
else
fprintf (m_outfile, "%d", INSN_UID (JUMP_LABEL (in_rtx)...
}
-
--[[gcc-8.3/gcc/JUMP_P()]]
--[[gcc-8.3/gcc/JUMP_LABEL()]]
--[[gcc-8.3/gcc/GET_CODE()]]
--[[gcc-8.3/gcc/INSN_UID()]]
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);
}
-
--[[gcc-8.3/gcc/cselib_val]]
--[[gcc-8.3/gcc/CSELIB_VAL_PTR()]]
else if (idx == 0 && GET_CODE (in_rtx) == DEBUG_EXPR)
{
fprintf (m_outfile, " D#%i",
DEBUG_TEMP_UID (DEBUG_EXPR_TREE_DECL (in_rtx)));
}
-
--[[gcc-8.3/gcc/DEBUG_TEMP_UID()]]
--[[gcc-8.3/gcc/DEBUG_EXPR_TREE_DECL()]]
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
}
-
--[[gcc-8.3/gcc/GET_CODE()]]
--[[gcc-8.3/gcc/ENTRY_VALUE_EXP()]]
*コメント [#nec0f1b6]
終了行:
*参照元 [#u29a747a]
#backlinks
*説明 [#u566787c]
-パス: [[gcc-8.3/gcc/print-rtl.c]]
-FIXME: これは何?
--説明
**引数 [#m68afc36]
-const_rtx in_rtx ATTRIBUTE_UNUSED
--
--[[gcc-8.3/gcc/const_rtx]]
--[[gcc-8.3/gcc/ATTRIBUTE_UNUSED]]
-int idx ATTRIBUTE_UNUSED
--
**返り値 [#f62bc4e2]
-なし
**参考 [#s11060ed]
*実装 [#k1653f35]
/* Subroutine of print_rtx_operand for handling code '0'.
0 indicates a field for internal use that should not ...
However there are various special cases, such as the ...
of a NOTE, where it indicates that the field has seve...
valid contents. */
void
rtx_writer::print_rtx_operand_code_0 (const_rtx in_rtx A...
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);
}
-
--[[gcc-8.3/gcc/GET_CODE()]]
--[[gcc-8.3/gcc/SYMBOL_REF_FLAGS()]]
--[[gcc-8.3/gcc/SYMBOL_REF_DECL()]]
--[[gcc-8.3/gcc/print_node_brief()]]
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;
-
--[[gcc-8.3/gcc/NOTE_EH_HANDLER()]]
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;
}
-
--[[gcc-8.3/gcc/dump_addr()]]
--[[gcc-8.3/gcc/NOTE_BLOCK()]]
--[[gcc-8.3/gcc/basic_block]]
--[[gcc-8.3/gcc/NOTE_BASIC_BLOCK()]]
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;
-
--[[gcc-8.3/gcc/NOTE_DELETED_LABEL_NAME()]]
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;
-
--[[gcc-8.3/gcc/rtx_writer/print_rtx()]]
--[[gcc-8.3/gcc/NOTE_VAR_LOCATION()]]
case NOTE_INSN_CFI:
fputc ('\n', m_outfile);
output_cfi_directive (m_outfile, NOTE_CFI (in_rtx));
fputc ('\t', m_outfile);
break;
-
--[[gcc-8.3/gcc/NOTE_CFI()]]
--[[gcc-8.3/gcc/output_cfi_directive()]]
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;
}
-
--[[gcc-8.3/gcc/expanded_location]]
--[[gcc-8.3/gcc/expand_location()]]
--[[gcc-8.3/gcc/NOTE_MARKER_LOCATION()]]
}
else if (idx == 7 && JUMP_P (in_rtx) && JUMP_LABEL (in...
&& !m_compact)
{
/* Output the JUMP_LABEL reference. */
fprintf (m_outfile, "\n%s%*s -> ", print_rtx_head,...
if (GET_CODE (JUMP_LABEL (in_rtx)) == RETURN)
fprintf (m_outfile, "return");
else if (GET_CODE (JUMP_LABEL (in_rtx)) == SIMPLE_...
fprintf (m_outfile, "simple_return");
else
fprintf (m_outfile, "%d", INSN_UID (JUMP_LABEL (in_rtx)...
}
-
--[[gcc-8.3/gcc/JUMP_P()]]
--[[gcc-8.3/gcc/JUMP_LABEL()]]
--[[gcc-8.3/gcc/GET_CODE()]]
--[[gcc-8.3/gcc/INSN_UID()]]
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);
}
-
--[[gcc-8.3/gcc/cselib_val]]
--[[gcc-8.3/gcc/CSELIB_VAL_PTR()]]
else if (idx == 0 && GET_CODE (in_rtx) == DEBUG_EXPR)
{
fprintf (m_outfile, " D#%i",
DEBUG_TEMP_UID (DEBUG_EXPR_TREE_DECL (in_rtx)));
}
-
--[[gcc-8.3/gcc/DEBUG_TEMP_UID()]]
--[[gcc-8.3/gcc/DEBUG_EXPR_TREE_DECL()]]
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
}
-
--[[gcc-8.3/gcc/GET_CODE()]]
--[[gcc-8.3/gcc/ENTRY_VALUE_EXP()]]
*コメント [#nec0f1b6]
ページ名: