mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
93 lines
1.3 KiB
Plaintext
93 lines
1.3 KiB
Plaintext
// RUN: %target-sil-opt -enable-sil-verify-all -compute-dominance-info -compute-loop-info -loop-canonicalizer %s | %FileCheck %s
|
|
|
|
sil_stage canonical
|
|
|
|
import Builtin
|
|
|
|
// Test insertBackedgeBlock.
|
|
//
|
|
// CHECK-LABEL: insert_backedge_block
|
|
// CHECK: bb2:
|
|
// CHECK: cond_br undef, bb3, bb5
|
|
// CHECK: bb3:
|
|
// CHECK: br bb4
|
|
// CHECK: bb5:
|
|
// CHECK: cond_br undef, bb6, bb7
|
|
// CHECK: bb6:
|
|
// CHECK: br bb4
|
|
sil @insert_backedge_block : $@convention(thin) () -> () {
|
|
bb0:
|
|
br bb1
|
|
|
|
bb1:
|
|
br bb2
|
|
|
|
bb2:
|
|
cond_br undef, bb3, bb4
|
|
|
|
bb3:
|
|
br bb1
|
|
|
|
bb4:
|
|
cond_br undef, bb5, bb7
|
|
|
|
bb5:
|
|
br bb1
|
|
|
|
bb7:
|
|
return undef : $()
|
|
}
|
|
|
|
// CHECK-LABEL: sil @insert_backedge_block_inner_loop : $@convention(thin) () -> () {
|
|
// CHECK: bb1:
|
|
// CHECK: br bb2
|
|
// CHECK: bb2:
|
|
// CHECK: br bb3
|
|
// CHECK: bb3:
|
|
// CHECK: cond_br undef, bb4, bb6
|
|
// CHECK: bb4:
|
|
// CHECK: br bb5
|
|
// CHECK: bb5:
|
|
// CHECK: br bb2
|
|
// CHECK: bb6:
|
|
// CHECK: cond_br undef, bb7, bb8
|
|
// CHECK: bb7:
|
|
// CHECK: br bb5
|
|
// CHECK: bb8:
|
|
// CHECK: cond_br undef, bb9, bb10
|
|
// CHECK: bb9:
|
|
// CHECK: br bb1
|
|
// CHECK: bb10:
|
|
// CHECK: return undef
|
|
sil @insert_backedge_block_inner_loop : $@convention(thin) () -> () {
|
|
bb0:
|
|
br bb1
|
|
|
|
bb1:
|
|
br bb2
|
|
|
|
bb2:
|
|
br bb3
|
|
|
|
bb3:
|
|
cond_br undef, bb4, bb5
|
|
|
|
bb4:
|
|
br bb2
|
|
|
|
bb5:
|
|
cond_br undef, bb6, bb7
|
|
|
|
bb6:
|
|
br bb2
|
|
|
|
bb7:
|
|
cond_br undef, bb8, bb9
|
|
|
|
bb8:
|
|
br bb1
|
|
|
|
bb9:
|
|
return undef : $()
|
|
}
|