Files
swift-mirror/test/SILOptimizer/simplify_cond_br.sil
Erik Eckstein 3243f87204 tests: remove the lit feature swift_in_compiler
Tests require the compiler built with SwiftCompilerSources since a long time.
So this lit feature was redundant anyway. We can remove it.
2026-06-30 14:47:56 +02:00

64 lines
1.6 KiB
Plaintext

// RUN: %target-sil-opt -sil-print-types -enable-sil-verify-all %s -onone-simplification -simplify-instruction=cond_br | %FileCheck %s
import Swift
import Builtin
// CHECK-LABEL: sil @constant_cond_br_true
// CHECK: bb0(%0 : $Int, %1 : $Int):
// CHECK-NEXT: br bb1(%0 : $Int)
// CHECK: } // end sil function 'constant_cond_br_true'
sil @constant_cond_br_true : $@convention(thin) (Int, Int) -> Int {
bb0(%0 : $Int, %1 : $Int):
%2 = integer_literal $Builtin.Int1, 1
cond_br %2, bb1(%0 : $Int), bb2(%1 : $Int)
bb1(%4 : $Int):
br bb3(%4 : $Int)
bb2(%6 : $Int):
br bb3(%6 : $Int)
bb3(%8 : $Int):
return %8 : $Int
}
// CHECK-LABEL: sil @constant_cond_br_false
// CHECK: bb0(%0 : $Int, %1 : $Int):
// CHECK-NEXT: br bb1(%1 : $Int)
// CHECK: } // end sil function 'constant_cond_br_false'
sil @constant_cond_br_false : $@convention(thin) (Int, Int) -> Int {
bb0(%0 : $Int, %1 : $Int):
%2 = integer_literal $Builtin.Int1, 0
cond_br %2, bb1(%0 : $Int), bb2(%1 : $Int)
bb1(%4 : $Int):
br bb3(%4 : $Int)
bb2(%6 : $Int):
br bb3(%6 : $Int)
bb3(%8 : $Int):
return %8 : $Int
}
// CHECK-LABEL: sil @non_constant_cond_br
// CHECK: bb0(%0 : $Int, %1 : $Int, %2 : $Builtin.Int1):
// CHECK-NEXT: cond_br %2
// CHECK: } // end sil function 'non_constant_cond_br'
sil @non_constant_cond_br : $@convention(thin) (Int, Int, Builtin.Int1) -> Int {
bb0(%0 : $Int, %1 : $Int, %2 : $Builtin.Int1):
cond_br %2, bb1(%0 : $Int), bb2(%1 : $Int)
bb1(%4 : $Int):
br bb3(%4 : $Int)
bb2(%6 : $Int):
br bb3(%6 : $Int)
bb3(%8 : $Int):
return %8 : $Int
}