From 3771a1281ffca4a21901aa6bc7921ebff342d1ed Mon Sep 17 00:00:00 2001 From: Devang Patel Date: Wed, 3 Sep 2008 22:10:21 +0000 Subject: [PATCH] Parse and print opt_size note. llvm-svn: 55740 --- llvm/lib/AsmParser/LLLexer.cpp | 2 +- llvm/lib/VMCore/AsmWriter.cpp | 13 +++++++++++-- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/llvm/lib/AsmParser/LLLexer.cpp b/llvm/lib/AsmParser/LLLexer.cpp index 6af0ab4c843a..51e63a897119 100644 --- a/llvm/lib/AsmParser/LLLexer.cpp +++ b/llvm/lib/AsmParser/LLLexer.cpp @@ -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); diff --git a/llvm/lib/VMCore/AsmWriter.cpp b/llvm/lib/VMCore/AsmWriter.cpp index b518b2c177c4..0c5a9fc1d356 100644 --- a/llvm/lib/VMCore/AsmWriter.cpp +++ b/llvm/lib/VMCore/AsmWriter.cpp @@ -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()) {