Fast-math flags for LLVM IR parsing and printing

Added in the ability to read LLVM IR text that contains fast-math flags as a sequence of capital letters separated by spaces in any order. Added in the printing of the fast-math flags in a canonical order, and don't print the other flags when 'fast' is specified, as 'fast' implies all the others.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168645 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Michael Ilseman
2012-11-27 00:42:44 +00:00
parent 4d26533234
commit 15c13d3e63
5 changed files with 54 additions and 4 deletions

View File

@ -402,7 +402,7 @@ lltok::Kind LLLexer::LexExclaim() {
}
return lltok::exclaim;
}
/// LexIdentifier: Handle several related productions:
/// Label [-a-zA-Z$._0-9]+:
/// IntegerType i[0-9]+
@ -498,6 +498,11 @@ lltok::Kind LLLexer::LexIdentifier() {
KEYWORD(seq_cst);
KEYWORD(singlethread);
KEYWORD(nnan)
KEYWORD(ninf)
KEYWORD(nsz)
KEYWORD(arcp)
KEYWORD(fast)
KEYWORD(nuw);
KEYWORD(nsw);
KEYWORD(exact);