diff options
| author | Chad Rosier <mcrosier@apple.com> | 2012-08-10 00:00:22 +0000 | 
|---|---|---|
| committer | Chad Rosier <mcrosier@apple.com> | 2012-08-10 00:00:22 +0000 | 
| commit | 09f74b551707e11c7292d1160f5b22d16c8bedce (patch) | |
| tree | 523aed939989c5b96cd28ea8d394d36c674ca664 /llvm/lib/VMCore | |
| parent | acd27c9279deede1943e1c9068c415b2dbaf1ad1 (diff) | |
| download | bcm5719-llvm-09f74b551707e11c7292d1160f5b22d16c8bedce.tar.gz bcm5719-llvm-09f74b551707e11c7292d1160f5b22d16c8bedce.zip | |
[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
Diffstat (limited to 'llvm/lib/VMCore')
| -rw-r--r-- | llvm/lib/VMCore/Attributes.cpp | 3 | 
1 files changed, 3 insertions, 0 deletions
| 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); | 

