diff options
Diffstat (limited to 'llvm/lib/CodeGen/TargetOptionsImpl.cpp')
| -rw-r--r-- | llvm/lib/CodeGen/TargetOptionsImpl.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/llvm/lib/CodeGen/TargetOptionsImpl.cpp b/llvm/lib/CodeGen/TargetOptionsImpl.cpp index c33bf8b..16d86b4 100644 --- a/llvm/lib/CodeGen/TargetOptionsImpl.cpp +++ b/llvm/lib/CodeGen/TargetOptionsImpl.cpp @@ -30,7 +30,7 @@ bool TargetOptions::DisableFramePointerElim(const MachineFunction &MF) const { StringRef FP = FPAttr.getValueAsString(); if (FP == "all") return true; - if (FP == "non-leaf") + if (FP == "non-leaf" || FP == "non-leaf-no-reserve") return MF.getFrameInfo().hasCalls(); if (FP == "none" || FP == "reserved") return false; @@ -45,6 +45,7 @@ bool TargetOptions::FramePointerIsReserved(const MachineFunction &MF) const { return StringSwitch<bool>(FPAttr.getValueAsString()) .Cases({"all", "non-leaf", "reserved"}, true) + .Case(("non-leaf-no-reserve"), MF.getFrameInfo().hasCalls()) .Case("none", false); } |
