Commit 8a5db2b4 by James E Wilson Committed by Jim Wilson

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
parent 6a1b7268
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> 2003-06-06 Nathanael Nerode <neroden@gcc.gnu.org>
* configure.in: Make $(target_subdir) correspond with top level usage. * configure.in: Make $(target_subdir) correspond with top level usage.
......
...@@ -6138,13 +6138,15 @@ merge_assigned_reloads (insn) ...@@ -6138,13 +6138,15 @@ merge_assigned_reloads (insn)
? RELOAD_FOR_OTHER_ADDRESS : RELOAD_OTHER); ? RELOAD_FOR_OTHER_ADDRESS : RELOAD_OTHER);
/* Check to see if we accidentally converted two reloads /* Check to see if we accidentally converted two reloads
that use the same reload register to the same type. that use the same reload register with different inputs
If so, the resulting code won't work, so abort. */ to the same type. If so, the resulting code won't work,
so abort. */
if (rld[j].reg_rtx) if (rld[j].reg_rtx)
for (k = 0; k < j; k++) for (k = 0; k < j; k++)
if (rld[k].in != 0 && rld[k].reg_rtx != 0 if (rld[k].in != 0 && rld[k].reg_rtx != 0
&& rld[k].when_needed == rld[j].when_needed && 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 (); abort ();
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment