The Hi-Tec (sp?) Compiler was excellent on those parts. Microchip even recommended it over their own.
Those parts didnt support stack variables, so that compiler would analyze the call tree and essentially use global (fixed address) variables for locals, but it could reuse them in different functions.
Yes a pain for the compiler, but at least one did it really well.
Microchip bought HI-TECH a few years ago and rebranded the 8-bit PIC compiler as XC8 (and discontinued their own compiler).
It’s the only one of Microchip’s compilers that’s not GCC-based, which can be a pain. Also I remember at -O0, the generated code is just huge and inefficient.
Those parts didnt support stack variables, so that compiler would analyze the call tree and essentially use global (fixed address) variables for locals, but it could reuse them in different functions.
Yes a pain for the compiler, but at least one did it really well.