const char * f(S s)
{
-// CHECK: %1 = alloca %class.T, align 4
-// CHECK: %2 = alloca %class.T, align 4
-// CHECK: %3 = alloca %class.S, align 4
-// CHECK: %4 = alloca %class.T, align 4
-// CHECK: %5 = call x86_thiscallcc %class.T* @"\01??0T@@QAE@QBD@Z"
-// CHECK: %6 = bitcast %class.S* %3 to i8*
-// CHECK: %7 = bitcast %class.S* %s to i8*
+// CHECK: [[T1:%.*]] = alloca %class.T, align 4
+// CHECK: [[T2:%.*]] = alloca %class.T, align 4
+// CHECK: [[T3:%.*]] = alloca %class.S, align 4
+// CHECK: [[T4:%.*]] = alloca %class.T, align 4
+// CHECK: [[T5:%.*]] = call x86_thiscallcc %class.T* @"\01??0T@@QAE@QBD@Z"
+// CHECK: [[T6:%.*]] = bitcast %class.S* [[T3]] to i8*
+// CHECK: [[T7:%.*]] = bitcast %class.S* %s to i8*
// CHECK: call void @llvm.memcpy.p0i8.p0i8.i32
-// CHECK: %8 = call x86_thiscallcc %class.T* @"\01??0T@@QAE@VS@@@Z"
+// CHECK: [[T8:%.*]] = call x86_thiscallcc %class.T* @"\01??0T@@QAE@VS@@@Z"
// CHECK: call x86_thiscallcc void @"\01?concat@T@@QBE?AV1@ABV1@@Z"
-// CHECK: %9 = call x86_thiscallcc i8* @"\01?str@T@@QBEPBDXZ"(%class.T* %4)
+// CHECK: [[T9:%.*]] = call x86_thiscallcc i8* @"\01?str@T@@QBEPBDXZ"(%class.T* [[T4]])
return T("[").concat(T(s)).str();
}
int large_combiner_test(S_large s) {
// CHECK-LABEL: define i32 @large_combiner_test
-// CHECK: %1 = alloca %struct.Combiner
-// CHECK: %2 = alloca %struct.Combiner
-// CHECK: %3 = call %struct.Combiner* @_ZN8CombinerC1E7S_large(%struct.Combiner* %1, [9 x i32] %s.coerce)
-// CHECK: call void @_ZN8Combiner1fEv(%struct.Combiner* sret %2, %struct.Combiner* %1)
-// CHECK: %4 = getelementptr inbounds %struct.Combiner, %struct.Combiner* %2, i32 0, i32 0, i32 0, i32 0
-// CHECK: %5 = load i32, i32* %4
-// CHECK: ret i32 %5
+// CHECK: [[T1:%.*]] = alloca %struct.Combiner
+// CHECK: [[T2:%.*]] = alloca %struct.Combiner
+// CHECK: [[T3:%.*]] = call %struct.Combiner* @_ZN8CombinerC1E7S_large(%struct.Combiner* [[T1]], [9 x i32] %s.coerce)
+// CHECK: call void @_ZN8Combiner1fEv(%struct.Combiner* sret [[T2]], %struct.Combiner* [[T1]])
+// CHECK: [[T4:%.*]] = getelementptr inbounds %struct.Combiner, %struct.Combiner* [[T2]], i32 0, i32 0, i32 0, i32 0
+// CHECK: [[T5:%.*]] = load i32, i32* [[T4]]
+// CHECK: ret i32 [[T5]]
return Combiner(s).f().a.a[0];
}