[PATCH] D24228: [Thumb] Save/restore high registers in Thumb1 pro/epilogues

Oliver Stannard via llvm-commits llvm-commits at lists.llvm.org
Mon Oct 3 02:31:02 PDT 2016


olista01 added inline comments.


> t.p.northover wrote in Thumb1FrameLowering.cpp:654-656
> Ouch, that's pretty evil. As far as I can tell the intrinsic is recording the fact that the exception could have come from virtually anywhere, including an ARM function that's clobbered everything.
> 
> But clearly that hasn't worked in the past either so I'd prefer making that an explicit ABI contract: we can change the regmask set in ARMISelLowering.cpp to reflect that d8-d15 must be preserved by whatever means rather than letting the frame lowering continue to do something that's clearly wrong.
> 
> Realistically, no-one is going to come along and ask us to support SjLj exceptions for Thumb1-only code that uses VFP regs any more anyway (Xcode hasn't been able to target it since 2012 as far as I can tell); a FrameLowering sanity-check is more important.

I've put this up for review as a separate patch at https://reviews.llvm.org/D25180.

Repository:
  rL LLVM

https://reviews.llvm.org/D24228





More information about the llvm-commits mailing list