This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug target/13722] [3.4/3.5 regression] [ia64] ICE in push_secondary_reload


------- Additional Comments From zack at codesourcery dot com  2004-01-24 01:35 -------
Subject: Re: PR 13722 candidate fix

Jim Wilson <wilson@specifixinc.com> writes:

> 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.

Yes.  I think there are good /a priori/ reasons to assume that we
won't ever get SUBREGs here, so I think this is adequate.  (A SUBREG
in the operand itself could only be paradoxical, and shouldn't survive
this far; a SUBREG in the MEM expression would either be paradoxical,
and again shouldn't have survived this far, or would take it out of
Pmode and therefore indicate a bug elsewhere.)

> 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.

The theory here was that INTVAL would trigger an RTL checking abort if
offset wasn't a CONST_INT, so there was no need for an explicit
check.  I now remember that RTL checking isn't on by default, so an
explicit check would probably be wise.

> I see you have another modified patch.  I can try this when my current
> build finishes.

I would appreciate that.

zw


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13722


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]