Hi all,

I'm trying to overcome an optimisation problem in my port of gcc. When the prologue and epilogue are generated as RTL lists, the compiler notices that certain registers are live, and emits save/restore sequences for them, with the appropriate stack adjustments. Later on, register renaming is able to change the registers used by the function from callee-save to caller-save, removing any need for the save/restore/stack adjust code in the prologue/epilogue. However, the instructions which perform these operations are still emitted.

How do I delete these redundant instructions? Can anyone point me at another port which solves this problem?

thanks,

dan.

============================================================================
Daniel Towner
picoChip Designs Ltd., Riverside Buildings, 108, Walcot Street, BATH,
BA1 5BG
[EMAIL PROTECTED]
07786 702589

Reply via email to