A reload inheritance bug
Bernd Schmidt
bernds_cb1@t-online.de
Mon Jun 11 15:26:00 GMT 2007
Mark Shinwell wrote:
> Do you think it should be the case that, at the point below, _any_ reload
> with reg_rtx corresponding to a hard register should have the relevant
> bit set in reload_spill_index?
I think so. I'm attaching a patch below. It appears to have no effect
on all code I've tried - does it fix your test case?
> + if (rld[r].when_needed == RELOAD_FOR_INPUT
> + && rld[r].reg_rtx
> + && REGNO (rld[r].reg_rtx) < FIRST_PSEUDO_REGISTER)
> + {
> + reload_spill_index[r] = REGNO (rld[r].reg_rtx);
> + mark_reload_reg_in_use (j,
> + rld[r].opnum,
> + rld[r].when_needed,
> + rld[r].mode);
I don't think we need mark_reload_reg_in_use, as there are other
mechanisms preventing conflicts.
Bernd
--
This footer brought to you by insane German lawmakers.
Analog Devices GmbH Wilhelm-Wagenfeld-Str. 6 80807 Muenchen
Sitz der Gesellschaft Muenchen, Registergericht Muenchen HRB 40368
Geschaeftsfuehrer Thomas Wessel, William A. Martin, Margaret Seif
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: spill_index.diff
URL: <https://gcc.gnu.org/pipermail/gcc/attachments/20070611/c846bec4/attachment.ksh>
More information about the Gcc
mailing list