From 09f74b551707e11c7292d1160f5b22d16c8bedce Mon Sep 17 00:00:00 2001 From: Chad Rosier Date: Fri, 10 Aug 2012 00:00:22 +0000 Subject: [ms-inline asm] Add a new Inline Asm Non-Standard Dialect attribute. This new attribute is intended to be used by the backend to determine how the inline asm string should be parsed/printed. This patch adds the ia_nsdialect attribute and also adds a test case to ensure the IR is correctly parsed, but there is no functional change at this time. The standard dialect is assumed to be AT&T. Therefore, this attribute should only be added to MS-style inline assembly statements, which use the Intel dialect. If we ever support more dialects we'll need to add additional state to the attribute. llvm-svn: 161641 --- llvm/lib/VMCore/Attributes.cpp | 3 +++ 1 file changed, 3 insertions(+) (limited to 'llvm/lib/VMCore') diff --git a/llvm/lib/VMCore/Attributes.cpp b/llvm/lib/VMCore/Attributes.cpp index d466ac60b29..c8219eb7877 100644 --- a/llvm/lib/VMCore/Attributes.cpp +++ b/llvm/lib/VMCore/Attributes.cpp @@ -88,6 +88,9 @@ 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); -- cgit v1.2.3