   }
 }
 
-// CHECK-LABEL: COW Array Opts in Func {{.*}}hoist2DArray
-// CHECK: Hoisting make_mutable
-// CHECK: COW Array Opts
+// TEST13-LABEL: COW Array Opts in Func {{.*}}hoist2DArray
+// TEST13: Hoisting make_mutable
+// TEST13: COW Array Opts
 
 func hoist2DArray(inout a: [[Int]]) {
   for i in 0 ..< a.count {

  var rows : Int
}

// CHECK-LABEL: COW Array Opts in Func {{.*}}test2DArrayLoop{{.*}}
// CHECK:        Array Opts in Loop Loop at depth 2
// CHECK-NOT:   COW Array Opts in
// CHECK:        Hoisting make_mutable
// CHECK:        Array Opts in Loop Loop at depth 1
// CHECK-NOT:   COW Array Opts in
// CHECK:        Hoisting make_mutable

func test2DArrayLoop(inout A : Array2d) {
  for r in 0 ..< A.rows {


class AClass {}

// TEST7-LABEL: COW Array Opts in Func {{.*}}hoistArrayOfClasses{{.*}}
// TEST7: Hoisting make_mutable
// TEST7: COW Array Opts
func hoistArrayOfClasses(inout A : [AClass], x: AClass) {
  for i in 0 ..< A.count {
    A[i] = x
  }
}

// TEST8-LABEL: COW Array Opts in Func {{.*}}hoistMutableOfAppend{{.*}}
// TEST8: Hoisting make_mutable
// TEST8: COW Array Opts

func hoistMutableOfAppend(inout A : [Int]) {
  for i in 0 ..< 10 {
