This is the mail archive of the
mailing list for the GCC project.
Re: internal compiler error: in reload_combine_note_use, at postreload.c:1093
- From: Dave Korn <dave dot korn dot cygwin at googlemail dot com>
- To: daniel tian <daniel dot xntian at gmail dot com>
- Cc: gcc at gcc dot gnu dot org, Ian Lance Taylor <iant at google dot com>, yxun lan <dennis dot yxun at gmail dot com>
- Date: Wed, 13 May 2009 12:44:04 +0100
- Subject: Re: internal compiler error: in reload_combine_note_use, at postreload.c:1093
- References: <email@example.com>
daniel tian wrote:
> I have ported gcc4.0.2 to 32bit RISC chip. But internal compiler
> error happened: in reload_combine_note_use, at postreload.c:1093 . I
> tracked the code with insight. error occurred in "CASE REG", when the
> register number is larger than FIRST_PSEUDO_REGISTER. Does this mean
> the reload register allocation failed? What I know is that there is
> no pseudo register used after reload completed (Is this right?).
Yes, this is correct.
> Can anyone give me some advice?
It is most likely one of the expanders or other patterns in your MD file is
unconditionally calling a function such as force_reg() without checking the
reload_completed / reload_in_progress flags. If this pattern gets invoked
post-reload, that will allocate a pseudo and then fail later.