Greetings Please .. where (in what file, dir) of the gcc (4.9.1) source should I rummage in order to change the sequence of instructions eventually emitted to do a function call?
I mean to target the sequence of saves of to-be-clobbered registers, change of stack/frame pointer ... and the reverse of that sequence that one finds around a function call in the compiled code. I'm looking at the OR1K port, which I would like to port further to a related architecture. I understand that I probably should be changing the RTL constructed somewhere near the front end, and that I will also have to do a bit of looking after what assembler is emitted at the back end. But for now, please point me at the right area of the code and I'll be able to get specific. Instead of decrementing the stack pointer on call, then incrementing it again on return, I want to save the stack pointer, then decrement it, and copy back from the saved copy instead of incrementing it again on return. This is similar to what happens to a frame pointer, when there is a frame pointer ... I hope somebody can direct me to the right area of the source code. Regards to all PTB