diff options
Diffstat (limited to 'llvm/lib/IR')
-rw-r--r-- | llvm/lib/IR/Function.cpp | 3 | ||||
-rw-r--r-- | llvm/lib/IR/Verifier.cpp | 2 |
2 files changed, 4 insertions, 1 deletions
diff --git a/llvm/lib/IR/Function.cpp b/llvm/lib/IR/Function.cpp index 13fa1af..3f73502 100644 --- a/llvm/lib/IR/Function.cpp +++ b/llvm/lib/IR/Function.cpp @@ -383,6 +383,9 @@ Function *Function::createWithDefaultAttr(FunctionType *Ty, case FramePointerKind::None: // 0 ("none") is the default. break; + case FramePointerKind::Reserved: + B.addAttribute("frame-pointer", "reserved"); + break; case FramePointerKind::NonLeaf: B.addAttribute("frame-pointer", "non-leaf"); break; diff --git a/llvm/lib/IR/Verifier.cpp b/llvm/lib/IR/Verifier.cpp index 684e544..e592720 100644 --- a/llvm/lib/IR/Verifier.cpp +++ b/llvm/lib/IR/Verifier.cpp @@ -2322,7 +2322,7 @@ void Verifier::verifyFunctionAttrs(FunctionType *FT, AttributeList Attrs, if (Attrs.hasFnAttr("frame-pointer")) { StringRef FP = Attrs.getFnAttr("frame-pointer").getValueAsString(); - if (FP != "all" && FP != "non-leaf" && FP != "none") + if (FP != "all" && FP != "non-leaf" && FP != "none" && FP != "reserved") CheckFailed("invalid value for 'frame-pointer' attribute: " + FP, V); } |