diff options
author | Richard Sandiford <richard.sandiford@arm.com> | 2014-10-26 10:41:53 +0000 |
---|---|---|
committer | Richard Sandiford <rsandifo@gcc.gnu.org> | 2014-10-26 10:41:53 +0000 |
commit | 01333d81e4b493b1f9069e6d496b6071f69d8558 (patch) | |
tree | e7bfc4042b248ddfb5843ff22747a7782b3ed77c /gcc/config/mips | |
parent | 9b8317b4b7fed6d0a30d36450186a745f17b2913 (diff) | |
download | gcc-01333d81e4b493b1f9069e6d496b6071f69d8558.tar.gz |
mips.c (mips_record_lo_sum): Replace with...
gcc/
* config/mips/mips.c (mips_record_lo_sum): Replace with...
(mips_record_lo_sums): ...this new function.
(mips_reorg_process_insns): Update accordingly.
From-SVN: r216714
Diffstat (limited to 'gcc/config/mips')
-rw-r--r-- | gcc/config/mips/mips.c | 19 |
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; |