diff options
Diffstat (limited to 'llvm/unittests/Analysis/ScalarEvolutionTest.cpp')
-rw-r--r-- | llvm/unittests/Analysis/ScalarEvolutionTest.cpp | 65 |
1 files changed, 0 insertions, 65 deletions
diff --git a/llvm/unittests/Analysis/ScalarEvolutionTest.cpp b/llvm/unittests/Analysis/ScalarEvolutionTest.cpp index be89418..ff33495 100644 --- a/llvm/unittests/Analysis/ScalarEvolutionTest.cpp +++ b/llvm/unittests/Analysis/ScalarEvolutionTest.cpp @@ -1251,69 +1251,4 @@ TEST_F(ScalarEvolutionsTest, SCEVgetExitLimitForGuardedLoop) { }); } -TEST_F(ScalarEvolutionsTest, ImpliedViaAddRecStart) { - LLVMContext C; - SMDiagnostic Err; - std::unique_ptr<Module> M = parseAssemblyString( - "define void @foo(i32* %p) { " - "entry: " - " %x = load i32, i32* %p, !range !0 " - " br label %loop " - "loop: " - " %iv = phi i32 [ %x, %entry], [%iv.next, %backedge] " - " %ne.check = icmp ne i32 %iv, 0 " - " br i1 %ne.check, label %backedge, label %exit " - "backedge: " - " %iv.next = add i32 %iv, -1 " - " br label %loop " - "exit:" - " ret void " - "} " - "!0 = !{i32 0, i32 2147483647}", - Err, C); - - ASSERT_TRUE(M && "Could not parse module?"); - ASSERT_TRUE(!verifyModule(*M) && "Must have been well formed!"); - - runWithSE(*M, "foo", [](Function &F, LoopInfo &LI, ScalarEvolution &SE) { - auto *X = SE.getSCEV(getInstructionByName(F, "x")); - auto *Context = getInstructionByName(F, "iv.next"); - EXPECT_TRUE(SE.isKnownPredicateAt(ICmpInst::ICMP_NE, X, - SE.getZero(X->getType()), Context)); - }); -} - -TEST_F(ScalarEvolutionsTest, UnsignedIsImpliedViaOperations) { - LLVMContext C; - SMDiagnostic Err; - std::unique_ptr<Module> M = - parseAssemblyString("define void @foo(i32* %p1, i32* %p2) { " - "entry: " - " %x = load i32, i32* %p1, !range !0 " - " %cond = icmp ne i32 %x, 0 " - " br i1 %cond, label %guarded, label %exit " - "guarded: " - " %y = add i32 %x, -1 " - " ret void " - "exit: " - " ret void " - "} " - "!0 = !{i32 0, i32 2147483647}", - Err, C); - - ASSERT_TRUE(M && "Could not parse module?"); - ASSERT_TRUE(!verifyModule(*M) && "Must have been well formed!"); - - runWithSE(*M, "foo", [](Function &F, LoopInfo &LI, ScalarEvolution &SE) { - auto *X = SE.getSCEV(getInstructionByName(F, "x")); - auto *Y = SE.getSCEV(getInstructionByName(F, "y")); - auto *Guarded = getInstructionByName(F, "y")->getParent(); - ASSERT_TRUE(Guarded); - EXPECT_TRUE( - SE.isBasicBlockEntryGuardedByCond(Guarded, ICmpInst::ICMP_ULT, Y, X)); - EXPECT_TRUE( - SE.isBasicBlockEntryGuardedByCond(Guarded, ICmpInst::ICMP_UGT, X, Y)); - }); -} - } // end namespace llvm |