diff options
Diffstat (limited to 'llvm/test/Transforms/LoopSimplifyCFG/update_parents.ll')
-rw-r--r-- | llvm/test/Transforms/LoopSimplifyCFG/update_parents.ll | 39 |
1 files changed, 35 insertions, 4 deletions
diff --git a/llvm/test/Transforms/LoopSimplifyCFG/update_parents.ll b/llvm/test/Transforms/LoopSimplifyCFG/update_parents.ll index e9a25c9151f..24da7455741 100644 --- a/llvm/test/Transforms/LoopSimplifyCFG/update_parents.ll +++ b/llvm/test/Transforms/LoopSimplifyCFG/update_parents.ll @@ -1,5 +1,4 @@ -; XFAIL: * -; REQUIRES: asserts +; NOTE: Assertions have been autogenerated by utils/update_test_checks.py ; RUN: opt -S -enable-loop-simplifycfg-term-folding=true -loop-simplifycfg -debug-only=loop-simplifycfg -verify-loop-info -verify-dom-info -verify-loop-lcssa 2>&1 < %s | FileCheck %s ; RUN: opt -S -enable-loop-simplifycfg-term-folding=true -passes='require<domtree>,loop(simplify-cfg)' -debug-only=loop-simplifycfg -verify-loop-info -verify-dom-info -verify-loop-lcssa 2>&1 < %s | FileCheck %s ; RUN: opt -S -enable-loop-simplifycfg-term-folding=true -loop-simplifycfg -enable-mssa-loop-dependency=true -verify-memoryssa -debug-only=loop-simplifycfg -verify-loop-info -verify-dom-info -verify-loop-lcssa 2>&1 < %s | FileCheck %s @@ -7,8 +6,24 @@ target triple = "x86_64-unknown-linux-gnu" define void @test() { - ; CHECK-LABEL: @test( +; CHECK-NEXT: br label [[BB1:%.*]] +; CHECK: bb1.loopexit: +; CHECK-NEXT: br label [[BB1]] +; CHECK: bb1: +; CHECK-NEXT: br label [[BB2:%.*]] +; CHECK: bb2.loopexit: +; CHECK-NEXT: br label [[BB2]] +; CHECK: bb2: +; CHECK-NEXT: switch i32 0, label [[BB2_SPLIT:%.*]] [ +; CHECK-NEXT: i32 1, label [[BB1_LOOPEXIT:%.*]] +; CHECK-NEXT: i32 2, label [[BB2_LOOPEXIT:%.*]] +; CHECK-NEXT: ] +; CHECK: bb2-split: +; CHECK-NEXT: br label [[BB3:%.*]] +; CHECK: bb3: +; CHECK-NEXT: br label [[BB3]] +; br label %bb1 @@ -32,8 +47,24 @@ bb8: ; preds = %bb6 } define void @test_many_subloops(i1 %c) { - ; CHECK-LABEL: @test_many_subloops( +; CHECK-NEXT: br label [[BB1:%.*]] +; CHECK: bb1.loopexit: +; CHECK-NEXT: br label [[BB1]] +; CHECK: bb1: +; CHECK-NEXT: br label [[BB2:%.*]] +; CHECK: bb2.loopexit: +; CHECK-NEXT: br label [[BB2]] +; CHECK: bb2: +; CHECK-NEXT: switch i32 0, label [[BB2_SPLIT:%.*]] [ +; CHECK-NEXT: i32 1, label [[BB1_LOOPEXIT:%.*]] +; CHECK-NEXT: i32 2, label [[BB2_LOOPEXIT:%.*]] +; CHECK-NEXT: ] +; CHECK: bb2-split: +; CHECK-NEXT: br label [[BB3:%.*]] +; CHECK: bb3: +; CHECK-NEXT: br label [[BB3]] +; br label %bb1 |