> Von: Gcc-help <gcc-help-bounces@xxxxxxxxxxx> Im Auftrag von Henri > Cloetens > Gesendet: Donnerstag, 4. Februar 2021 11:54 > An: gcc-help <gcc-help@xxxxxxxxxxx> > Betreff: Issue with frame pointer elimination > > Hello, > > I am working on a custom gcc.9.2.0 back end, and have an issue with frame > pointer elimination. > > - the result is OK till step '276 : ira (register allocation) > - the result is NG from step '277 onward (reload) > > What it did: It used R19 for the frame pointer. This register is call-clobbered, > but is not used for > argument passing. Some way, it assumed to be free, but it is not. > > So, the frame pointer is put in it, it is call-clobbered, and the result is > incorrect. > > If the compile flag -fomit-frame-pointer is used, the issue goes away. > > Has anybody any idea where to look ?. > > Best Regards, > > Henri. Maybe R19 is used as the FRAME_POINTER? Then you can't use it for other purposes which means that no function may clobber it. Stefan