From bea30c62862cd617fe7fd1bf439b434c76168550 Mon Sep 17 00:00:00 2001 From: Krzysztof Parzyszek Date: Thu, 10 Aug 2017 16:17:32 +0000 Subject: 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 --- llvm/lib/Target/X86/X86FrameLowering.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'llvm/lib/Target/X86/X86FrameLowering.cpp') diff --git a/llvm/lib/Target/X86/X86FrameLowering.cpp b/llvm/lib/Target/X86/X86FrameLowering.cpp index f294e819090..382c71ead5c 100644 --- a/llvm/lib/Target/X86/X86FrameLowering.cpp +++ b/llvm/lib/Target/X86/X86FrameLowering.cpp @@ -1999,7 +1999,7 @@ bool X86FrameLowering::spillCalleeSavedRegisters( bool X86FrameLowering::restoreCalleeSavedRegisters(MachineBasicBlock &MBB, MachineBasicBlock::iterator MI, - const std::vector &CSI, + std::vector &CSI, const TargetRegisterInfo *TRI) const { if (CSI.empty()) return false; -- cgit v1.2.3