S/390 Bootstrap failure due to fixup_eh_region_note
Andrew Pinski
pinskia@physics.uc.edu
Tue Sep 6 03:39:00 GMT 2005
On Sep 5, 2005, at 6:39 PM, Richard Henderson wrote:
> On Mon, Sep 05, 2005 at 02:27:54PM +0200, Andreas Krebbel wrote:
>> (insn 31 29 49 5 (set (mem/s/j:SI (plus:SI (reg/v/f:SI 47 [ env ])
>> (const_int 4 [0x4])) [0 <variable>.ex+0 S4 A32])
>> (mem/f:SI (plus:SI (plus:SI (reg:SI 55)
>> (reg:SI 56))
>> (const_int 4092 [0xffc])) [0 S4 A32]))
>
> Guh.
>
> Well, I suppose this is no different from a fp arith insn with a
> pre-reload memory input that gets reloaded into a register. I
> suppose there's no invariant that I can enforce.
>
> If you look at the version of fixup_abnormal_edges before my patch
> you'll see a bit that calls find_many_sub_blocks; re-add that hunk
> and remove the assert in fixup_eh_region_note, then re-test.
Well find_many_sub_blocks will not find new BBs as the EH_REGION is an
external throw and not internal throw.
I think the following patch should fix the problem without any effects.
It just adds the check to make sure that we have internal throw when
checking
the trap_count.
Andreas, could you check this patch?
Richard, what do you think about this patch?
It fixes jni.ii for me.
-- Pinski
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: t.diff.txt
URL: <https://gcc.gnu.org/pipermail/gcc/attachments/20050906/78a84d98/attachment.txt>
More information about the Gcc
mailing list