Changing call_used_regs etc. in a port (was: Re: Status of the MMIX GCC port...)

Richard Kenner kenner@vlsi1.ultra.nyu.edu
Thu Feb 24 02:51:00 GMT 2000


    Aha.  Thanks for the pointer.  It might make some things easier.
    However, the way fixed_regs, saved_regs and call_used_regs (and
    other variables) are modified in INIT_ACCUMULATIVE_ARGS and
    incoming_reg for a29k seems a bit questionable: 

It is a bit questionable, but that is the only way to do it,
unfortunately.

    If it is really intended that they can, and in cases like this,
    should be modified by (e.g.) the target function-arg macros,
    perhaps it should be documented and parametrized?

I agree.  I'd suggest you look into whether it does, in fact, still work.
If so, make a change to the documentation to say it works and, if not,
see what's involved in making it work.

    If for no other reason, than if it's *not* documented, then that
    functionality may start to rot, and some core code will start to
    rely on the register allocation variables be set only once per
    compilation-unit. 

I agree, but it's hard to see why that's *required*.

    Is the a29k port in common use with gcc or egcs versions post 2.8.1,
    for example gcc 2.95?  More precisely, does that scheme still work?

I don't know the answer to either of those.


More information about the Gcc mailing list