Parse and print opt_size note.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55740 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Devang Patel 2008-09-03 22:10:21 +00:00
parent cf996d4b56
commit 52e89dd4e2
2 changed files with 12 additions and 3 deletions

View File

@ -501,7 +501,7 @@ int LLLexer::LexIdentifier() {
KEYWORD("inline", INLINE); KEYWORD("inline", INLINE);
KEYWORD("always", ALWAYS); KEYWORD("always", ALWAYS);
KEYWORD("never", NEVER); KEYWORD("never", NEVER);
KEYWORD("optimizeforsize", OPTIMIZEFORSIZE); KEYWORD("opt_size", OPTIMIZEFORSIZE);
KEYWORD("type", TYPE); KEYWORD("type", TYPE);
KEYWORD("opaque", OPAQUE); KEYWORD("opaque", OPAQUE);

View File

@ -1398,10 +1398,19 @@ void AssemblyWriter::printFunction(const Function *F) {
FunctionNotes FNotes = F->getNotes(); FunctionNotes FNotes = F->getNotes();
if (FNotes != FN_NOTE_None) { if (FNotes != FN_NOTE_None) {
Out << " notes("; Out << " notes(";
if (FNotes & FN_NOTE_AlwaysInline) bool NeedComma = false;
if (FNotes & FN_NOTE_AlwaysInline) {
NeedComma = true;
Out << "inline=always"; Out << "inline=always";
else if (FNotes & FN_NOTE_NoInline) }
else if (FNotes & FN_NOTE_NoInline) {
NeedComma = true;
Out << "inline=never"; Out << "inline=never";
}
if (NeedComma)
Out << ",";
if (FNotes & FN_NOTE_OptimizeForSize)
Out << "opt_size";
Out << ")"; Out << ")";
} }
if (F->isDeclaration()) { if (F->isDeclaration()) {