diff options
author | Andrea Di Biagio <Andrea_DiBiagio@sn.scee.net> | 2013-08-23 11:53:55 +0000 |
---|---|---|
committer | Andrea Di Biagio <Andrea_DiBiagio@sn.scee.net> | 2013-08-23 11:53:55 +0000 |
commit | 5768bb8d77892926dff0d078b1fb08c14ea791f3 (patch) | |
tree | 3a2f35fef53650a9e8988416a19f8787d0186f3d /lib/IR/Attributes.cpp | |
parent | a550b51bac50493db75a7b5788a3f2c3b62fd913 (diff) | |
download | llvm-5768bb8d77892926dff0d078b1fb08c14ea791f3.tar.gz llvm-5768bb8d77892926dff0d078b1fb08c14ea791f3.tar.bz2 llvm-5768bb8d77892926dff0d078b1fb08c14ea791f3.tar.xz |
Add function attribute 'optnone'.
This function attribute indicates that the function is not optimized
by any optimization or code generator passes with the
exception of interprocedural optimization passes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@189101 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/IR/Attributes.cpp')
-rw-r--r-- | lib/IR/Attributes.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/lib/IR/Attributes.cpp b/lib/IR/Attributes.cpp index f466d167e9..bcd324c4ff 100644 --- a/lib/IR/Attributes.cpp +++ b/lib/IR/Attributes.cpp @@ -196,6 +196,8 @@ std::string Attribute::getAsString(bool InAttrGrp) const { return "noreturn"; if (hasAttribute(Attribute::NoUnwind)) return "nounwind"; + if (hasAttribute(Attribute::OptimizeNone)) + return "optnone"; if (hasAttribute(Attribute::OptimizeForSize)) return "optsize"; if (hasAttribute(Attribute::ReadNone)) @@ -381,6 +383,7 @@ uint64_t AttributeImpl::getAttrMask(Attribute::AttrKind Val) { case Attribute::Returned: return 1ULL << 39; case Attribute::Cold: return 1ULL << 40; case Attribute::Builtin: return 1ULL << 41; + case Attribute::OptimizeNone: return 1ULL << 42; } llvm_unreachable("Unsupported attribute type"); } |