reload segfault

Bill Currie
Sun Jan 31 11:47:00 GMT 1999

Michael Hayes wrote:
> Bill Currie writes:
>  > If I change the #define to just return CLASS (rather than the function
>  > call), this particular problem dissapears, but in other code I get:
>  >
>  > (insn 2193 1790 2194 (set (reg:PSI 31 r31)
>  >         (high:PSI (lo_sum:PSI (reg:PSI 27 r27)
>  >                 (symbol_ref:SI ("system_include_depth"))))) -1 (nil)
>  >     (nil))
>  >
>  > which is definitly bogus.
>  >
>  > I'm going to continue tweaking my preferred_reload_class function and
>  > see if I can get it to work.  As it seems to only be DFmode regs that
>  > give me problems, I should get something soon (I hope).
> FYI, I had to tweak PREFERRED_RELOAD_CLASS for the C4x recently as
> well to fix a problem I had with an optional inherited reload.
> (I think this was triggered by Jim Wilson's 2 Dec patch).
> I ended up just returning CLASS to solve the problem.

I was returning NO_REGS when I really should have been returning CLASS
(just the one line in the whole function was wrong).

However, I think I may have just discovered the root cause of all my
problems:  Insufficient strict versions of various macros, and possibly
some missing ones.  I believe the original i860 work is quite old, so it
probably pre-dates many macros, definitly many of the recent changes. 
Lots of bitrot I guess.

I'm currently having problems with incorrect regclasses (more
PREFERRED_RELOAD_CLASS bogosity?), such as int regs being assigned to fp
operands, but that may be due to me not getting my regclass defines
right (I added a new class).

Leave others their otherness

More information about the Gcc mailing list