diff options
| author | Krzysztof Parzyszek <kparzysz@codeaurora.org> | 2017-08-10 16:17:32 +0000 |
|---|---|---|
| committer | Krzysztof Parzyszek <kparzysz@codeaurora.org> | 2017-08-10 16:17:32 +0000 |
| commit | bea30c62862cd617fe7fd1bf439b434c76168550 (patch) | |
| tree | 070669ffcd87acf1be10172f2c3b827ab55d810c /llvm/lib/Target/AArch64/AArch64FrameLowering.cpp | |
| parent | b88de416367d703eff36c87722537658f2aaee0f (diff) | |
| download | bcm5719-llvm-bea30c62862cd617fe7fd1bf439b434c76168550.tar.gz bcm5719-llvm-bea30c62862cd617fe7fd1bf439b434c76168550.zip | |
Add "Restored" flag to CalleeSavedInfo
The liveness-tracking code assumes that the registers that were saved
in the function's prolog are live outside of the function. Specifically,
that registers that were saved are also live-on-exit from the function.
This isn't always the case as illustrated by the LR register on ARM.
Differential Revision: https://reviews.llvm.org/D36160
llvm-svn: 310619
Diffstat (limited to 'llvm/lib/Target/AArch64/AArch64FrameLowering.cpp')
| -rw-r--r-- | llvm/lib/Target/AArch64/AArch64FrameLowering.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/llvm/lib/Target/AArch64/AArch64FrameLowering.cpp b/llvm/lib/Target/AArch64/AArch64FrameLowering.cpp index 7c6a9999040..60f85115671 100644 --- a/llvm/lib/Target/AArch64/AArch64FrameLowering.cpp +++ b/llvm/lib/Target/AArch64/AArch64FrameLowering.cpp @@ -1092,7 +1092,7 @@ bool AArch64FrameLowering::spillCalleeSavedRegisters( bool AArch64FrameLowering::restoreCalleeSavedRegisters( MachineBasicBlock &MBB, MachineBasicBlock::iterator MI, - const std::vector<CalleeSavedInfo> &CSI, + std::vector<CalleeSavedInfo> &CSI, const TargetRegisterInfo *TRI) const { MachineFunction &MF = *MBB.getParent(); const TargetInstrInfo &TII = *MF.getSubtarget().getInstrInfo(); |

