mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2026-04-21 23:17:16 +00:00
Reorganize FastMathFlags to be a wrapper around unsigned, and streamline some interfaces.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169712 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -2047,16 +2047,16 @@ bool BitcodeReader::ParseFunctionBody(Function *F) {
|
||||
cast<BinaryOperator>(I)->setIsExact(true);
|
||||
} else if (isa<FPMathOperator>(I)) {
|
||||
FastMathFlags FMF;
|
||||
FMF.UnsafeAlgebra =
|
||||
0 != (Record[OpNum] & FPMathOperator::UnsafeAlgebra);
|
||||
FMF.NoNaNs =
|
||||
0 != (Record[OpNum] & FPMathOperator::NoNaNs);
|
||||
FMF.NoInfs =
|
||||
0 != (Record[OpNum] & FPMathOperator::NoInfs);
|
||||
FMF.NoSignedZeros =
|
||||
0 != (Record[OpNum] & FPMathOperator::NoSignedZeros);
|
||||
FMF.AllowReciprocal =
|
||||
0 != (Record[OpNum] & FPMathOperator::AllowReciprocal);
|
||||
if (0 != (Record[OpNum] & FastMathFlags::UnsafeAlgebra))
|
||||
FMF.setUnsafeAlgebra();
|
||||
if (0 != (Record[OpNum] & FastMathFlags::NoNaNs))
|
||||
FMF.setNoNaNs();
|
||||
if (0 != (Record[OpNum] & FastMathFlags::NoInfs))
|
||||
FMF.setNoInfs();
|
||||
if (0 != (Record[OpNum] & FastMathFlags::NoSignedZeros))
|
||||
FMF.setNoSignedZeros();
|
||||
if (0 != (Record[OpNum] & FastMathFlags::AllowReciprocal))
|
||||
FMF.setAllowReciprocal();
|
||||
if (FMF.any())
|
||||
I->setFastMathFlags(FMF);
|
||||
}
|
||||
|
||||
@@ -552,15 +552,15 @@ static uint64_t GetOptimizationFlags(const Value *V) {
|
||||
} else if (const FPMathOperator *FPMO =
|
||||
dyn_cast<const FPMathOperator>(V)) {
|
||||
if (FPMO->hasUnsafeAlgebra())
|
||||
Flags |= FPMathOperator::UnsafeAlgebra;
|
||||
Flags |= FastMathFlags::UnsafeAlgebra;
|
||||
if (FPMO->hasNoNaNs())
|
||||
Flags |= FPMathOperator::NoNaNs;
|
||||
Flags |= FastMathFlags::NoNaNs;
|
||||
if (FPMO->hasNoInfs())
|
||||
Flags |= FPMathOperator::NoInfs;
|
||||
Flags |= FastMathFlags::NoInfs;
|
||||
if (FPMO->hasNoSignedZeros())
|
||||
Flags |= FPMathOperator::NoSignedZeros;
|
||||
Flags |= FastMathFlags::NoSignedZeros;
|
||||
if (FPMO->hasAllowReciprocal())
|
||||
Flags |= FPMathOperator::AllowReciprocal;
|
||||
Flags |= FastMathFlags::AllowReciprocal;
|
||||
}
|
||||
|
||||
return Flags;
|
||||
|
||||
Reference in New Issue
Block a user