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.
cheers,
DaveK