// RUN: %target-swift-frontend %s -O -module-name=test -emit-sil | %FileCheck %s // REQUIRES: swift_stdlib_no_asserts,optimized_stdlib var gg = 0 @inline(never) func take(_ x: Int, _ y: Int) { gg = x + y } // CHECK-LABEL: sil {{.*}}@$s4test23check_cond_fail_messageySiSaySiGF // CHECK: cond_fail {{.*}} "Index out of range" // CHECK: // end sil function '$s4test23check_cond_fail_messageySiSaySiGF' public func check_cond_fail_message(_ array: [Int]) -> Int { return array[2] } // CHECK-LABEL: sil {{.*}}@$s4test22eliminate_bounds_checkyySaySiGF // CHECK-NOT: cond_fail {{.*}} "Index out of range" // CHECK: // end sil function '$s4test22eliminate_bounds_checkyySaySiGF' public func eliminate_bounds_check(_ array: [Int]) { for (index, x) in array.enumerated() { take(x, index) } } // CHECK-LABEL: sil {{.*}}@$s4test27eliminate_two_bounds_checksyySaySiGF // CHECK-NOT: cond_fail {{.*}} "Index out of range" // CHECK: // end sil function '$s4test27eliminate_two_bounds_checksyySaySiGF' public func eliminate_two_bounds_checks(_ array: [Int]) { for (index, x) in array.enumerated() { take(x, array[index]) } }