Index: llvm/lib/Target/X86/X86FrameLowering.h
--- llvm/lib/Target/X86/X86FrameLowering.h.orig
+++ llvm/lib/Target/X86/X86FrameLowering.h
@@ -13,6 +13,7 @@
 #ifndef LLVM_LIB_TARGET_X86_X86FRAMELOWERING_H
 #define LLVM_LIB_TARGET_X86_X86FRAMELOWERING_H
 
+#include "X86ReturnProtectorLowering.h"
 #include "llvm/CodeGen/MachineFunction.h"
 #include "llvm/CodeGen/TargetFrameLowering.h"
 #include "llvm/Support/TypeSize.h"
@@ -24,6 +25,7 @@ class MCCFIInstruction;
 class X86InstrInfo;
 class X86Subtarget;
 class X86RegisterInfo;
+class X86ReturnProtectorLowering;
 
 class X86FrameLowering : public TargetFrameLowering {
 public:
@@ -34,7 +36,10 @@ class X86FrameLowering : public TargetFrameLowering { 
   const X86Subtarget &STI;
   const X86InstrInfo &TII;
   const X86RegisterInfo *TRI;
+  const X86ReturnProtectorLowering RPL;
 
+  bool SaveArgs;
+
   unsigned SlotSize;
 
   /// Is64Bit implies that x86_64 instructions are available.
@@ -77,6 +82,8 @@ class X86FrameLowering : public TargetFrameLowering { 
   /// the function.
   void emitPrologue(MachineFunction &MF, MachineBasicBlock &MBB) const override;
   void emitEpilogue(MachineFunction &MF, MachineBasicBlock &MBB) const override;
+
+  const ReturnProtectorLowering *getReturnProtector() const override;
 
   void adjustForSegmentedStacks(MachineFunction &MF,
                                 MachineBasicBlock &PrologueMBB) const override;
