This is the mail archive of the gcc-patches@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]

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.
-- 
Jim Wilson, GNU Tools Support, http://www.SpecifixInc.com


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