Index: llvm/include/llvm/CodeGen/TargetFrameLowering.h
--- llvm/include/llvm/CodeGen/TargetFrameLowering.h.orig
+++ llvm/include/llvm/CodeGen/TargetFrameLowering.h
@@ -15,6 +15,7 @@
 
 #include "llvm/ADT/BitVector.h"
 #include "llvm/CodeGen/MachineBasicBlock.h"
+#include "llvm/CodeGen/ReturnProtectorLowering.h"
 #include "llvm/Support/TypeSize.h"
 #include <vector>
 
@@ -215,6 +216,10 @@ class TargetFrameLowering { (public)
                             MachineBasicBlock &MBB) const = 0;
   virtual void emitEpilogue(MachineFunction &MF,
                             MachineBasicBlock &MBB) const = 0;
+
+  virtual const ReturnProtectorLowering *getReturnProtector() const {
+    return nullptr;
+  }
 
   /// emitZeroCallUsedRegs - Zeros out call used registers.
   virtual void emitZeroCallUsedRegs(BitVector RegsToZero,
