[PATCH] D24228: [Thumb] Save/restore high registers in Thumb1 pro/epilogues
Oliver Stannard via llvm-commits
llvm-commits at lists.llvm.org
Thu Sep 15 02:23:15 PDT 2016
olista01 marked 2 inline comments as done.
olista01 added a comment.
> I think it would be nice to factor out the duplicated code into some helpers though.
I don't think there is enough common code to actually factor any of it out - there are plenty of small differences between saving and restoring, such as different treatment of lr, and checking argument or return registers.
================
Comment at: lib/Target/ARM/Thumb1FrameLowering.cpp:314
@@ -313,3 @@
- for (int i = 2, e = MI.getNumOperands() - 2; i != e; ++i)
- if (!isCalleeSavedRegister(MI.getOperand(i).getReg(), CSRegs))
- return false;
----------------
rovka wrote:
> Can't you update this check rather than delete it?
We can now use r0-r3 as part of restoring the high registers (when they are not used as arguments), so any valid register for the tPOP instruction could appear here.
Repository:
rL LLVM
https://reviews.llvm.org/D24228
More information about the llvm-commits
mailing list