re PR inline-asm/10890 (ICE in merge_assigned_reloads building Linux 2.4.2x sched.c)
PR inline-asm/10890 * reload1.c (merge_assigned_reloads): Abort only if two reloads have different in fields. From-SVN: r67577
This commit is contained in:
parent
6a1b7268b9
commit
8a5db2b4c4
@ -1,3 +1,9 @@
|
||||
2003-06-06 James E Wilson <wilson@tuliptree.org>
|
||||
|
||||
PR inline-asm/10890
|
||||
* reload1.c (merge_assigned_reloads): Abort only if two reloads have
|
||||
different in fields.
|
||||
|
||||
2003-06-06 Nathanael Nerode <neroden@gcc.gnu.org>
|
||||
|
||||
* configure.in: Make $(target_subdir) correspond with top level usage.
|
||||
|
@ -6138,13 +6138,15 @@ merge_assigned_reloads (insn)
|
||||
? RELOAD_FOR_OTHER_ADDRESS : RELOAD_OTHER);
|
||||
|
||||
/* Check to see if we accidentally converted two reloads
|
||||
that use the same reload register to the same type.
|
||||
If so, the resulting code won't work, so abort. */
|
||||
that use the same reload register with different inputs
|
||||
to the same type. If so, the resulting code won't work,
|
||||
so abort. */
|
||||
if (rld[j].reg_rtx)
|
||||
for (k = 0; k < j; k++)
|
||||
if (rld[k].in != 0 && rld[k].reg_rtx != 0
|
||||
&& rld[k].when_needed == rld[j].when_needed
|
||||
&& rtx_equal_p (rld[k].reg_rtx, rld[j].reg_rtx))
|
||||
&& rtx_equal_p (rld[k].reg_rtx, rld[j].reg_rtx)
|
||||
&& ! rtx_equal_p (rld[k].in, rld[j].in))
|
||||
abort ();
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user