From 4e2132e7ae4b41ff6093bbaebcb852105277ac53 Mon Sep 17 00:00:00 2001 From: Chad Rosier Date: Tue, 4 Sep 2012 22:29:45 +0000 Subject: [PATCH] [ms-inline asm] Remove the Inline Asm Non-Standard Dialect attribute. This implementation does not co-exist well with how the sideeffect and alignstack attributes are handled. The reverts r161641. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163174 91177308-0d34-0410-b5e6-96231b3b80d8 --- docs/LangRef.html | 7 ------- include/llvm/Attributes.h | 6 +----- lib/AsmParser/LLLexer.cpp | 1 - lib/AsmParser/LLParser.cpp | 1 - lib/AsmParser/LLToken.h | 1 - lib/VMCore/Attributes.cpp | 3 --- utils/llvm.grm | 1 - 7 files changed, 1 insertion(+), 19 deletions(-) diff --git a/docs/LangRef.html b/docs/LangRef.html index 810fce5e7a8..01acce8dd88 100644 --- a/docs/LangRef.html +++ b/docs/LangRef.html @@ -1207,13 +1207,6 @@ define void @f() optsize { ... } may make calls to the function faster, at the cost of extra program startup time if the function is not called during program startup. -
ia_nsdialect
-
This attribute indicates the associated inline assembly call is using a - non-standard assembly dialect. The standard dialect is ATT, which is - assumed when this attribute is not present. When present, the dialect - is assumed to be Intel. Currently, ATT and Intel are the only supported - dialects.
-
inlinehint
This attribute indicates that the source code contained a hint that inlining this function is desirable (such as the "inline" keyword in C/C++). It diff --git a/include/llvm/Attributes.h b/include/llvm/Attributes.h index 223aa006390..0228d8691d2 100644 --- a/include/llvm/Attributes.h +++ b/include/llvm/Attributes.h @@ -134,9 +134,6 @@ DECLARE_LLVM_ATTRIBUTE(NonLazyBind,1U<<31) ///< Function is called early and/or /// often, so lazy binding isn't /// worthwhile. DECLARE_LLVM_ATTRIBUTE(AddressSafety,1ULL<<32) ///< Address safety checking is on. -DECLARE_LLVM_ATTRIBUTE(IANSDialect,1ULL<<33) ///< Inline asm non-standard dialect. - /// When not set, ATT dialect assumed. - /// When set implies the Intel dialect. #undef DECLARE_LLVM_ATTRIBUTE @@ -162,8 +159,7 @@ const AttrConst FunctionOnly = {NoReturn_i | NoUnwind_i | ReadNone_i | ReadOnly_i | NoInline_i | AlwaysInline_i | OptimizeForSize_i | StackProtect_i | StackProtectReq_i | NoRedZone_i | NoImplicitFloat_i | Naked_i | InlineHint_i | StackAlignment_i | - UWTable_i | NonLazyBind_i | ReturnsTwice_i | AddressSafety_i | - IANSDialect_i}; + UWTable_i | NonLazyBind_i | ReturnsTwice_i | AddressSafety_i}; /// @brief Parameter attributes that do not apply to vararg call arguments. const AttrConst VarArgsIncompatible = {StructRet_i}; diff --git a/lib/AsmParser/LLLexer.cpp b/lib/AsmParser/LLLexer.cpp index e0458045944..fb3a86cc533 100644 --- a/lib/AsmParser/LLLexer.cpp +++ b/lib/AsmParser/LLLexer.cpp @@ -554,7 +554,6 @@ lltok::Kind LLLexer::LexIdentifier() { KEYWORD(naked); KEYWORD(nonlazybind); KEYWORD(address_safety); - KEYWORD(ia_nsdialect); KEYWORD(type); KEYWORD(opaque); diff --git a/lib/AsmParser/LLParser.cpp b/lib/AsmParser/LLParser.cpp index a9c7e98964e..271691b85cb 100644 --- a/lib/AsmParser/LLParser.cpp +++ b/lib/AsmParser/LLParser.cpp @@ -962,7 +962,6 @@ bool LLParser::ParseOptionalAttrs(Attributes &Attrs, unsigned AttrKind) { case lltok::kw_naked: Attrs |= Attribute::Naked; break; case lltok::kw_nonlazybind: Attrs |= Attribute::NonLazyBind; break; case lltok::kw_address_safety: Attrs |= Attribute::AddressSafety; break; - case lltok::kw_ia_nsdialect: Attrs |= Attribute::IANSDialect; break; case lltok::kw_alignstack: { unsigned Alignment; diff --git a/lib/AsmParser/LLToken.h b/lib/AsmParser/LLToken.h index 9fd63f2e9a9..c2683ffc597 100644 --- a/lib/AsmParser/LLToken.h +++ b/lib/AsmParser/LLToken.h @@ -107,7 +107,6 @@ namespace lltok { kw_naked, kw_nonlazybind, kw_address_safety, - kw_ia_nsdialect, kw_type, kw_opaque, diff --git a/lib/VMCore/Attributes.cpp b/lib/VMCore/Attributes.cpp index c8219eb7877..d466ac60b29 100644 --- a/lib/VMCore/Attributes.cpp +++ b/lib/VMCore/Attributes.cpp @@ -88,9 +88,6 @@ std::string Attribute::getAsString(Attributes Attrs) { Result += utostr(Attribute::getAlignmentFromAttrs(Attrs)); Result += " "; } - if (Attrs & Attribute::IANSDialect) - Result += "ia_nsdialect "; - // Trim the trailing space. assert(!Result.empty() && "Unknown attribute!"); Result.erase(Result.end()-1); diff --git a/utils/llvm.grm b/utils/llvm.grm index ad2799f2c59..322036b2c20 100644 --- a/utils/llvm.grm +++ b/utils/llvm.grm @@ -175,7 +175,6 @@ FuncAttr ::= noreturn | returns_twice | nonlazybind | address_safety - | ia_nsdialect ; OptFuncAttrs ::= + _ | OptFuncAttrs FuncAttr ; -- 2.34.1