[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.

llvm-svn: 163174
This commit is contained in:
Chad Rosier 2012-09-04 22:29:45 +00:00
parent 85fff2ac11
commit 38d24e6751
7 changed files with 1 additions and 19 deletions

View 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

View 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};

View File

@ -554,7 +554,6 @@ lltok::Kind LLLexer::LexIdentifier() {
KEYWORD(naked);
KEYWORD(nonlazybind);
KEYWORD(address_safety);
KEYWORD(ia_nsdialect);
KEYWORD(type);
KEYWORD(opaque);

View 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;

View File

@ -107,7 +107,6 @@ namespace lltok {
kw_naked,
kw_nonlazybind,
kw_address_safety,
kw_ia_nsdialect,
kw_type,
kw_opaque,

View 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);

View File

@ -175,7 +175,6 @@ FuncAttr ::= noreturn
| returns_twice
| nonlazybind
| address_safety
| ia_nsdialect
;
OptFuncAttrs ::= + _ | OptFuncAttrs FuncAttr ;