On 11/15/2017 08:33 AM, Ábrahám Endre wrote: > Hi, > I'm trying to make a gcc backend for a stack machine, is there a way to > disable register specific behaviour required by target.h, target.c? also > all preserved names in the RTL language assume usages of operands (addm3 > mulm3 etc) which is not an option in my target, do I have to manually set > up new stack-based behaviour in the def? I suspect the best way to go is to pretend you have a normal register file up through the register allocator. After register allocation you'll want to convert to a stacked file.
GCC already does this for the x87 floating point unit, so you could probably generalize and build on top of that existing code (reg-stack.c). jeff