Parse and print opt_size note.
authorDevang Patel <dpatel@apple.com>
Wed, 3 Sep 2008 22:10:21 +0000 (22:10 +0000)
committerDevang Patel <dpatel@apple.com>
Wed, 3 Sep 2008 22:10:21 +0000 (22:10 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55740 91177308-0d34-0410-b5e6-96231b3b80d8

lib/AsmParser/LLLexer.cpp
lib/VMCore/AsmWriter.cpp

index 6af0ab4c843a28140257a95b008dbbff08701f68..51e63a89711978602ba91de4f67360efe05ce7a4 100644 (file)
@@ -501,7 +501,7 @@ int LLLexer::LexIdentifier() {
   KEYWORD("inline", INLINE);
   KEYWORD("always", ALWAYS);
   KEYWORD("never", NEVER);
-  KEYWORD("optimizeforsize", OPTIMIZEFORSIZE);
+  KEYWORD("opt_size", OPTIMIZEFORSIZE);
 
   KEYWORD("type", TYPE);
   KEYWORD("opaque", OPAQUE);
index b518b2c177c4fab6e0e042b3392951b6d3cca3c5..0c5a9fc1d356e3e7952fcdf27e482c5d057feae3 100644 (file)
@@ -1398,10 +1398,19 @@ void AssemblyWriter::printFunction(const Function *F) {
   FunctionNotes FNotes = F->getNotes();
   if (FNotes != FN_NOTE_None) {
     Out << " notes(";
-    if (FNotes & FN_NOTE_AlwaysInline)
+    bool NeedComma = false;
+    if (FNotes & FN_NOTE_AlwaysInline) {
+      NeedComma = true;
       Out << "inline=always";
-    else if (FNotes & FN_NOTE_NoInline)
+    }
+    else if (FNotes & FN_NOTE_NoInline) {
+      NeedComma = true;
       Out << "inline=never";
+    }
+    if (NeedComma)
+      Out << ",";
+    if (FNotes & FN_NOTE_OptimizeForSize)
+      Out << "opt_size";
     Out << ")";
   }
   if (F->isDeclaration()) {