[Bug target/13722] [3.4/3.5 regression] [ia64] ICE in push_secondary_reload
------- Additional Comments From wilson at specifixinc dot com 2004-01-24 00:18 -------
Subject: Re: PR 13722 candidate fix
On Fri, 2004-01-23 at 00:47, Zack Weinberg wrote:
> Re-revised patch.
On the REG/SUBREG issue, I was looking at your latest patch. In the
full context of the previous patch, I see you already handle most of
these issues by having a default switch case that aborts. The only real
issue I see here is in the POST_MODIFY code where you have
+ if (GET_CODE (XEXP (offset, 1)) == REG)
...
+ else if (INTVAL (XEXP (offset, 1)) < -256 + 8)
which assumes without checking that the offset is a CONST_INT if it
isn't a REG. I put in an abort to see if this ever happens, but I doubt
that it does.
There is also a possible issue where you call reg_overlap_mentioned_p,
and then assume that we have registers without checking. However, since
we are already calling ia64_split_tmode, and that aborts for subregs, I
think this is actually safe optimization wise. I think this can only
fail if you have rtl checking enabled, and we have a subreg, in which we
get the abort before calling ia64_split_tmode instead of inside
ia64_split_tmode which isn't a serious problem.
I see you have another modified patch. I can try this when my current
build finishes.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13722
------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.
Reply to: