ICE in delete_output_reload

Michael Eager eager@eagercon.com
Tue Feb 12 19:01:00 GMT 2008


I'm trying to understand an assertion failure in reload1.c:8135.

In delete_output_reload(), I'm getting an assertion failure
in this code:

   for (i1 = reg_equiv_alt_mem_list [REGNO (reg)]; i1; i1 = XEXP (i1, 1))
     {
       gcc_assert (!rtx_equal_p (XEXP (i1, 0), substed));
       n_occurrences += count_occurrences (PATTERN (insn), XEXP (i1, 0), 0);
     }

Sure enough, i1 matches substed.

reg_equiv_memory_loc[regno] (the source for substed) is the same as 
reg_equiv_alt_mem_list[regno].

Why is this unexpected and what might cause it?

-- 
Michael Eager	 eager@eagercon.com
1960 Park Blvd., Palo Alto, CA 94306  650-325-8077



More information about the Gcc mailing list