FailedChanges

Summary

  1. [AVR] Fix a bug where the frame pointer is clobbered Because it was a callee-saved register, we automatically generated code to spill and unspill its original value so that it is restored after the function returns. The problem is that this code was being generated before the epilogue. The epilogue itself uses the Y register, which could be prematurely restored by the CSR restoration process. This removes R29R28 from the CSR list and changes the prologue/epilogue code to handle it explicitly.
Revision 301887 by dylanmckay:
[AVR] Fix a bug where the frame pointer is clobbered

Because it was a callee-saved register, we automatically generated code
to spill and unspill its original value so that it is restored after the
function returns.

The problem is that this code was being generated before the epilogue.
The epilogue itself uses the Y register, which could be prematurely
restored by the CSR restoration process.

This removes R29R28 from the CSR list and changes the prologue/epilogue
code to handle it explicitly.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/AVR/AVRFrameLowering.cpp (diff)llvm-revision.src/llvm/trunk/lib/Target/AVR/AVRFrameLowering.cpp