mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-06-17 04:24:00 +00:00
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:
@ -3012,7 +3012,17 @@ int LLParser::ParseInstruction(Instruction *&Inst, BasicBlock *BB,
|
||||
}
|
||||
case lltok::kw_fadd:
|
||||
case lltok::kw_fsub:
|
||||
case lltok::kw_fmul: return ParseArithmetic(Inst, PFS, KeywordVal, 2);
|
||||
case lltok::kw_fmul:
|
||||
case lltok::kw_fdiv:
|
||||
case lltok::kw_frem: {
|
||||
FastMathFlags FMF = EatFastMathFlagsIfPresent();
|
||||
int Res = ParseArithmetic(Inst, PFS, KeywordVal, 2);
|
||||
if (Res != 0)
|
||||
return Res;
|
||||
if (FMF.any())
|
||||
Inst->setFastMathFlags(FMF);
|
||||
return 0;
|
||||
}
|
||||
|
||||
case lltok::kw_sdiv:
|
||||
case lltok::kw_udiv:
|
||||
@ -3027,8 +3037,6 @@ int LLParser::ParseInstruction(Instruction *&Inst, BasicBlock *BB,
|
||||
|
||||
case lltok::kw_urem:
|
||||
case lltok::kw_srem: return ParseArithmetic(Inst, PFS, KeywordVal, 1);
|
||||
case lltok::kw_fdiv:
|
||||
case lltok::kw_frem: return ParseArithmetic(Inst, PFS, KeywordVal, 2);
|
||||
case lltok::kw_and:
|
||||
case lltok::kw_or:
|
||||
case lltok::kw_xor: return ParseLogical(Inst, PFS, KeywordVal);
|
||||
|
Reference in New Issue
Block a user