final.c: Include rtl-iter.h.

gcc/
	* final.c: Include rtl-iter.h.
	(mark_symbol_ref_as_used): Delete.
	(mark_symbol_refs_as_used): Use FOR_EACH_SUBRTX instead of
	for_each_rtx.

From-SVN: r214639
This commit is contained in:
Richard Sandiford 2014-08-28 06:23:18 +00:00 committed by Richard Sandiford
parent 9021b8ec96
commit effb8a2646
2 changed files with 17 additions and 28 deletions

View File

@ -1,3 +1,10 @@
2014-08-28 Richard Sandiford <rdsandiford@googlemail.com>
* final.c: Include rtl-iter.h.
(mark_symbol_ref_as_used): Delete.
(mark_symbol_refs_as_used): Use FOR_EACH_SUBRTX instead of
for_each_rtx.
2014-08-28 Richard Sandiford <rdsandiford@googlemail.com>
* emit-rtl.c: Include rtl-iter.h.

View File

@ -81,6 +81,7 @@ along with GCC; see the file COPYING3. If not see
#include "tree-pretty-print.h" /* for dump_function_header */
#include "asan.h"
#include "wide-int-print.h"
#include "rtl-iter.h"
#ifdef XCOFF_DEBUGGING_INFO
#include "xcoffout.h" /* Needed for external data
@ -3778,38 +3779,19 @@ output_asm_label (rtx x)
assemble_name (asm_out_file, buf);
}
/* Helper rtx-iteration-function for mark_symbol_refs_as_used and
output_operand. Marks SYMBOL_REFs as referenced through use of
assemble_external. */
static int
mark_symbol_ref_as_used (rtx *xp, void *dummy ATTRIBUTE_UNUSED)
{
rtx x = *xp;
/* If we have a used symbol, we may have to emit assembly
annotations corresponding to whether the symbol is external, weak
or has non-default visibility. */
if (GET_CODE (x) == SYMBOL_REF)
{
tree t;
t = SYMBOL_REF_DECL (x);
if (t)
assemble_external (t);
return -1;
}
return 0;
}
/* Marks SYMBOL_REFs in x as referenced through use of assemble_external. */
void
mark_symbol_refs_as_used (rtx x)
{
for_each_rtx (&x, mark_symbol_ref_as_used, NULL);
subrtx_iterator::array_type array;
FOR_EACH_SUBRTX (iter, array, x, ALL)
{
const_rtx x = *iter;
if (GET_CODE (x) == SYMBOL_REF)
if (tree t = SYMBOL_REF_DECL (x))
assemble_external (t);
}
}
/* Print operand X using machine-dependent assembler syntax.
@ -3835,7 +3817,7 @@ output_operand (rtx x, int code ATTRIBUTE_UNUSED)
if (x == NULL_RTX)
return;
for_each_rtx (&x, mark_symbol_ref_as_used, NULL);
mark_symbol_refs_as_used (x);
}
/* Print a memory reference operand for address X using