aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/IR/Module.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/lib/IR/Module.cpp')
-rw-r--r--llvm/lib/IR/Module.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/llvm/lib/IR/Module.cpp b/llvm/lib/IR/Module.cpp
index b5108f7..726ac6a 100644
--- a/llvm/lib/IR/Module.cpp
+++ b/llvm/lib/IR/Module.cpp
@@ -676,6 +676,16 @@ bool Module::getUwtable() const {
void Module::setUwtable() { addModuleFlag(ModFlagBehavior::Max, "uwtable", 1); }
+FramePointerKind Module::getFramePointer() const {
+ auto *Val = cast_or_null<ConstantAsMetadata>(getModuleFlag("frame-pointer"));
+ return static_cast<FramePointerKind>(
+ Val ? cast<ConstantInt>(Val->getValue())->getZExtValue() : 0);
+}
+
+void Module::setFramePointer(FramePointerKind Kind) {
+ addModuleFlag(ModFlagBehavior::Max, "frame-pointer", static_cast<int>(Kind));
+}
+
void Module::setSDKVersion(const VersionTuple &V) {
SmallVector<unsigned, 3> Entries;
Entries.push_back(V.getMajor());