summaryrefslogtreecommitdiff
path: root/lib/IR/Attributes.cpp
diff options
context:
space:
mode:
authorAndrea Di Biagio <Andrea_DiBiagio@sn.scee.net>2013-08-23 11:53:55 +0000
committerAndrea Di Biagio <Andrea_DiBiagio@sn.scee.net>2013-08-23 11:53:55 +0000
commit5768bb8d77892926dff0d078b1fb08c14ea791f3 (patch)
tree3a2f35fef53650a9e8988416a19f8787d0186f3d /lib/IR/Attributes.cpp
parenta550b51bac50493db75a7b5788a3f2c3b62fd913 (diff)
downloadllvm-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.cpp3
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");
}