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]

Re: Combine error?


> 
> I'm seeing many of these on hppa1.1 with --enable-checking:
> Internal compiler error in `combine_instructions', at combine.c:632
>     RTL check: access of elt 5 of `note' with last elt 4
> 
> That code is:
>           /* Try each sequence of three linked insns ending with this one.  */
> 
>           for (links = LOG_LINKS (insn); links; links = XEXP (links, 1))
> -->         for (nextlinks = LOG_LINKS (XEXP (links, 0)); nextlinks;
>                  nextlinks = XEXP (nextlinks, 1))
> 
> 
> The subexpression "XEXP (links, 0)" in some cases is a note, so the rtl
> checker flags a problem when we access LOG_LINKS of it.
> What is the intent here? Should we simply check for a note and not
> execute the for-loop if it is?
> 
> jason.

Nick Clifton posted a patch to do exactly that.  I objected because I 
thought that it was wrong for a log-link to point to a note (it happens 
because flow has converted the insn pointed to into a pre/post operand in 
another insn, but hasn't updated the link).  However, I thought Jeff had 
over-ruled on this one and said the patch was OK; but it doesn't seem to 
have got any further than that.

R.


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