diff options
| author | Cameron McInally <cameron.mcinally@nyu.edu> | 2019-06-07 18:59:51 +0000 |
|---|---|---|
| committer | Cameron McInally <cameron.mcinally@nyu.edu> | 2019-06-07 18:59:51 +0000 |
| commit | ef57e50bd2b8151e06a459432838610c172d0512 (patch) | |
| tree | f2e646eabb868a3052ba39223a1089cfd442b8e7 /llvm/unittests | |
| parent | 9fa6538f3b6b6b67eac369e5359bd729a0cc96a9 (diff) | |
| download | bcm5719-llvm-ef57e50bd2b8151e06a459432838610c172d0512.tar.gz bcm5719-llvm-ef57e50bd2b8151e06a459432838610c172d0512.zip | |
[IR] Add UnaryOperator::CreateFNegFMF(...)
Differential Revision: https://reviews.llvm.org/D62705
llvm-svn: 362828
Diffstat (limited to 'llvm/unittests')
| -rw-r--r-- | llvm/unittests/IR/InstructionsTest.cpp | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/llvm/unittests/IR/InstructionsTest.cpp b/llvm/unittests/IR/InstructionsTest.cpp index 70d51e5fc6d..7edd3a98bfb 100644 --- a/llvm/unittests/IR/InstructionsTest.cpp +++ b/llvm/unittests/IR/InstructionsTest.cpp @@ -1081,5 +1081,23 @@ TEST(InstructionsTest, PhiIsNotFPMathOperator) { I->deleteValue(); } +TEST(InstructionsTest, FNegInstruction) { + LLVMContext Context; + Type *FltTy = Type::getFloatTy(Context); + Constant *One = ConstantFP::get(FltTy, 1.0); + BinaryOperator *FAdd = BinaryOperator::CreateFAdd(One, One); + FAdd->setHasNoNaNs(true); + UnaryOperator *FNeg = UnaryOperator::CreateFNegFMF(One, FAdd); + EXPECT_TRUE(FNeg->hasNoNaNs()); + EXPECT_FALSE(FNeg->hasNoInfs()); + EXPECT_FALSE(FNeg->hasNoSignedZeros()); + EXPECT_FALSE(FNeg->hasAllowReciprocal()); + EXPECT_FALSE(FNeg->hasAllowContract()); + EXPECT_FALSE(FNeg->hasAllowReassoc()); + EXPECT_FALSE(FNeg->hasApproxFunc()); + FAdd->deleteValue(); + FNeg->deleteValue(); +} + } // end anonymous namespace } // end namespace llvm |

