"Mohamed Shafi" <[EMAIL PROTECTED]> writes: > Before register renaming pass, callee registers was being used in the > body of the code. Hence function prologue saved the register and > epilogue restored the register. But register renaming pass removed > this particular callee saved register.The output and code generation > is proper, but there is an unnecessary save and restore of a callee > saved register in the prologue and epilogue even though the reference > of the callee saved register has been removed by the renaming pass. > I am using the prologue/epilogue patterns instead of the target macros.
Which version of gcc? I was under the impression that this longstanding buglet was cleaned up by the dataflow work. > So is the rename pass allowed to rename a callee saved register? Where > might this going wrong? If this is the buglet I'm thinking of, the resulting code does work, despite being suboptimal. It just does an unnecessary save and restore. Ian