[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[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: