aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/mips
diff options
context:
space:
mode:
authorrsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4>2014-10-26 10:41:53 +0000
committerrsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4>2014-10-26 10:41:53 +0000
commit548765d9dc2ab900ec6b528d5762cd93c9f3cb1d (patch)
treee7bfc4042b248ddfb5843ff22747a7782b3ed77c /gcc/config/mips
parentc5cc1cd18a8a7eea9aa1ba60d110fa41f4af097c (diff)
gcc/
* config/mips/mips.c (mips_record_lo_sum): Replace with... (mips_record_lo_sums): ...this new function. (mips_reorg_process_insns): Update accordingly. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@216714 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/mips')
-rw-r--r--gcc/config/mips/mips.c19
1 files changed, 9 insertions, 10 deletions
diff --git a/gcc/config/mips/mips.c b/gcc/config/mips/mips.c
index fe1f5f5f220..e0d701b532b 100644
--- a/gcc/config/mips/mips.c
+++ b/gcc/config/mips/mips.c
@@ -16040,16 +16040,15 @@ mips_lo_sum_offset_lookup (mips_offset_table *htab, rtx x,
return INTVAL (offset) <= entry->offset;
}
-/* A for_each_rtx callback for which DATA is a mips_lo_sum_offset hash table.
- Record every LO_SUM in *LOC. */
+/* Search X for LO_SUMs and record them in HTAB. */
-static int
-mips_record_lo_sum (rtx *loc, void *data)
+static void
+mips_record_lo_sums (const_rtx x, mips_offset_table *htab)
{
- if (GET_CODE (*loc) == LO_SUM)
- mips_lo_sum_offset_lookup ((mips_offset_table*) data,
- XEXP (*loc, 1), INSERT);
- return 0;
+ subrtx_iterator::array_type array;
+ FOR_EACH_SUBRTX (iter, array, x, NONCONST)
+ if (GET_CODE (*iter) == LO_SUM)
+ mips_lo_sum_offset_lookup (htab, XEXP (*iter, 1), INSERT);
}
/* Return true if INSN is a SET of an orphaned high-part relocation.
@@ -16224,10 +16223,10 @@ mips_reorg_process_insns (void)
get_referenced_operands (string, used, noperands);
for (int i = 0; i < noperands; ++i)
if (used[i])
- for_each_rtx (&ops[i], mips_record_lo_sum, &htab);
+ mips_record_lo_sums (ops[i], &htab);
}
else
- for_each_rtx (&PATTERN (subinsn), mips_record_lo_sum, &htab);
+ mips_record_lo_sums (PATTERN (subinsn), &htab);
}
last_insn = 0;