Index: llvm/lib/Target/AArch64/AArch64FrameLowering.h
--- llvm/lib/Target/AArch64/AArch64FrameLowering.h.orig
+++ llvm/lib/Target/AArch64/AArch64FrameLowering.h
@@ -13,6 +13,7 @@
 #ifndef LLVM_LIB_TARGET_AARCH64_AARCH64FRAMELOWERING_H
 #define LLVM_LIB_TARGET_AARCH64_AARCH64FRAMELOWERING_H
 
+#include "AArch64ReturnProtectorLowering.h"
 #include "llvm/Support/TypeSize.h"
 #include "llvm/CodeGen/TargetFrameLowering.h"
 
@@ -20,9 +21,12 @@ namespace llvm {
 
 class AArch64FrameLowering : public TargetFrameLowering {
 public:
+
+  const AArch64ReturnProtectorLowering RPL;
+
   explicit AArch64FrameLowering()
       : TargetFrameLowering(StackGrowsDown, Align(16), 0, Align(16),
-                            true /*StackRealignable*/) {}
+                            true /*StackRealignable*/), RPL() {}
 
   void resetCFIToInitialState(MachineBasicBlock &MBB) const override;
 
@@ -34,6 +38,8 @@ class AArch64FrameLowering : public TargetFrameLowerin
   /// the function.
   void emitPrologue(MachineFunction &MF, MachineBasicBlock &MBB) const override;
   void emitEpilogue(MachineFunction &MF, MachineBasicBlock &MBB) const override;
+
+  const ReturnProtectorLowering *getReturnProtector() const override;
 
   bool enableCFIFixup(MachineFunction &MF) const override;
 
