[ms-inline asm] Remove the Inline Asm Non-Standard Dialect attribute. This
authorChad Rosier <mcrosier@apple.com>
Tue, 4 Sep 2012 22:29:45 +0000 (22:29 +0000)
committerChad Rosier <mcrosier@apple.com>
Tue, 4 Sep 2012 22:29:45 +0000 (22:29 +0000)
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
include/llvm/Attributes.h
lib/AsmParser/LLLexer.cpp
lib/AsmParser/LLParser.cpp
lib/AsmParser/LLToken.h
lib/VMCore/Attributes.cpp
utils/llvm.grm

index 810fce5e7a8a3e6aed5c468e0c939d0a80ccdf31..01acce8dd88a7cc9ce1b471133ce1ce63a3cea23 100644 (file)
@@ -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.</dd>
 
-  <dt><tt><b>ia_nsdialect</b></tt></dt>
-  <dd>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.</dd>
-
   <dt><tt><b>inlinehint</b></tt></dt>
   <dd>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
index 223aa0063906a0f24ff5fac6665377581800fdf0..0228d8691d2d9f46b30a501a947d15fa331229e2 100644 (file)
@@ -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};
index e04580459442be84d36f26fb2ffefc4631462a15..fb3a86cc533002000344f915209e5259923cb31d 100644 (file)
@@ -554,7 +554,6 @@ lltok::Kind LLLexer::LexIdentifier() {
   KEYWORD(naked);
   KEYWORD(nonlazybind);
   KEYWORD(address_safety);
-  KEYWORD(ia_nsdialect);
 
   KEYWORD(type);
   KEYWORD(opaque);
index a9c7e98964e1ba000f4d80539d041ced2de10143..271691b85cb3b88c563b08097bb2034b27179f01 100644 (file)
@@ -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;
index 9fd63f2e9a97bfcb01f7b899ead173b78baf4f29..c2683ffc59781ba26525503e5d9ea328ca2f3eee 100644 (file)
@@ -107,7 +107,6 @@ namespace lltok {
     kw_naked,
     kw_nonlazybind,
     kw_address_safety,
-    kw_ia_nsdialect,
 
     kw_type,
     kw_opaque,
index c8219eb7877777ecd646e2c3529afc852a0372d6..d466ac60b292c9ff95df9775630b0a2ed3a1eb38 100644 (file)
@@ -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);
index ad2799f2c596c4a25fc498669425e2359ddbd816..322036b2c209083f208f3df8cbe1e4869a39d6ca 100644 (file)
@@ -175,7 +175,6 @@ FuncAttr      ::= noreturn
  | returns_twice
  | nonlazybind
  | address_safety
- | ia_nsdialect
  ;
 
 OptFuncAttrs  ::= + _ | OptFuncAttrs FuncAttr ;