Index: llvm/include/llvm/CodeGen/TargetFrameLowering.h
--- llvm/include/llvm/CodeGen/TargetFrameLowering.h.orig
+++ llvm/include/llvm/CodeGen/TargetFrameLowering.h
@@ -14,6 +14,7 @@
 #define LLVM_CODEGEN_TARGETFRAMELOWERING_H
 
 #include "llvm/CodeGen/MachineBasicBlock.h"
+#include "llvm/CodeGen/ReturnProtectorLowering.h"
 #include "llvm/Support/TypeSize.h"
 #include <vector>
 
@@ -212,6 +213,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,
