Files
swift-mirror/test/SILOptimizer/stack_promotion_array_literal.swift
Erik Eckstein 16bd756f7b tests: make some test more robust for optimizer changes.
This is in preparation for COW support. More optimizer tests require an optimized non-assert stdlib build.
2020-05-26 18:01:17 +02:00

20 lines
522 B
Swift

// RUN: %target-swift-frontend -parse-as-library -O -module-name=test %s -emit-sil | %FileCheck %s
// REQUIRES: swift_stdlib_no_asserts,optimized_stdlib
// This is an end-to-end test to check if the array literal in the loop is
// stack promoted.
// CHECK-LABEL: sil @{{.*}}testit
// CHECK: alloc_ref [stack] [tail_elems
public func testit(_ N: Int, _ x: Int) {
for _ in 0..<N {
for _ in 0..<10 {
var nums = [Int]()
for _ in 0..<40_000 {
nums += [1, 2, 3, 4, 5, 6, x]
}
}
}
}