openbsd-ports/devel/llvm/patches/patch-lib_Target_AArch64_AArch64FrameLowering_h
jca 2794487c37 Update to llvm-10.0.0
Positive feedback from landry@
2020-08-05 06:49:48 +00:00

39 lines
1.4 KiB
Plaintext

$OpenBSD: patch-lib_Target_AArch64_AArch64FrameLowering_h,v 1.2 2020/08/05 06:49:48 jca Exp $
Add retguard for arm64.
Index: lib/Target/AArch64/AArch64FrameLowering.h
--- lib/Target/AArch64/AArch64FrameLowering.h.orig
+++ 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 "AArch64StackOffset.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 emitCalleeSavedFrameMoves(MachineBasicBlock &MBB,
MachineBasicBlock::iterator MBBI) const;
@@ -35,6 +39,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 canUseAsPrologue(const MachineBasicBlock &MBB) const override;