mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-23 11:13:28 +01:00
Whoops, fixed bad merge
llvm-svn: 168816
This commit is contained in:
parent
8ff81910ee
commit
19c9ae38cf
@ -111,61 +111,6 @@ TEST_F(IRBuilderTest, GetIntTy) {
|
|||||||
EXPECT_EQ(IntPtrTy, IntegerType::get(getGlobalContext(), IntPtrBitSize));
|
EXPECT_EQ(IntPtrTy, IntegerType::get(getGlobalContext(), IntPtrBitSize));
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST_F(IRBuilderTest, FastMathFlags) {
|
|
||||||
IRBuilder<> Builder(BB);
|
|
||||||
Value *F;
|
|
||||||
Instruction *FDiv, *FAdd;
|
|
||||||
|
|
||||||
F = Builder.CreateLoad(GV);
|
|
||||||
F = Builder.CreateFAdd(F, F);
|
|
||||||
|
|
||||||
EXPECT_FALSE(Builder.GetFastMathFlags().any());
|
|
||||||
ASSERT_TRUE(isa<Instruction>(F));
|
|
||||||
FAdd = cast<Instruction>(F);
|
|
||||||
EXPECT_FALSE(FAdd->hasNoNaNs());
|
|
||||||
|
|
||||||
FastMathFlags FMF;
|
|
||||||
Builder.SetFastMathFlags(FMF);
|
|
||||||
|
|
||||||
F = Builder.CreateFAdd(F, F);
|
|
||||||
EXPECT_FALSE(Builder.GetFastMathFlags().any());
|
|
||||||
|
|
||||||
FMF.UnsafeAlgebra = true;
|
|
||||||
Builder.SetFastMathFlags(FMF);
|
|
||||||
|
|
||||||
F = Builder.CreateFAdd(F, F);
|
|
||||||
EXPECT_TRUE(Builder.GetFastMathFlags().any());
|
|
||||||
ASSERT_TRUE(isa<Instruction>(F));
|
|
||||||
FAdd = cast<Instruction>(F);
|
|
||||||
EXPECT_TRUE(FAdd->hasNoNaNs());
|
|
||||||
|
|
||||||
F = Builder.CreateFDiv(F, F);
|
|
||||||
EXPECT_TRUE(Builder.GetFastMathFlags().any());
|
|
||||||
EXPECT_TRUE(Builder.GetFastMathFlags().UnsafeAlgebra);
|
|
||||||
ASSERT_TRUE(isa<Instruction>(F));
|
|
||||||
FDiv = cast<Instruction>(F);
|
|
||||||
EXPECT_TRUE(FDiv->hasAllowReciprocal());
|
|
||||||
|
|
||||||
Builder.ClearFastMathFlags();
|
|
||||||
|
|
||||||
F = Builder.CreateFDiv(F, F);
|
|
||||||
ASSERT_TRUE(isa<Instruction>(F));
|
|
||||||
FDiv = cast<Instruction>(F);
|
|
||||||
EXPECT_FALSE(FDiv->hasAllowReciprocal());
|
|
||||||
|
|
||||||
FMF.clear();
|
|
||||||
FMF.AllowReciprocal = true;
|
|
||||||
Builder.SetFastMathFlags(FMF);
|
|
||||||
|
|
||||||
F = Builder.CreateFDiv(F, F);
|
|
||||||
EXPECT_TRUE(Builder.GetFastMathFlags().any());
|
|
||||||
EXPECT_TRUE(Builder.GetFastMathFlags().AllowReciprocal);
|
|
||||||
ASSERT_TRUE(isa<Instruction>(F));
|
|
||||||
FDiv = cast<Instruction>(F);
|
|
||||||
EXPECT_TRUE(FDiv->hasAllowReciprocal());
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
TEST_F(IRBuilderTest, FastMathFlags) {
|
TEST_F(IRBuilderTest, FastMathFlags) {
|
||||||
IRBuilder<> Builder(BB);
|
IRBuilder<> Builder(BB);
|
||||||
Value *F;
|
Value *F;
|
||||||
|
Loading…
Reference in New Issue
Block a user