From a87cdc27d903c8da17d50f99c193c3483db50645 Mon Sep 17 00:00:00 2001 From: Bill Wendling Date: Wed, 19 Dec 2012 09:15:11 +0000 Subject: [PATCH] Inline hasFunctionOnlyAttrs into its only use. llvm-svn: 170518 --- llvm/include/llvm/Attributes.h | 24 ------------------------ llvm/lib/VMCore/Verifier.cpp | 20 +++++++++++++++++++- 2 files changed, 19 insertions(+), 25 deletions(-) diff --git a/llvm/include/llvm/Attributes.h b/llvm/include/llvm/Attributes.h index dff4819..a6297e0 100644 --- a/llvm/include/llvm/Attributes.h +++ b/llvm/include/llvm/Attributes.h @@ -117,30 +117,6 @@ public: /// alignment value. unsigned getStackAlignment() const; - /// \brief Attribute that may be applied to the function itself. These cannot - /// be used on return values or function parameters. - bool hasFunctionOnlyAttrs() const { - return hasAttribute(Attribute::NoReturn) || - hasAttribute(Attribute::NoUnwind) || - hasAttribute(Attribute::ReadNone) || - hasAttribute(Attribute::ReadOnly) || - hasAttribute(Attribute::NoInline) || - hasAttribute(Attribute::AlwaysInline) || - hasAttribute(Attribute::OptimizeForSize) || - hasAttribute(Attribute::StackProtect) || - hasAttribute(Attribute::StackProtectReq) || - hasAttribute(Attribute::NoRedZone) || - hasAttribute(Attribute::NoImplicitFloat) || - hasAttribute(Attribute::Naked) || - hasAttribute(Attribute::InlineHint) || - hasAttribute(Attribute::StackAlignment) || - hasAttribute(Attribute::UWTable) || - hasAttribute(Attribute::NonLazyBind) || - hasAttribute(Attribute::ReturnsTwice) || - hasAttribute(Attribute::AddressSafety) || - hasAttribute(Attribute::MinSize); - } - bool operator==(const Attribute &A) const { return Attrs == A.Attrs; } diff --git a/llvm/lib/VMCore/Verifier.cpp b/llvm/lib/VMCore/Verifier.cpp index 1730187..aec4435 100644 --- a/llvm/lib/VMCore/Verifier.cpp +++ b/llvm/lib/VMCore/Verifier.cpp @@ -529,7 +529,25 @@ void Verifier::VerifyParameterAttrs(Attribute Attrs, Type *Ty, if (!Attrs.hasAttributes()) return; - Assert1(!Attrs.hasFunctionOnlyAttrs(), + Assert1(!Attrs.hasAttribute(Attribute::NoReturn) && + !Attrs.hasAttribute(Attribute::NoUnwind) && + !Attrs.hasAttribute(Attribute::ReadNone) && + !Attrs.hasAttribute(Attribute::ReadOnly) && + !Attrs.hasAttribute(Attribute::NoInline) && + !Attrs.hasAttribute(Attribute::AlwaysInline) && + !Attrs.hasAttribute(Attribute::OptimizeForSize) && + !Attrs.hasAttribute(Attribute::StackProtect) && + !Attrs.hasAttribute(Attribute::StackProtectReq) && + !Attrs.hasAttribute(Attribute::NoRedZone) && + !Attrs.hasAttribute(Attribute::NoImplicitFloat) && + !Attrs.hasAttribute(Attribute::Naked) && + !Attrs.hasAttribute(Attribute::InlineHint) && + !Attrs.hasAttribute(Attribute::StackAlignment) && + !Attrs.hasAttribute(Attribute::UWTable) && + !Attrs.hasAttribute(Attribute::NonLazyBind) && + !Attrs.hasAttribute(Attribute::ReturnsTwice) && + !Attrs.hasAttribute(Attribute::AddressSafety) && + !Attrs.hasAttribute(Attribute::MinSize), "Some attributes in '" + Attrs.getAsString() + "' only apply to functions!", V); -- 2.7.4