Skip to content

Commit 0826ac6

Browse files
committed
[test] Verify that [Closed]Range.contains and Range.~= get inlined even in unoptimized builds
1 parent a59a6ca commit 0826ac6

File tree

1 file changed

+39
-0
lines changed

1 file changed

+39
-0
lines changed
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
// RUN: %target-swift-emit-ir -primary-file %s 2>&1 | %FileCheck %s
2+
// RUN: %target-swift-emit-ir -primary-file %s -O 2>&1 | %FileCheck %s
3+
// RUN: %target-swift-emit-ir -primary-file %s -Osize 2>&1 | %FileCheck %s
4+
5+
// CHECK-LABEL: define hidden swiftcc i1 @"$s17RangeContainsPerf08halfOpenB0ySbSnySiG_SitF"
6+
// CHECK-NOT: call swiftcc
7+
// CHECK: icmp
8+
// CHECK-NOT: call swiftcc
9+
// CHECK-LABEL: }
10+
func halfOpenContains(_ r: Range<Int>, _ i: Int) -> Bool {
11+
r.contains(i)
12+
}
13+
14+
// CHECK-LABEL: define hidden swiftcc i1 @"$s17RangeContainsPerf06closedB0ySbSNySiG_SitF"
15+
// CHECK-NOT: call swiftcc
16+
// CHECK: icmp
17+
// CHECK-NOT: call swiftcc
18+
// CHECK-LABEL: }
19+
func closedContains(_ r: ClosedRange<Int>, _ i: Int) -> Bool {
20+
r.contains(i)
21+
}
22+
23+
// CHECK-LABEL: define hidden swiftcc i1 @"$s17RangeContainsPerf20halfOpenPatternMatchySbSnySiG_SitF"
24+
// CHECK-NOT: call swiftcc
25+
// CHECK: icmp
26+
// CHECK-NOT: call swiftcc
27+
// CHECK-LABEL: }
28+
func halfOpenPatternMatch(_ r: Range<Int>, _ i: Int) -> Bool {
29+
r ~= i
30+
}
31+
32+
// CHECK-LABEL: define hidden swiftcc i1 @"$s17RangeContainsPerf18closedPatternMatchySbSNySiG_SitF"
33+
// CHECK-NOT: call swiftcc
34+
// CHECK: icmp
35+
// CHECK-NOT: call swiftcc
36+
// CHECK-LABEL: }
37+
func closedPatternMatch(_ r: ClosedRange<Int>, _ i: Int) -> Bool {
38+
r ~= i
39+
}

0 commit comments

Comments
 (0)