mirror of
https://github.com/carbon-language/carbon-lang.git
synced 2026-10-05 22:02:55 +01:00
Format FormType as "Core.Form" (#6734)
This commit is contained in:
+11
-11
@@ -53,26 +53,26 @@ fn Int(N: MyIntLiteral) -> type = "int.make_type_signed";
|
||||
// CHECK:STDOUT: --- adapt.carbon
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: constants {
|
||||
// CHECK:STDOUT: %.d96: form = init_form type, call_param0 [concrete]
|
||||
// CHECK:STDOUT: %.824: Core.Form = init_form type, call_param0 [concrete]
|
||||
// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete]
|
||||
// CHECK:STDOUT: %IntLiteral.type: type = fn_type @IntLiteral [concrete]
|
||||
// CHECK:STDOUT: %IntLiteral: %IntLiteral.type = struct_value () [concrete]
|
||||
// CHECK:STDOUT: %MyIntLiteral: type = class_type @MyIntLiteral [concrete]
|
||||
// CHECK:STDOUT: %complete_type.972: <witness> = complete_type_witness Core.IntLiteral [concrete]
|
||||
// CHECK:STDOUT: %pattern_type.d59: type = pattern_type %MyIntLiteral [concrete]
|
||||
// CHECK:STDOUT: %.39d: form = init_form type, call_param1 [concrete]
|
||||
// CHECK:STDOUT: %.b38: Core.Form = init_form type, call_param1 [concrete]
|
||||
// CHECK:STDOUT: %Int.type: type = fn_type @Int [concrete]
|
||||
// CHECK:STDOUT: %Int: %Int.type = struct_value () [concrete]
|
||||
// CHECK:STDOUT: %MyInt32: type = class_type @MyInt32 [concrete]
|
||||
// CHECK:STDOUT: %int_32.be0: Core.IntLiteral = int_value 32 [concrete]
|
||||
// CHECK:STDOUT: %int_32.2f2: %MyIntLiteral = int_value 32 [concrete]
|
||||
// CHECK:STDOUT: %i32.builtin: type = int_type signed, %int_32.2f2 [concrete]
|
||||
// CHECK:STDOUT: %.a06: form = init_form %MyInt32, call_param1 [concrete]
|
||||
// CHECK:STDOUT: %.000: Core.Form = init_form %MyInt32, call_param1 [concrete]
|
||||
// CHECK:STDOUT: %pattern_type.4d1: type = pattern_type %MyInt32 [concrete]
|
||||
// CHECK:STDOUT: %MyInt32.Make.type: type = fn_type @MyInt32.Make [concrete]
|
||||
// CHECK:STDOUT: %MyInt32.Make: %MyInt32.Make.type = struct_value () [concrete]
|
||||
// CHECK:STDOUT: %complete_type.833: <witness> = complete_type_witness %i32.builtin [concrete]
|
||||
// CHECK:STDOUT: %.f9b: form = init_form %MyInt32, call_param2 [concrete]
|
||||
// CHECK:STDOUT: %.5d8: Core.Form = init_form %MyInt32, call_param2 [concrete]
|
||||
// CHECK:STDOUT: %MyAdd.type: type = fn_type @MyAdd [concrete]
|
||||
// CHECK:STDOUT: %MyAdd: %MyAdd.type = struct_value () [concrete]
|
||||
// CHECK:STDOUT: %int_1.5b8: Core.IntLiteral = int_value 1 [concrete]
|
||||
@@ -97,7 +97,7 @@ fn Int(N: MyIntLiteral) -> type = "int.make_type_signed";
|
||||
// CHECK:STDOUT: %return.patt: %pattern_type.98f = return_slot_pattern [concrete]
|
||||
// CHECK:STDOUT: %return.param_patt: %pattern_type.98f = out_param_pattern %return.patt, call_param0 [concrete]
|
||||
// CHECK:STDOUT: } {
|
||||
// CHECK:STDOUT: %.loc4: form = init_form type, call_param0 [concrete = constants.%.d96]
|
||||
// CHECK:STDOUT: %.loc4: Core.Form = init_form type, call_param0 [concrete = constants.%.824]
|
||||
// CHECK:STDOUT: %return.param: ref type = out_param call_param0
|
||||
// CHECK:STDOUT: %return: ref type = return_slot %return.param
|
||||
// CHECK:STDOUT: }
|
||||
@@ -108,7 +108,7 @@ fn Int(N: MyIntLiteral) -> type = "int.make_type_signed";
|
||||
// CHECK:STDOUT: %return.patt: %pattern_type.98f = return_slot_pattern [concrete]
|
||||
// CHECK:STDOUT: %return.param_patt: %pattern_type.98f = out_param_pattern %return.patt, call_param1 [concrete]
|
||||
// CHECK:STDOUT: } {
|
||||
// CHECK:STDOUT: %.loc10: form = init_form type, call_param1 [concrete = constants.%.39d]
|
||||
// CHECK:STDOUT: %.loc10: Core.Form = init_form type, call_param1 [concrete = constants.%.b38]
|
||||
// CHECK:STDOUT: %N.param: %MyIntLiteral = value_param call_param0
|
||||
// CHECK:STDOUT: %MyIntLiteral.ref: type = name_ref MyIntLiteral, file.%MyIntLiteral.decl [concrete = constants.%MyIntLiteral]
|
||||
// CHECK:STDOUT: %N: %MyIntLiteral = value_binding N, %N.param
|
||||
@@ -123,7 +123,7 @@ fn Int(N: MyIntLiteral) -> type = "int.make_type_signed";
|
||||
// CHECK:STDOUT: %return.param_patt: %pattern_type.4d1 = out_param_pattern %return.patt, call_param1 [concrete]
|
||||
// CHECK:STDOUT: } {
|
||||
// CHECK:STDOUT: %MyInt32.ref.loc18: type = name_ref MyInt32, file.%MyInt32.decl [concrete = constants.%MyInt32]
|
||||
// CHECK:STDOUT: %.loc18: form = init_form %MyInt32.ref.loc18, call_param1 [concrete = constants.%.a06]
|
||||
// CHECK:STDOUT: %.loc18: Core.Form = init_form %MyInt32.ref.loc18, call_param1 [concrete = constants.%.000]
|
||||
// CHECK:STDOUT: %a.param.loc18: %MyIntLiteral = value_param call_param0
|
||||
// CHECK:STDOUT: %MyIntLiteral.ref.loc18: type = name_ref MyIntLiteral, file.%MyIntLiteral.decl [concrete = constants.%MyIntLiteral]
|
||||
// CHECK:STDOUT: %a.loc18: %MyIntLiteral = value_binding a, %a.param.loc18
|
||||
@@ -139,7 +139,7 @@ fn Int(N: MyIntLiteral) -> type = "int.make_type_signed";
|
||||
// CHECK:STDOUT: %return.param_patt: %pattern_type.4d1 = out_param_pattern %return.patt, call_param2 [concrete]
|
||||
// CHECK:STDOUT: } {
|
||||
// CHECK:STDOUT: %MyInt32.ref.loc20_37: type = name_ref MyInt32, file.%MyInt32.decl [concrete = constants.%MyInt32]
|
||||
// CHECK:STDOUT: %.loc20: form = init_form %MyInt32.ref.loc20_37, call_param2 [concrete = constants.%.f9b]
|
||||
// CHECK:STDOUT: %.loc20: Core.Form = init_form %MyInt32.ref.loc20_37, call_param2 [concrete = constants.%.5d8]
|
||||
// CHECK:STDOUT: %a.param: %MyInt32 = value_param call_param0
|
||||
// CHECK:STDOUT: %MyInt32.ref.loc20_13: type = name_ref MyInt32, file.%MyInt32.decl [concrete = constants.%MyInt32]
|
||||
// CHECK:STDOUT: %a: %MyInt32 = value_binding a, %a.param
|
||||
@@ -189,7 +189,7 @@ fn Int(N: MyIntLiteral) -> type = "int.make_type_signed";
|
||||
// CHECK:STDOUT: %return.param_patt: %pattern_type.4d1 = out_param_pattern %return.patt, call_param1 [concrete]
|
||||
// CHECK:STDOUT: } {
|
||||
// CHECK:STDOUT: %MyInt32.ref.loc15: type = name_ref MyInt32, file.%MyInt32.decl [concrete = constants.%MyInt32]
|
||||
// CHECK:STDOUT: %.loc15: form = init_form %MyInt32.ref.loc15, call_param1 [concrete = constants.%.a06]
|
||||
// CHECK:STDOUT: %.loc15: Core.Form = init_form %MyInt32.ref.loc15, call_param1 [concrete = constants.%.000]
|
||||
// CHECK:STDOUT: %a.param.loc15: %MyIntLiteral = value_param call_param0
|
||||
// CHECK:STDOUT: %MyIntLiteral.ref.loc15: type = name_ref MyIntLiteral, file.%MyIntLiteral.decl [concrete = constants.%MyIntLiteral]
|
||||
// CHECK:STDOUT: %a.loc15: %MyIntLiteral = value_binding a, %a.param.loc15
|
||||
@@ -249,7 +249,7 @@ fn Int(N: MyIntLiteral) -> type = "int.make_type_signed";
|
||||
// CHECK:STDOUT: %empty_struct: %empty_struct_type = struct_value () [concrete]
|
||||
// CHECK:STDOUT: %complete_type: <witness> = complete_type_witness %empty_struct_type [concrete]
|
||||
// CHECK:STDOUT: %pattern_type.d59: type = pattern_type %MyIntLiteral [concrete]
|
||||
// CHECK:STDOUT: %.39d: form = init_form type, call_param1 [concrete]
|
||||
// CHECK:STDOUT: %.b38: Core.Form = init_form type, call_param1 [concrete]
|
||||
// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete]
|
||||
// CHECK:STDOUT: %Int.type: type = fn_type @Int [concrete]
|
||||
// CHECK:STDOUT: %Int: %Int.type = struct_value () [concrete]
|
||||
@@ -267,7 +267,7 @@ fn Int(N: MyIntLiteral) -> type = "int.make_type_signed";
|
||||
// CHECK:STDOUT: %return.patt: %pattern_type.98f = return_slot_pattern [concrete]
|
||||
// CHECK:STDOUT: %return.param_patt: %pattern_type.98f = out_param_pattern %return.patt, call_param1 [concrete]
|
||||
// CHECK:STDOUT: } {
|
||||
// CHECK:STDOUT: %.loc12: form = init_form type, call_param1 [concrete = constants.%.39d]
|
||||
// CHECK:STDOUT: %.loc12: Core.Form = init_form type, call_param1 [concrete = constants.%.b38]
|
||||
// CHECK:STDOUT: %N.param: %MyIntLiteral = value_param call_param0
|
||||
// CHECK:STDOUT: %MyIntLiteral.ref: type = name_ref MyIntLiteral, file.%MyIntLiteral.decl [concrete = constants.%MyIntLiteral]
|
||||
// CHECK:STDOUT: %N: %MyIntLiteral = value_binding N, %N.param
|
||||
|
||||
+3
-3
@@ -28,7 +28,7 @@ fn RuntimeCall(a: i32, b: i32) -> i32 {
|
||||
// CHECK:STDOUT: %Int.generic: %Int.type = struct_value () [concrete]
|
||||
// CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete]
|
||||
// CHECK:STDOUT: %pattern_type.7ce: type = pattern_type %i32 [concrete]
|
||||
// CHECK:STDOUT: %.88a: form = init_form %i32, call_param2 [concrete]
|
||||
// CHECK:STDOUT: %.8ef: Core.Form = init_form %i32, call_param2 [concrete]
|
||||
// CHECK:STDOUT: %Add.type: type = fn_type @Add [concrete]
|
||||
// CHECK:STDOUT: %Add: %Add.type = struct_value () [concrete]
|
||||
// CHECK:STDOUT: %int_1.5b8: Core.IntLiteral = int_value 1 [concrete]
|
||||
@@ -106,7 +106,7 @@ fn RuntimeCall(a: i32, b: i32) -> i32 {
|
||||
// CHECK:STDOUT: } {
|
||||
// CHECK:STDOUT: %int_32.loc15_27: Core.IntLiteral = int_value 32 [concrete = constants.%int_32]
|
||||
// CHECK:STDOUT: %i32.loc15_27: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32]
|
||||
// CHECK:STDOUT: %.loc15_27: form = init_form %i32.loc15_27, call_param2 [concrete = constants.%.88a]
|
||||
// CHECK:STDOUT: %.loc15_27: Core.Form = init_form %i32.loc15_27, call_param2 [concrete = constants.%.8ef]
|
||||
// CHECK:STDOUT: %a.param: %i32 = value_param call_param0
|
||||
// CHECK:STDOUT: %.loc15_11: type = splice_block %i32.loc15_11 [concrete = constants.%i32] {
|
||||
// CHECK:STDOUT: %int_32.loc15_11: Core.IntLiteral = int_value 32 [concrete = constants.%int_32]
|
||||
@@ -170,7 +170,7 @@ fn RuntimeCall(a: i32, b: i32) -> i32 {
|
||||
// CHECK:STDOUT: } {
|
||||
// CHECK:STDOUT: %int_32.loc19_35: Core.IntLiteral = int_value 32 [concrete = constants.%int_32]
|
||||
// CHECK:STDOUT: %i32.loc19_35: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32]
|
||||
// CHECK:STDOUT: %.loc19_35: form = init_form %i32.loc19_35, call_param2 [concrete = constants.%.88a]
|
||||
// CHECK:STDOUT: %.loc19_35: Core.Form = init_form %i32.loc19_35, call_param2 [concrete = constants.%.8ef]
|
||||
// CHECK:STDOUT: %a.param: %i32 = value_param call_param0
|
||||
// CHECK:STDOUT: %.loc19_19: type = splice_block %i32.loc19_19 [concrete = constants.%i32] {
|
||||
// CHECK:STDOUT: %int_32.loc19_19: Core.IntLiteral = int_value 32 [concrete = constants.%int_32]
|
||||
|
||||
@@ -56,12 +56,12 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32));
|
||||
// CHECK:STDOUT: --- core.carbon
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: constants {
|
||||
// CHECK:STDOUT: %.d96: form = init_form type, call_param0 [concrete]
|
||||
// CHECK:STDOUT: %.824: Core.Form = init_form type, call_param0 [concrete]
|
||||
// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete]
|
||||
// CHECK:STDOUT: %IntLiteral.type: type = fn_type @IntLiteral [concrete]
|
||||
// CHECK:STDOUT: %IntLiteral: %IntLiteral.type = struct_value () [concrete]
|
||||
// CHECK:STDOUT: %pattern_type.dc0: type = pattern_type Core.IntLiteral [concrete]
|
||||
// CHECK:STDOUT: %.39d: form = init_form type, call_param1 [concrete]
|
||||
// CHECK:STDOUT: %.b38: Core.Form = init_form type, call_param1 [concrete]
|
||||
// CHECK:STDOUT: %Int.type: type = fn_type @Int [concrete]
|
||||
// CHECK:STDOUT: %Int: %Int.type = struct_value () [concrete]
|
||||
// CHECK:STDOUT: %type: type = facet_type <type> [concrete]
|
||||
@@ -73,7 +73,7 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32));
|
||||
// CHECK:STDOUT: %Self.a37: %AddWith.type.26b = symbolic_binding Self, 1 [symbolic]
|
||||
// CHECK:STDOUT: %Self.binding.as_type.73e: type = symbolic_binding_type Self, 1, %Self.a37 [symbolic]
|
||||
// CHECK:STDOUT: %pattern_type.1f3: type = pattern_type %Self.binding.as_type.73e [symbolic]
|
||||
// CHECK:STDOUT: %.e4b: form = init_form %Self.binding.as_type.73e, call_param2 [symbolic]
|
||||
// CHECK:STDOUT: %.117: Core.Form = init_form %Self.binding.as_type.73e, call_param2 [symbolic]
|
||||
// CHECK:STDOUT: %AddWith.Op.type.421: type = fn_type @AddWith.Op, @AddWith(%T) [symbolic]
|
||||
// CHECK:STDOUT: %AddWith.Op.59b: %AddWith.Op.type.421 = struct_value () [symbolic]
|
||||
// CHECK:STDOUT: %AddWith.assoc_type.5ad: type = assoc_entity_type @AddWith, @AddWith(%T) [symbolic]
|
||||
@@ -84,7 +84,7 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32));
|
||||
// CHECK:STDOUT: %Self.a8c: %As.type.b54 = symbolic_binding Self, 1 [symbolic]
|
||||
// CHECK:STDOUT: %Self.binding.as_type.69d: type = symbolic_binding_type Self, 1, %Self.a8c [symbolic]
|
||||
// CHECK:STDOUT: %pattern_type.24e: type = pattern_type %Self.binding.as_type.69d [symbolic]
|
||||
// CHECK:STDOUT: %.e5f: form = init_form %T, call_param1 [symbolic]
|
||||
// CHECK:STDOUT: %.3cf: Core.Form = init_form %T, call_param1 [symbolic]
|
||||
// CHECK:STDOUT: %pattern_type.51d: type = pattern_type %T [symbolic]
|
||||
// CHECK:STDOUT: %As.Convert.type.d47: type = fn_type @As.Convert, @As(%T) [symbolic]
|
||||
// CHECK:STDOUT: %As.Convert.4a7: %As.Convert.type.d47 = struct_value () [symbolic]
|
||||
@@ -110,7 +110,7 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32));
|
||||
// CHECK:STDOUT: %AddWith.assoc_type.97c: type = assoc_entity_type @AddWith, @AddWith(%i32.builtin) [concrete]
|
||||
// CHECK:STDOUT: %assoc0.61e: %AddWith.assoc_type.97c = assoc_entity element0, @AddWith.%AddWith.Op.decl [concrete]
|
||||
// CHECK:STDOUT: %pattern_type.956: type = pattern_type %i32.builtin [concrete]
|
||||
// CHECK:STDOUT: %.4c4: form = init_form %i32.builtin, call_param2 [concrete]
|
||||
// CHECK:STDOUT: %.2f6: Core.Form = init_form %i32.builtin, call_param2 [concrete]
|
||||
// CHECK:STDOUT: %i32.builtin.as.AddWith.impl.Op.type: type = fn_type @i32.builtin.as.AddWith.impl.Op [concrete]
|
||||
// CHECK:STDOUT: %i32.builtin.as.AddWith.impl.Op: %i32.builtin.as.AddWith.impl.Op.type = struct_value () [concrete]
|
||||
// CHECK:STDOUT: %AddWith.facet: %AddWith.type.aed = facet_value %i32.builtin, (%AddWith.impl_witness) [concrete]
|
||||
@@ -121,7 +121,7 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32));
|
||||
// CHECK:STDOUT: %As.Convert.701: %As.Convert.type.063 = struct_value () [concrete]
|
||||
// CHECK:STDOUT: %As.assoc_type.c44: type = assoc_entity_type @As, @As(%i32.builtin) [concrete]
|
||||
// CHECK:STDOUT: %assoc0.d89: %As.assoc_type.c44 = assoc_entity element0, @As.%As.Convert.decl [concrete]
|
||||
// CHECK:STDOUT: %.8b6: form = init_form %i32.builtin, call_param1 [concrete]
|
||||
// CHECK:STDOUT: %.8a4: Core.Form = init_form %i32.builtin, call_param1 [concrete]
|
||||
// CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type: type = fn_type @Core.IntLiteral.as.As.impl.Convert [concrete]
|
||||
// CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert: %Core.IntLiteral.as.As.impl.Convert.type = struct_value () [concrete]
|
||||
// CHECK:STDOUT: %As.facet: %As.type.1ed = facet_value Core.IntLiteral, (%As.impl_witness) [concrete]
|
||||
@@ -142,7 +142,7 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32));
|
||||
// CHECK:STDOUT: %ImplicitAs.Convert.aec: %ImplicitAs.Convert.type.785 = struct_value () [concrete]
|
||||
// CHECK:STDOUT: %ImplicitAs.assoc_type.793: type = assoc_entity_type @ImplicitAs, @ImplicitAs(Core.IntLiteral) [concrete]
|
||||
// CHECK:STDOUT: %assoc0.49f: %ImplicitAs.assoc_type.793 = assoc_entity element0, @ImplicitAs.%ImplicitAs.Convert.decl [concrete]
|
||||
// CHECK:STDOUT: %.026: form = init_form Core.IntLiteral, call_param1 [concrete]
|
||||
// CHECK:STDOUT: %.7dc: Core.Form = init_form Core.IntLiteral, call_param1 [concrete]
|
||||
// CHECK:STDOUT: %i32.builtin.as.ImplicitAs.impl.Convert.type: type = fn_type @i32.builtin.as.ImplicitAs.impl.Convert [concrete]
|
||||
// CHECK:STDOUT: %i32.builtin.as.ImplicitAs.impl.Convert: %i32.builtin.as.ImplicitAs.impl.Convert.type = struct_value () [concrete]
|
||||
// CHECK:STDOUT: %ImplicitAs.facet.c5c: %ImplicitAs.type.79c = facet_value %i32.builtin, (%ImplicitAs.impl_witness.985) [concrete]
|
||||
@@ -160,7 +160,7 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32));
|
||||
// CHECK:STDOUT: %return.patt: %pattern_type.98f = return_slot_pattern [concrete]
|
||||
// CHECK:STDOUT: %return.param_patt: %pattern_type.98f = out_param_pattern %return.patt, call_param0 [concrete]
|
||||
// CHECK:STDOUT: } {
|
||||
// CHECK:STDOUT: %.loc4: form = init_form type, call_param0 [concrete = constants.%.d96]
|
||||
// CHECK:STDOUT: %.loc4: Core.Form = init_form type, call_param0 [concrete = constants.%.824]
|
||||
// CHECK:STDOUT: %return.param: ref type = out_param call_param0
|
||||
// CHECK:STDOUT: %return: ref type = return_slot %return.param
|
||||
// CHECK:STDOUT: }
|
||||
@@ -170,7 +170,7 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32));
|
||||
// CHECK:STDOUT: %return.patt: %pattern_type.98f = return_slot_pattern [concrete]
|
||||
// CHECK:STDOUT: %return.param_patt: %pattern_type.98f = out_param_pattern %return.patt, call_param1 [concrete]
|
||||
// CHECK:STDOUT: } {
|
||||
// CHECK:STDOUT: %.loc5_28: form = init_form type, call_param1 [concrete = constants.%.39d]
|
||||
// CHECK:STDOUT: %.loc5_28: Core.Form = init_form type, call_param1 [concrete = constants.%.b38]
|
||||
// CHECK:STDOUT: %N.param: Core.IntLiteral = value_param call_param0
|
||||
// CHECK:STDOUT: %.loc5_22.1: type = splice_block %.loc5_22.3 [concrete = Core.IntLiteral] {
|
||||
// CHECK:STDOUT: %IntLiteral.ref: %IntLiteral.type = name_ref IntLiteral, file.%IntLiteral.decl [concrete = constants.%IntLiteral]
|
||||
@@ -275,7 +275,7 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32));
|
||||
// CHECK:STDOUT: %Self.ref.loc8_37: @AddWith.Op.%AddWith.type (%AddWith.type.26b) = name_ref Self, %.loc8_37.2 [symbolic = %Self (constants.%Self.a37)]
|
||||
// CHECK:STDOUT: %Self.as_type.loc8_37: type = facet_access_type %Self.ref.loc8_37 [symbolic = %Self.binding.as_type (constants.%Self.binding.as_type.73e)]
|
||||
// CHECK:STDOUT: %.loc8_37.3: type = converted %Self.ref.loc8_37, %Self.as_type.loc8_37 [symbolic = %Self.binding.as_type (constants.%Self.binding.as_type.73e)]
|
||||
// CHECK:STDOUT: %.loc8_37.4: form = init_form %.loc8_37.3, call_param2 [symbolic = %.loc8_37.1 (constants.%.e4b)]
|
||||
// CHECK:STDOUT: %.loc8_37.4: Core.Form = init_form %.loc8_37.3, call_param2 [symbolic = %.loc8_37.1 (constants.%.117)]
|
||||
// CHECK:STDOUT: %self.param: @AddWith.Op.%Self.binding.as_type (%Self.binding.as_type.73e) = value_param call_param0
|
||||
// CHECK:STDOUT: %.loc8_15.1: type = splice_block %.loc8_15.3 [symbolic = %Self.binding.as_type (constants.%Self.binding.as_type.73e)] {
|
||||
// CHECK:STDOUT: %.loc8_15.2: @AddWith.Op.%AddWith.type (%AddWith.type.26b) = specific_constant @AddWith.%Self.loc7_29.1, @AddWith(constants.%T) [symbolic = %Self (constants.%Self.a37)]
|
||||
@@ -326,7 +326,7 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32));
|
||||
// CHECK:STDOUT: %return.param_patt: @As.Convert.%pattern_type.loc12_28 (%pattern_type.51d) = out_param_pattern %return.patt, call_param1 [concrete]
|
||||
// CHECK:STDOUT: } {
|
||||
// CHECK:STDOUT: %T.ref: type = name_ref T, @As.%T.loc11_14.2 [symbolic = %T (constants.%T)]
|
||||
// CHECK:STDOUT: %.loc12_31.2: form = init_form %T.ref, call_param1 [symbolic = %.loc12_31.1 (constants.%.e5f)]
|
||||
// CHECK:STDOUT: %.loc12_31.2: Core.Form = init_form %T.ref, call_param1 [symbolic = %.loc12_31.1 (constants.%.3cf)]
|
||||
// CHECK:STDOUT: %self.param: @As.Convert.%Self.binding.as_type (%Self.binding.as_type.69d) = value_param call_param0
|
||||
// CHECK:STDOUT: %.loc12_20.1: type = splice_block %.loc12_20.3 [symbolic = %Self.binding.as_type (constants.%Self.binding.as_type.69d)] {
|
||||
// CHECK:STDOUT: %.loc12_20.2: @As.Convert.%As.type (%As.type.b54) = specific_constant @As.%Self.loc11_24.1, @As(constants.%T) [symbolic = %Self (constants.%Self.a8c)]
|
||||
@@ -370,7 +370,7 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32));
|
||||
// CHECK:STDOUT: %return.param_patt: @ImplicitAs.Convert.%pattern_type.loc16_28 (%pattern_type.51d) = out_param_pattern %return.patt, call_param1 [concrete]
|
||||
// CHECK:STDOUT: } {
|
||||
// CHECK:STDOUT: %T.ref: type = name_ref T, @ImplicitAs.%T.loc15_22.2 [symbolic = %T (constants.%T)]
|
||||
// CHECK:STDOUT: %.loc16_31.2: form = init_form %T.ref, call_param1 [symbolic = %.loc16_31.1 (constants.%.e5f)]
|
||||
// CHECK:STDOUT: %.loc16_31.2: Core.Form = init_form %T.ref, call_param1 [symbolic = %.loc16_31.1 (constants.%.3cf)]
|
||||
// CHECK:STDOUT: %self.param: @ImplicitAs.Convert.%Self.binding.as_type (%Self.binding.as_type.984) = value_param call_param0
|
||||
// CHECK:STDOUT: %.loc16_20.1: type = splice_block %.loc16_20.3 [symbolic = %Self.binding.as_type (constants.%Self.binding.as_type.984)] {
|
||||
// CHECK:STDOUT: %.loc16_20.2: @ImplicitAs.Convert.%ImplicitAs.type (%ImplicitAs.type.9fe) = specific_constant @ImplicitAs.%Self.loc15_32.1, @ImplicitAs(constants.%T) [symbolic = %Self (constants.%Self.7c0)]
|
||||
@@ -404,7 +404,7 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32));
|
||||
// CHECK:STDOUT: %return.param_patt: %pattern_type.956 = out_param_pattern %return.patt, call_param2 [concrete]
|
||||
// CHECK:STDOUT: } {
|
||||
// CHECK:STDOUT: %Self.ref.loc20_37: type = name_ref Self, @i32.builtin.as.AddWith.impl.%.loc19_6.2 [concrete = constants.%i32.builtin]
|
||||
// CHECK:STDOUT: %.loc20: form = init_form %Self.ref.loc20_37, call_param2 [concrete = constants.%.4c4]
|
||||
// CHECK:STDOUT: %.loc20: Core.Form = init_form %Self.ref.loc20_37, call_param2 [concrete = constants.%.2f6]
|
||||
// CHECK:STDOUT: %self.param: %i32.builtin = value_param call_param0
|
||||
// CHECK:STDOUT: %Self.ref.loc20_15: type = name_ref Self, @i32.builtin.as.AddWith.impl.%.loc19_6.2 [concrete = constants.%i32.builtin]
|
||||
// CHECK:STDOUT: %self: %i32.builtin = value_binding self, %self.param
|
||||
@@ -433,7 +433,7 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32));
|
||||
// CHECK:STDOUT: %Int.call: init type = call constants.%Int(%int_32) [concrete = constants.%i32.builtin]
|
||||
// CHECK:STDOUT: %.loc24_31.1: type = value_of_initializer %Int.call [concrete = constants.%i32.builtin]
|
||||
// CHECK:STDOUT: %.loc24_31.2: type = converted %Int.call, %.loc24_31.1 [concrete = constants.%i32.builtin]
|
||||
// CHECK:STDOUT: %.loc24_31.3: form = init_form %.loc24_31.2, call_param1 [concrete = constants.%.8b6]
|
||||
// CHECK:STDOUT: %.loc24_31.3: Core.Form = init_form %.loc24_31.2, call_param1 [concrete = constants.%.8a4]
|
||||
// CHECK:STDOUT: %self.param: Core.IntLiteral = value_param call_param0
|
||||
// CHECK:STDOUT: %Self.ref: type = name_ref Self, @Core.IntLiteral.as.As.impl.%.loc23_17.2 [concrete = Core.IntLiteral]
|
||||
// CHECK:STDOUT: %self: Core.IntLiteral = value_binding self, %self.param
|
||||
@@ -459,7 +459,7 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32));
|
||||
// CHECK:STDOUT: %Int.call: init type = call constants.%Int(%int_32) [concrete = constants.%i32.builtin]
|
||||
// CHECK:STDOUT: %.loc28_31.1: type = value_of_initializer %Int.call [concrete = constants.%i32.builtin]
|
||||
// CHECK:STDOUT: %.loc28_31.2: type = converted %Int.call, %.loc28_31.1 [concrete = constants.%i32.builtin]
|
||||
// CHECK:STDOUT: %.loc28_31.3: form = init_form %.loc28_31.2, call_param1 [concrete = constants.%.8b6]
|
||||
// CHECK:STDOUT: %.loc28_31.3: Core.Form = init_form %.loc28_31.2, call_param1 [concrete = constants.%.8a4]
|
||||
// CHECK:STDOUT: %self.param: Core.IntLiteral = value_param call_param0
|
||||
// CHECK:STDOUT: %Self.ref: type = name_ref Self, @Core.IntLiteral.as.ImplicitAs.impl.%.loc27_17.2 [concrete = Core.IntLiteral]
|
||||
// CHECK:STDOUT: %self: Core.IntLiteral = value_binding self, %self.param
|
||||
@@ -485,7 +485,7 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32));
|
||||
// CHECK:STDOUT: %IntLiteral.call: init type = call %IntLiteral.ref() [concrete = Core.IntLiteral]
|
||||
// CHECK:STDOUT: %.loc32_42.1: type = value_of_initializer %IntLiteral.call [concrete = Core.IntLiteral]
|
||||
// CHECK:STDOUT: %.loc32_42.2: type = converted %IntLiteral.call, %.loc32_42.1 [concrete = Core.IntLiteral]
|
||||
// CHECK:STDOUT: %.loc32_42.3: form = init_form %.loc32_42.2, call_param1 [concrete = constants.%.026]
|
||||
// CHECK:STDOUT: %.loc32_42.3: Core.Form = init_form %.loc32_42.2, call_param1 [concrete = constants.%.7dc]
|
||||
// CHECK:STDOUT: %self.param: %i32.builtin = value_param call_param0
|
||||
// CHECK:STDOUT: %Self.ref: type = name_ref Self, @i32.builtin.as.ImplicitAs.impl.%.loc31_6.2 [concrete = constants.%i32.builtin]
|
||||
// CHECK:STDOUT: %self: %i32.builtin = value_binding self, %self.param
|
||||
@@ -511,7 +511,7 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32));
|
||||
// CHECK:STDOUT: %Self: @AddWith.Op.%AddWith.type (%AddWith.type.26b) = symbolic_binding Self, 1 [symbolic = %Self (constants.%Self.a37)]
|
||||
// CHECK:STDOUT: %Self.binding.as_type: type = symbolic_binding_type Self, 1, %Self [symbolic = %Self.binding.as_type (constants.%Self.binding.as_type.73e)]
|
||||
// CHECK:STDOUT: %pattern_type: type = pattern_type %Self.binding.as_type [symbolic = %pattern_type (constants.%pattern_type.1f3)]
|
||||
// CHECK:STDOUT: %.loc8_37.1: form = init_form %Self.binding.as_type, call_param2 [symbolic = %.loc8_37.1 (constants.%.e4b)]
|
||||
// CHECK:STDOUT: %.loc8_37.1: Core.Form = init_form %Self.binding.as_type, call_param2 [symbolic = %.loc8_37.1 (constants.%.117)]
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn(%self.param: @AddWith.Op.%Self.binding.as_type (%Self.binding.as_type.73e), %other.param: @AddWith.Op.%Self.binding.as_type (%Self.binding.as_type.73e)) -> out %return.param: @AddWith.Op.%Self.binding.as_type (%Self.binding.as_type.73e);
|
||||
// CHECK:STDOUT: }
|
||||
@@ -522,7 +522,7 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32));
|
||||
// CHECK:STDOUT: %Self: @As.Convert.%As.type (%As.type.b54) = symbolic_binding Self, 1 [symbolic = %Self (constants.%Self.a8c)]
|
||||
// CHECK:STDOUT: %Self.binding.as_type: type = symbolic_binding_type Self, 1, %Self [symbolic = %Self.binding.as_type (constants.%Self.binding.as_type.69d)]
|
||||
// CHECK:STDOUT: %pattern_type.loc12_14: type = pattern_type %Self.binding.as_type [symbolic = %pattern_type.loc12_14 (constants.%pattern_type.24e)]
|
||||
// CHECK:STDOUT: %.loc12_31.1: form = init_form %T, call_param1 [symbolic = %.loc12_31.1 (constants.%.e5f)]
|
||||
// CHECK:STDOUT: %.loc12_31.1: Core.Form = init_form %T, call_param1 [symbolic = %.loc12_31.1 (constants.%.3cf)]
|
||||
// CHECK:STDOUT: %pattern_type.loc12_28: type = pattern_type %T [symbolic = %pattern_type.loc12_28 (constants.%pattern_type.51d)]
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn(%self.param: @As.Convert.%Self.binding.as_type (%Self.binding.as_type.69d)) -> out %return.param: @As.Convert.%T (%T);
|
||||
@@ -534,7 +534,7 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32));
|
||||
// CHECK:STDOUT: %Self: @ImplicitAs.Convert.%ImplicitAs.type (%ImplicitAs.type.9fe) = symbolic_binding Self, 1 [symbolic = %Self (constants.%Self.7c0)]
|
||||
// CHECK:STDOUT: %Self.binding.as_type: type = symbolic_binding_type Self, 1, %Self [symbolic = %Self.binding.as_type (constants.%Self.binding.as_type.984)]
|
||||
// CHECK:STDOUT: %pattern_type.loc16_14: type = pattern_type %Self.binding.as_type [symbolic = %pattern_type.loc16_14 (constants.%pattern_type.8de)]
|
||||
// CHECK:STDOUT: %.loc16_31.1: form = init_form %T, call_param1 [symbolic = %.loc16_31.1 (constants.%.e5f)]
|
||||
// CHECK:STDOUT: %.loc16_31.1: Core.Form = init_form %T, call_param1 [symbolic = %.loc16_31.1 (constants.%.3cf)]
|
||||
// CHECK:STDOUT: %pattern_type.loc16_28: type = pattern_type %T [symbolic = %pattern_type.loc16_28 (constants.%pattern_type.51d)]
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn(%self.param: @ImplicitAs.Convert.%Self.binding.as_type (%Self.binding.as_type.984)) -> out %return.param: @ImplicitAs.Convert.%T (%T);
|
||||
@@ -558,7 +558,7 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32));
|
||||
// CHECK:STDOUT: %Self => constants.%Self.a37
|
||||
// CHECK:STDOUT: %Self.binding.as_type => constants.%Self.binding.as_type.73e
|
||||
// CHECK:STDOUT: %pattern_type => constants.%pattern_type.1f3
|
||||
// CHECK:STDOUT: %.loc8_37.1 => constants.%.e4b
|
||||
// CHECK:STDOUT: %.loc8_37.1 => constants.%.117
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: specific @As(constants.%T) {
|
||||
@@ -571,7 +571,7 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32));
|
||||
// CHECK:STDOUT: %Self => constants.%Self.a8c
|
||||
// CHECK:STDOUT: %Self.binding.as_type => constants.%Self.binding.as_type.69d
|
||||
// CHECK:STDOUT: %pattern_type.loc12_14 => constants.%pattern_type.24e
|
||||
// CHECK:STDOUT: %.loc12_31.1 => constants.%.e5f
|
||||
// CHECK:STDOUT: %.loc12_31.1 => constants.%.3cf
|
||||
// CHECK:STDOUT: %pattern_type.loc12_28 => constants.%pattern_type.51d
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
@@ -585,7 +585,7 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32));
|
||||
// CHECK:STDOUT: %Self => constants.%Self.7c0
|
||||
// CHECK:STDOUT: %Self.binding.as_type => constants.%Self.binding.as_type.984
|
||||
// CHECK:STDOUT: %pattern_type.loc16_14 => constants.%pattern_type.8de
|
||||
// CHECK:STDOUT: %.loc16_31.1 => constants.%.e5f
|
||||
// CHECK:STDOUT: %.loc16_31.1 => constants.%.3cf
|
||||
// CHECK:STDOUT: %pattern_type.loc16_28 => constants.%pattern_type.51d
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
@@ -607,7 +607,7 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32));
|
||||
// CHECK:STDOUT: %Self => constants.%AddWith.facet
|
||||
// CHECK:STDOUT: %Self.binding.as_type => constants.%i32.builtin
|
||||
// CHECK:STDOUT: %pattern_type => constants.%pattern_type.956
|
||||
// CHECK:STDOUT: %.loc8_37.1 => constants.%.4c4
|
||||
// CHECK:STDOUT: %.loc8_37.1 => constants.%.2f6
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: specific @As(constants.%i32.builtin) {
|
||||
@@ -628,7 +628,7 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32));
|
||||
// CHECK:STDOUT: %Self => constants.%As.facet
|
||||
// CHECK:STDOUT: %Self.binding.as_type => Core.IntLiteral
|
||||
// CHECK:STDOUT: %pattern_type.loc12_14 => constants.%pattern_type.dc0
|
||||
// CHECK:STDOUT: %.loc12_31.1 => constants.%.8b6
|
||||
// CHECK:STDOUT: %.loc12_31.1 => constants.%.8a4
|
||||
// CHECK:STDOUT: %pattern_type.loc12_28 => constants.%pattern_type.956
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
@@ -650,7 +650,7 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32));
|
||||
// CHECK:STDOUT: %Self => constants.%ImplicitAs.facet.b36
|
||||
// CHECK:STDOUT: %Self.binding.as_type => Core.IntLiteral
|
||||
// CHECK:STDOUT: %pattern_type.loc16_14 => constants.%pattern_type.dc0
|
||||
// CHECK:STDOUT: %.loc16_31.1 => constants.%.8b6
|
||||
// CHECK:STDOUT: %.loc16_31.1 => constants.%.8a4
|
||||
// CHECK:STDOUT: %pattern_type.loc16_28 => constants.%pattern_type.956
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
@@ -672,7 +672,7 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32));
|
||||
// CHECK:STDOUT: %Self => constants.%ImplicitAs.facet.c5c
|
||||
// CHECK:STDOUT: %Self.binding.as_type => constants.%i32.builtin
|
||||
// CHECK:STDOUT: %pattern_type.loc16_14 => constants.%pattern_type.956
|
||||
// CHECK:STDOUT: %.loc16_31.1 => constants.%.026
|
||||
// CHECK:STDOUT: %.loc16_31.1 => constants.%.7dc
|
||||
// CHECK:STDOUT: %pattern_type.loc16_28 => constants.%pattern_type.dc0
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
@@ -696,7 +696,7 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32));
|
||||
// CHECK:STDOUT: %pattern_type.51d: type = pattern_type %T [symbolic]
|
||||
// CHECK:STDOUT: %Self.binding.as_type.297: type = symbolic_binding_type Self, 1, %Self.2d0 [symbolic]
|
||||
// CHECK:STDOUT: %pattern_type.760: type = pattern_type %Self.binding.as_type.297 [symbolic]
|
||||
// CHECK:STDOUT: %.e5f: form = init_form %T, call_param1 [symbolic]
|
||||
// CHECK:STDOUT: %.3cf: Core.Form = init_form %T, call_param1 [symbolic]
|
||||
// CHECK:STDOUT: %As.type.ffe: type = facet_type <@As, @As(%i32.builtin)> [concrete]
|
||||
// CHECK:STDOUT: %Self.af0: %As.type.ffe = symbolic_binding Self, 1 [symbolic]
|
||||
// CHECK:STDOUT: %As.Convert.type.378: type = fn_type @As.Convert, @As(%i32.builtin) [concrete]
|
||||
@@ -724,7 +724,7 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32));
|
||||
// CHECK:STDOUT: %AddWith.Op.b1d: %AddWith.Op.type.216 = struct_value () [symbolic]
|
||||
// CHECK:STDOUT: %Self.binding.as_type.14b: type = symbolic_binding_type Self, 1, %Self.b7c [symbolic]
|
||||
// CHECK:STDOUT: %pattern_type.259: type = pattern_type %Self.binding.as_type.14b [symbolic]
|
||||
// CHECK:STDOUT: %.baa: form = init_form %Self.binding.as_type.14b, call_param2 [symbolic]
|
||||
// CHECK:STDOUT: %.8b7: Core.Form = init_form %Self.binding.as_type.14b, call_param2 [symbolic]
|
||||
// CHECK:STDOUT: %AddWith.type.46d: type = facet_type <@AddWith, @AddWith(%i32.builtin)> [concrete]
|
||||
// CHECK:STDOUT: %Self.365: %AddWith.type.46d = symbolic_binding Self, 1 [symbolic]
|
||||
// CHECK:STDOUT: %AddWith.Op.type.0b7: type = fn_type @AddWith.Op, @AddWith(%i32.builtin) [concrete]
|
||||
@@ -811,8 +811,8 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32));
|
||||
// CHECK:STDOUT: %Core.import_ref.ad5: <witness> = import_ref Core//default, loc{{\d+_\d+}}, loaded [concrete = constants.%As.impl_witness]
|
||||
// CHECK:STDOUT: %Core.import_ref.a86459.1: type = import_ref Core//default, loc{{\d+_\d+}}, loaded [concrete = Core.IntLiteral]
|
||||
// CHECK:STDOUT: %Core.import_ref.412: type = import_ref Core//default, loc{{\d+_\d+}}, loaded [concrete = constants.%As.type.ffe]
|
||||
// CHECK:STDOUT: %Core.import_ref.d9dc: %Core.IntLiteral.as.As.impl.Convert.type = import_ref Core//default, loc{{\d+_\d+}}, loaded [concrete = constants.%Core.IntLiteral.as.As.impl.Convert]
|
||||
// CHECK:STDOUT: %As.impl_witness_table = impl_witness_table (%Core.import_ref.d9dc), @Core.IntLiteral.as.As.impl [concrete]
|
||||
// CHECK:STDOUT: %Core.import_ref.d9d: %Core.IntLiteral.as.As.impl.Convert.type = import_ref Core//default, loc{{\d+_\d+}}, loaded [concrete = constants.%Core.IntLiteral.as.As.impl.Convert]
|
||||
// CHECK:STDOUT: %As.impl_witness_table = impl_witness_table (%Core.import_ref.d9d), @Core.IntLiteral.as.As.impl [concrete]
|
||||
// CHECK:STDOUT: %Core.AddWith: %AddWith.type.e05 = import_ref Core//default, AddWith, loaded [concrete = constants.%AddWith.generic]
|
||||
// CHECK:STDOUT: %Core.import_ref.a40 = import_ref Core//default, loc{{\d+_\d+}}, unloaded
|
||||
// CHECK:STDOUT: %Core.import_ref.91c: @AddWith.%AddWith.assoc_type (%AddWith.assoc_type.b6a) = import_ref Core//default, loc{{\d+_\d+}}, loaded [symbolic = @AddWith.%assoc0 (constants.%assoc0.7a7)]
|
||||
@@ -991,7 +991,7 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32));
|
||||
// CHECK:STDOUT: %Self: @As.Convert.%As.type (%As.type.223) = symbolic_binding Self, 1 [symbolic = %Self (constants.%Self.2d0)]
|
||||
// CHECK:STDOUT: %Self.binding.as_type: type = symbolic_binding_type Self, 1, %Self [symbolic = %Self.binding.as_type (constants.%Self.binding.as_type.297)]
|
||||
// CHECK:STDOUT: %pattern_type.1: type = pattern_type %Self.binding.as_type [symbolic = %pattern_type.1 (constants.%pattern_type.760)]
|
||||
// CHECK:STDOUT: %.1: form = init_form %T, call_param1 [symbolic = %.1 (constants.%.e5f)]
|
||||
// CHECK:STDOUT: %.1: Core.Form = init_form %T, call_param1 [symbolic = %.1 (constants.%.3cf)]
|
||||
// CHECK:STDOUT: %pattern_type.2: type = pattern_type %T [symbolic = %pattern_type.2 (constants.%pattern_type.51d)]
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn;
|
||||
@@ -1005,7 +1005,7 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32));
|
||||
// CHECK:STDOUT: %Self: @AddWith.Op.%AddWith.type (%AddWith.type.6d9) = symbolic_binding Self, 1 [symbolic = %Self (constants.%Self.b7c)]
|
||||
// CHECK:STDOUT: %Self.binding.as_type: type = symbolic_binding_type Self, 1, %Self [symbolic = %Self.binding.as_type (constants.%Self.binding.as_type.14b)]
|
||||
// CHECK:STDOUT: %pattern_type: type = pattern_type %Self.binding.as_type [symbolic = %pattern_type (constants.%pattern_type.259)]
|
||||
// CHECK:STDOUT: %.1: form = init_form %Self.binding.as_type, call_param2 [symbolic = %.1 (constants.%.baa)]
|
||||
// CHECK:STDOUT: %.1: Core.Form = init_form %Self.binding.as_type, call_param2 [symbolic = %.1 (constants.%.8b7)]
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn;
|
||||
// CHECK:STDOUT: }
|
||||
@@ -1018,7 +1018,7 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32));
|
||||
// CHECK:STDOUT: %Self: @ImplicitAs.Convert.%ImplicitAs.type (%ImplicitAs.type.031) = symbolic_binding Self, 1 [symbolic = %Self (constants.%Self.738)]
|
||||
// CHECK:STDOUT: %Self.binding.as_type: type = symbolic_binding_type Self, 1, %Self [symbolic = %Self.binding.as_type (constants.%Self.binding.as_type.a44)]
|
||||
// CHECK:STDOUT: %pattern_type.1: type = pattern_type %Self.binding.as_type [symbolic = %pattern_type.1 (constants.%pattern_type.e9a)]
|
||||
// CHECK:STDOUT: %.1: form = init_form %T, call_param1 [symbolic = %.1 (constants.%.e5f)]
|
||||
// CHECK:STDOUT: %.1: Core.Form = init_form %T, call_param1 [symbolic = %.1 (constants.%.3cf)]
|
||||
// CHECK:STDOUT: %pattern_type.2: type = pattern_type %T [symbolic = %pattern_type.2 (constants.%pattern_type.51d)]
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn;
|
||||
@@ -1089,7 +1089,7 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32));
|
||||
// CHECK:STDOUT: %Self => constants.%Self.2d0
|
||||
// CHECK:STDOUT: %Self.binding.as_type => constants.%Self.binding.as_type.297
|
||||
// CHECK:STDOUT: %pattern_type.1 => constants.%pattern_type.760
|
||||
// CHECK:STDOUT: %.1 => constants.%.e5f
|
||||
// CHECK:STDOUT: %.1 => constants.%.3cf
|
||||
// CHECK:STDOUT: %pattern_type.2 => constants.%pattern_type.51d
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
@@ -1115,7 +1115,7 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32));
|
||||
// CHECK:STDOUT: %Self => constants.%Self.b7c
|
||||
// CHECK:STDOUT: %Self.binding.as_type => constants.%Self.binding.as_type.14b
|
||||
// CHECK:STDOUT: %pattern_type => constants.%pattern_type.259
|
||||
// CHECK:STDOUT: %.1 => constants.%.baa
|
||||
// CHECK:STDOUT: %.1 => constants.%.8b7
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: specific @AddWith(constants.%i32.builtin) {
|
||||
@@ -1140,7 +1140,7 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32));
|
||||
// CHECK:STDOUT: %Self => constants.%Self.738
|
||||
// CHECK:STDOUT: %Self.binding.as_type => constants.%Self.binding.as_type.a44
|
||||
// CHECK:STDOUT: %pattern_type.1 => constants.%pattern_type.e9a
|
||||
// CHECK:STDOUT: %.1 => constants.%.e5f
|
||||
// CHECK:STDOUT: %.1 => constants.%.3cf
|
||||
// CHECK:STDOUT: %pattern_type.2 => constants.%pattern_type.51d
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
|
||||
@@ -22,7 +22,7 @@ fn Add(a: i32, b: i32) -> i32 = "int.sadd";
|
||||
// CHECK:STDOUT: %Int.generic: %Int.type = struct_value () [concrete]
|
||||
// CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete]
|
||||
// CHECK:STDOUT: %pattern_type.7ce: type = pattern_type %i32 [concrete]
|
||||
// CHECK:STDOUT: %.88a: form = init_form %i32, call_param2 [concrete]
|
||||
// CHECK:STDOUT: %.8ef: Core.Form = init_form %i32, call_param2 [concrete]
|
||||
// CHECK:STDOUT: %Add.type: type = fn_type @Add [concrete]
|
||||
// CHECK:STDOUT: %Add: %Add.type = struct_value () [concrete]
|
||||
// CHECK:STDOUT: }
|
||||
@@ -52,7 +52,7 @@ fn Add(a: i32, b: i32) -> i32 = "int.sadd";
|
||||
// CHECK:STDOUT: } {
|
||||
// CHECK:STDOUT: %int_32.loc15_27: Core.IntLiteral = int_value 32 [concrete = constants.%int_32]
|
||||
// CHECK:STDOUT: %i32.loc15_27: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32]
|
||||
// CHECK:STDOUT: %.loc15_27: form = init_form %i32.loc15_27, call_param2 [concrete = constants.%.88a]
|
||||
// CHECK:STDOUT: %.loc15_27: Core.Form = init_form %i32.loc15_27, call_param2 [concrete = constants.%.8ef]
|
||||
// CHECK:STDOUT: %a.param: %i32 = value_param call_param0
|
||||
// CHECK:STDOUT: %.loc15_11: type = splice_block %i32.loc15_11 [concrete = constants.%i32] {
|
||||
// CHECK:STDOUT: %int_32.loc15_11: Core.IntLiteral = int_value 32 [concrete = constants.%int_32]
|
||||
|
||||
@@ -51,7 +51,7 @@ fn C(n: i32, m: i32) -> i32 = "int.sadd";
|
||||
// CHECK:STDOUT: %N: Core.IntLiteral = symbolic_binding N, 0 [symbolic]
|
||||
// CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete]
|
||||
// CHECK:STDOUT: %pattern_type.7ce: type = pattern_type %i32 [concrete]
|
||||
// CHECK:STDOUT: %.88a: form = init_form %i32, call_param2 [concrete]
|
||||
// CHECK:STDOUT: %.8ef: Core.Form = init_form %i32, call_param2 [concrete]
|
||||
// CHECK:STDOUT: %A.type.8165c1.1: type = fn_type @A.loc15 [concrete]
|
||||
// CHECK:STDOUT: %A.8aef9d.1: %A.type.8165c1.1 = struct_value () [concrete]
|
||||
// CHECK:STDOUT: %A.type.8165c1.2: type = fn_type @A.loc23 [concrete]
|
||||
@@ -107,7 +107,7 @@ fn C(n: i32, m: i32) -> i32 = "int.sadd";
|
||||
// CHECK:STDOUT: } {
|
||||
// CHECK:STDOUT: %int_32.loc15_25: Core.IntLiteral = int_value 32 [concrete = constants.%int_32]
|
||||
// CHECK:STDOUT: %i32.loc15_25: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32]
|
||||
// CHECK:STDOUT: %.loc15_25: form = init_form %i32.loc15_25, call_param2 [concrete = constants.%.88a]
|
||||
// CHECK:STDOUT: %.loc15_25: Core.Form = init_form %i32.loc15_25, call_param2 [concrete = constants.%.8ef]
|
||||
// CHECK:STDOUT: %n.param: %i32 = value_param call_param0
|
||||
// CHECK:STDOUT: %.loc15_9: type = splice_block %i32.loc15_9 [concrete = constants.%i32] {
|
||||
// CHECK:STDOUT: %int_32.loc15_9: Core.IntLiteral = int_value 32 [concrete = constants.%int_32]
|
||||
@@ -133,7 +133,7 @@ fn C(n: i32, m: i32) -> i32 = "int.sadd";
|
||||
// CHECK:STDOUT: } {
|
||||
// CHECK:STDOUT: %int_32.loc23_25: Core.IntLiteral = int_value 32 [concrete = constants.%int_32]
|
||||
// CHECK:STDOUT: %i32.loc23_25: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32]
|
||||
// CHECK:STDOUT: %.loc23_25: form = init_form %i32.loc23_25, call_param2 [concrete = constants.%.88a]
|
||||
// CHECK:STDOUT: %.loc23_25: Core.Form = init_form %i32.loc23_25, call_param2 [concrete = constants.%.8ef]
|
||||
// CHECK:STDOUT: %n.param: %i32 = value_param call_param0
|
||||
// CHECK:STDOUT: %.loc23_9: type = splice_block %i32.loc23_9 [concrete = constants.%i32] {
|
||||
// CHECK:STDOUT: %int_32.loc23_9: Core.IntLiteral = int_value 32 [concrete = constants.%int_32]
|
||||
@@ -159,7 +159,7 @@ fn C(n: i32, m: i32) -> i32 = "int.sadd";
|
||||
// CHECK:STDOUT: } {
|
||||
// CHECK:STDOUT: %int_32.loc25_25: Core.IntLiteral = int_value 32 [concrete = constants.%int_32]
|
||||
// CHECK:STDOUT: %i32.loc25_25: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32]
|
||||
// CHECK:STDOUT: %.loc25_25: form = init_form %i32.loc25_25, call_param2 [concrete = constants.%.88a]
|
||||
// CHECK:STDOUT: %.loc25_25: Core.Form = init_form %i32.loc25_25, call_param2 [concrete = constants.%.8ef]
|
||||
// CHECK:STDOUT: %n.param: %i32 = value_param call_param0
|
||||
// CHECK:STDOUT: %.loc25_9: type = splice_block %i32.loc25_9 [concrete = constants.%i32] {
|
||||
// CHECK:STDOUT: %int_32.loc25_9: Core.IntLiteral = int_value 32 [concrete = constants.%int_32]
|
||||
@@ -185,7 +185,7 @@ fn C(n: i32, m: i32) -> i32 = "int.sadd";
|
||||
// CHECK:STDOUT: } {
|
||||
// CHECK:STDOUT: %int_32.loc33_25: Core.IntLiteral = int_value 32 [concrete = constants.%int_32]
|
||||
// CHECK:STDOUT: %i32.loc33_25: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32]
|
||||
// CHECK:STDOUT: %.loc33_25: form = init_form %i32.loc33_25, call_param2 [concrete = constants.%.88a]
|
||||
// CHECK:STDOUT: %.loc33_25: Core.Form = init_form %i32.loc33_25, call_param2 [concrete = constants.%.8ef]
|
||||
// CHECK:STDOUT: %n.param: %i32 = value_param call_param0
|
||||
// CHECK:STDOUT: %.loc33_9: type = splice_block %i32.loc33_9 [concrete = constants.%i32] {
|
||||
// CHECK:STDOUT: %int_32.loc33_9: Core.IntLiteral = int_value 32 [concrete = constants.%int_32]
|
||||
@@ -211,7 +211,7 @@ fn C(n: i32, m: i32) -> i32 = "int.sadd";
|
||||
// CHECK:STDOUT: } {
|
||||
// CHECK:STDOUT: %int_32.loc35_25: Core.IntLiteral = int_value 32 [concrete = constants.%int_32]
|
||||
// CHECK:STDOUT: %i32.loc35_25: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32]
|
||||
// CHECK:STDOUT: %.loc35_25: form = init_form %i32.loc35_25, call_param2 [concrete = constants.%.88a]
|
||||
// CHECK:STDOUT: %.loc35_25: Core.Form = init_form %i32.loc35_25, call_param2 [concrete = constants.%.8ef]
|
||||
// CHECK:STDOUT: %n.param: %i32 = value_param call_param0
|
||||
// CHECK:STDOUT: %.loc35_9: type = splice_block %i32.loc35_9 [concrete = constants.%i32] {
|
||||
// CHECK:STDOUT: %int_32.loc35_9: Core.IntLiteral = int_value 32 [concrete = constants.%int_32]
|
||||
@@ -237,7 +237,7 @@ fn C(n: i32, m: i32) -> i32 = "int.sadd";
|
||||
// CHECK:STDOUT: } {
|
||||
// CHECK:STDOUT: %int_32.loc43_25: Core.IntLiteral = int_value 32 [concrete = constants.%int_32]
|
||||
// CHECK:STDOUT: %i32.loc43_25: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32]
|
||||
// CHECK:STDOUT: %.loc43_25: form = init_form %i32.loc43_25, call_param2 [concrete = constants.%.88a]
|
||||
// CHECK:STDOUT: %.loc43_25: Core.Form = init_form %i32.loc43_25, call_param2 [concrete = constants.%.8ef]
|
||||
// CHECK:STDOUT: %n.param: %i32 = value_param call_param0
|
||||
// CHECK:STDOUT: %.loc43_9: type = splice_block %i32.loc43_9 [concrete = constants.%i32] {
|
||||
// CHECK:STDOUT: %int_32.loc43_9: Core.IntLiteral = int_value 32 [concrete = constants.%int_32]
|
||||
|
||||
+10
-10
@@ -34,24 +34,24 @@ var arr: array(i32, Core.AsIntLiteral(Core.TestAdd(Core.AsI32(1), Core.AsI32(2))
|
||||
// CHECK:STDOUT: --- core.carbon
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: constants {
|
||||
// CHECK:STDOUT: %.d96: form = init_form type, call_param0 [concrete]
|
||||
// CHECK:STDOUT: %.824: Core.Form = init_form type, call_param0 [concrete]
|
||||
// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete]
|
||||
// CHECK:STDOUT: %IntLiteral.type: type = fn_type @IntLiteral [concrete]
|
||||
// CHECK:STDOUT: %IntLiteral: %IntLiteral.type = struct_value () [concrete]
|
||||
// CHECK:STDOUT: %pattern_type.dc0: type = pattern_type Core.IntLiteral [concrete]
|
||||
// CHECK:STDOUT: %.39d: form = init_form type, call_param1 [concrete]
|
||||
// CHECK:STDOUT: %.b38: Core.Form = init_form type, call_param1 [concrete]
|
||||
// CHECK:STDOUT: %Int.type: type = fn_type @Int [concrete]
|
||||
// CHECK:STDOUT: %Int: %Int.type = struct_value () [concrete]
|
||||
// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete]
|
||||
// CHECK:STDOUT: %i32.builtin: type = int_type signed, %int_32 [concrete]
|
||||
// CHECK:STDOUT: %.8b6: form = init_form %i32.builtin, call_param1 [concrete]
|
||||
// CHECK:STDOUT: %.8a4: Core.Form = init_form %i32.builtin, call_param1 [concrete]
|
||||
// CHECK:STDOUT: %pattern_type.956: type = pattern_type %i32.builtin [concrete]
|
||||
// CHECK:STDOUT: %AsI32.type: type = fn_type @AsI32 [concrete]
|
||||
// CHECK:STDOUT: %AsI32: %AsI32.type = struct_value () [concrete]
|
||||
// CHECK:STDOUT: %.026: form = init_form Core.IntLiteral, call_param1 [concrete]
|
||||
// CHECK:STDOUT: %.7dc: Core.Form = init_form Core.IntLiteral, call_param1 [concrete]
|
||||
// CHECK:STDOUT: %AsIntLiteral.type: type = fn_type @AsIntLiteral [concrete]
|
||||
// CHECK:STDOUT: %AsIntLiteral: %AsIntLiteral.type = struct_value () [concrete]
|
||||
// CHECK:STDOUT: %.4c4: form = init_form %i32.builtin, call_param2 [concrete]
|
||||
// CHECK:STDOUT: %.2f6: Core.Form = init_form %i32.builtin, call_param2 [concrete]
|
||||
// CHECK:STDOUT: %TestAdd.type: type = fn_type @TestAdd [concrete]
|
||||
// CHECK:STDOUT: %TestAdd: %TestAdd.type = struct_value () [concrete]
|
||||
// CHECK:STDOUT: }
|
||||
@@ -68,7 +68,7 @@ var arr: array(i32, Core.AsIntLiteral(Core.TestAdd(Core.AsI32(1), Core.AsI32(2))
|
||||
// CHECK:STDOUT: %return.patt: %pattern_type.98f = return_slot_pattern [concrete]
|
||||
// CHECK:STDOUT: %return.param_patt: %pattern_type.98f = out_param_pattern %return.patt, call_param0 [concrete]
|
||||
// CHECK:STDOUT: } {
|
||||
// CHECK:STDOUT: %.loc5: form = init_form type, call_param0 [concrete = constants.%.d96]
|
||||
// CHECK:STDOUT: %.loc5: Core.Form = init_form type, call_param0 [concrete = constants.%.824]
|
||||
// CHECK:STDOUT: %return.param: ref type = out_param call_param0
|
||||
// CHECK:STDOUT: %return: ref type = return_slot %return.param
|
||||
// CHECK:STDOUT: }
|
||||
@@ -78,7 +78,7 @@ var arr: array(i32, Core.AsIntLiteral(Core.TestAdd(Core.AsI32(1), Core.AsI32(2))
|
||||
// CHECK:STDOUT: %return.patt: %pattern_type.98f = return_slot_pattern [concrete]
|
||||
// CHECK:STDOUT: %return.param_patt: %pattern_type.98f = out_param_pattern %return.patt, call_param1 [concrete]
|
||||
// CHECK:STDOUT: } {
|
||||
// CHECK:STDOUT: %.loc6_28: form = init_form type, call_param1 [concrete = constants.%.39d]
|
||||
// CHECK:STDOUT: %.loc6_28: Core.Form = init_form type, call_param1 [concrete = constants.%.b38]
|
||||
// CHECK:STDOUT: %N.param: Core.IntLiteral = value_param call_param0
|
||||
// CHECK:STDOUT: %.loc6_22.1: type = splice_block %.loc6_22.3 [concrete = Core.IntLiteral] {
|
||||
// CHECK:STDOUT: %IntLiteral.ref: %IntLiteral.type = name_ref IntLiteral, file.%IntLiteral.decl [concrete = constants.%IntLiteral]
|
||||
@@ -100,7 +100,7 @@ var arr: array(i32, Core.AsIntLiteral(Core.TestAdd(Core.AsI32(1), Core.AsI32(2))
|
||||
// CHECK:STDOUT: %Int.call: init type = call constants.%Int(%int_32) [concrete = constants.%i32.builtin]
|
||||
// CHECK:STDOUT: %.loc8_30.1: type = value_of_initializer %Int.call [concrete = constants.%i32.builtin]
|
||||
// CHECK:STDOUT: %.loc8_30.2: type = converted %Int.call, %.loc8_30.1 [concrete = constants.%i32.builtin]
|
||||
// CHECK:STDOUT: %.loc8_30.3: form = init_form %.loc8_30.2, call_param1 [concrete = constants.%.8b6]
|
||||
// CHECK:STDOUT: %.loc8_30.3: Core.Form = init_form %.loc8_30.2, call_param1 [concrete = constants.%.8a4]
|
||||
// CHECK:STDOUT: %a.param: Core.IntLiteral = value_param call_param0
|
||||
// CHECK:STDOUT: %.loc8_24.1: type = splice_block %.loc8_24.3 [concrete = Core.IntLiteral] {
|
||||
// CHECK:STDOUT: %IntLiteral.ref: %IntLiteral.type = name_ref IntLiteral, file.%IntLiteral.decl [concrete = constants.%IntLiteral]
|
||||
@@ -122,7 +122,7 @@ var arr: array(i32, Core.AsIntLiteral(Core.TestAdd(Core.AsI32(1), Core.AsI32(2))
|
||||
// CHECK:STDOUT: %IntLiteral.call: init type = call %IntLiteral.ref() [concrete = Core.IntLiteral]
|
||||
// CHECK:STDOUT: %.loc9_39.1: type = value_of_initializer %IntLiteral.call [concrete = Core.IntLiteral]
|
||||
// CHECK:STDOUT: %.loc9_39.2: type = converted %IntLiteral.call, %.loc9_39.1 [concrete = Core.IntLiteral]
|
||||
// CHECK:STDOUT: %.loc9_39.3: form = init_form %.loc9_39.2, call_param1 [concrete = constants.%.026]
|
||||
// CHECK:STDOUT: %.loc9_39.3: Core.Form = init_form %.loc9_39.2, call_param1 [concrete = constants.%.7dc]
|
||||
// CHECK:STDOUT: %a.param: %i32.builtin = value_param call_param0
|
||||
// CHECK:STDOUT: %.loc9_20.1: type = splice_block %.loc9_20.3 [concrete = constants.%i32.builtin] {
|
||||
// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32]
|
||||
@@ -146,7 +146,7 @@ var arr: array(i32, Core.AsIntLiteral(Core.TestAdd(Core.AsI32(1), Core.AsI32(2))
|
||||
// CHECK:STDOUT: %Int.call.loc11_31: init type = call constants.%Int(%int_32.loc11_31) [concrete = constants.%i32.builtin]
|
||||
// CHECK:STDOUT: %.loc11_31.1: type = value_of_initializer %Int.call.loc11_31 [concrete = constants.%i32.builtin]
|
||||
// CHECK:STDOUT: %.loc11_31.2: type = converted %Int.call.loc11_31, %.loc11_31.1 [concrete = constants.%i32.builtin]
|
||||
// CHECK:STDOUT: %.loc11_31.3: form = init_form %.loc11_31.2, call_param2 [concrete = constants.%.4c4]
|
||||
// CHECK:STDOUT: %.loc11_31.3: Core.Form = init_form %.loc11_31.2, call_param2 [concrete = constants.%.2f6]
|
||||
// CHECK:STDOUT: %a.param: %i32.builtin = value_param call_param0
|
||||
// CHECK:STDOUT: %.loc11_15.1: type = splice_block %.loc11_15.3 [concrete = constants.%i32.builtin] {
|
||||
// CHECK:STDOUT: %int_32.loc11_15: Core.IntLiteral = int_value 32 [concrete = constants.%int_32]
|
||||
|
||||
+7
-7
@@ -29,7 +29,7 @@ var arr: array(i32, (1 as i32).(I.F)(2));
|
||||
// CHECK:STDOUT: %Self.ab9: %I.type = symbolic_binding Self, 0 [symbolic]
|
||||
// CHECK:STDOUT: %Self.binding.as_type.d31: type = symbolic_binding_type Self, 0, %Self.ab9 [symbolic]
|
||||
// CHECK:STDOUT: %pattern_type.fa0: type = pattern_type %Self.binding.as_type.d31 [symbolic]
|
||||
// CHECK:STDOUT: %.1fc: form = init_form %Self.binding.as_type.d31, call_param2 [symbolic]
|
||||
// CHECK:STDOUT: %.389: Core.Form = init_form %Self.binding.as_type.d31, call_param2 [symbolic]
|
||||
// CHECK:STDOUT: %I.F.type: type = fn_type @I.F [concrete]
|
||||
// CHECK:STDOUT: %I.F: %I.F.type = struct_value () [concrete]
|
||||
// CHECK:STDOUT: %I.assoc_type: type = assoc_entity_type @I [concrete]
|
||||
@@ -40,7 +40,7 @@ var arr: array(i32, (1 as i32).(I.F)(2));
|
||||
// CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete]
|
||||
// CHECK:STDOUT: %I.impl_witness: <witness> = impl_witness @i32.as.I.impl.%I.impl_witness_table [concrete]
|
||||
// CHECK:STDOUT: %pattern_type.7ce: type = pattern_type %i32 [concrete]
|
||||
// CHECK:STDOUT: %.88a: form = init_form %i32, call_param2 [concrete]
|
||||
// CHECK:STDOUT: %.8ef: Core.Form = init_form %i32, call_param2 [concrete]
|
||||
// CHECK:STDOUT: %i32.as.I.impl.F.type: type = fn_type @i32.as.I.impl.F [concrete]
|
||||
// CHECK:STDOUT: %i32.as.I.impl.F: %i32.as.I.impl.F.type = struct_value () [concrete]
|
||||
// CHECK:STDOUT: %I.facet: %I.type = facet_value %i32, (%I.impl_witness) [concrete]
|
||||
@@ -188,7 +188,7 @@ var arr: array(i32, (1 as i32).(I.F)(2));
|
||||
// CHECK:STDOUT: %Self.ref.loc16_36: %I.type = name_ref Self, @I.%Self [symbolic = %Self (constants.%Self.ab9)]
|
||||
// CHECK:STDOUT: %Self.as_type.loc16_36: type = facet_access_type %Self.ref.loc16_36 [symbolic = %Self.binding.as_type (constants.%Self.binding.as_type.d31)]
|
||||
// CHECK:STDOUT: %.loc16_36.2: type = converted %Self.ref.loc16_36, %Self.as_type.loc16_36 [symbolic = %Self.binding.as_type (constants.%Self.binding.as_type.d31)]
|
||||
// CHECK:STDOUT: %.loc16_36.3: form = init_form %.loc16_36.2, call_param2 [symbolic = %.loc16_36.1 (constants.%.1fc)]
|
||||
// CHECK:STDOUT: %.loc16_36.3: Core.Form = init_form %.loc16_36.2, call_param2 [symbolic = %.loc16_36.1 (constants.%.389)]
|
||||
// CHECK:STDOUT: %self.param: @I.F.%Self.binding.as_type (%Self.binding.as_type.d31) = value_param call_param0
|
||||
// CHECK:STDOUT: %.loc16_14.1: type = splice_block %.loc16_14.2 [symbolic = %Self.binding.as_type (constants.%Self.binding.as_type.d31)] {
|
||||
// CHECK:STDOUT: %Self.ref.loc16_14: %I.type = name_ref Self, @I.%Self [symbolic = %Self (constants.%Self.ab9)]
|
||||
@@ -227,7 +227,7 @@ var arr: array(i32, (1 as i32).(I.F)(2));
|
||||
// CHECK:STDOUT: } {
|
||||
// CHECK:STDOUT: %int_32.loc20_34: Core.IntLiteral = int_value 32 [concrete = constants.%int_32]
|
||||
// CHECK:STDOUT: %i32.loc20_34: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32]
|
||||
// CHECK:STDOUT: %.loc20_34: form = init_form %i32.loc20_34, call_param2 [concrete = constants.%.88a]
|
||||
// CHECK:STDOUT: %.loc20_34: Core.Form = init_form %i32.loc20_34, call_param2 [concrete = constants.%.8ef]
|
||||
// CHECK:STDOUT: %self.param: %i32 = value_param call_param0
|
||||
// CHECK:STDOUT: %.loc20_14: type = splice_block %i32.loc20_14 [concrete = constants.%i32] {
|
||||
// CHECK:STDOUT: %int_32.loc20_14: Core.IntLiteral = int_value 32 [concrete = constants.%int_32]
|
||||
@@ -255,7 +255,7 @@ var arr: array(i32, (1 as i32).(I.F)(2));
|
||||
// CHECK:STDOUT: %Self: %I.type = symbolic_binding Self, 0 [symbolic = %Self (constants.%Self.ab9)]
|
||||
// CHECK:STDOUT: %Self.binding.as_type: type = symbolic_binding_type Self, 0, %Self [symbolic = %Self.binding.as_type (constants.%Self.binding.as_type.d31)]
|
||||
// CHECK:STDOUT: %pattern_type: type = pattern_type %Self.binding.as_type [symbolic = %pattern_type (constants.%pattern_type.fa0)]
|
||||
// CHECK:STDOUT: %.loc16_36.1: form = init_form %Self.binding.as_type, call_param2 [symbolic = %.loc16_36.1 (constants.%.1fc)]
|
||||
// CHECK:STDOUT: %.loc16_36.1: Core.Form = init_form %Self.binding.as_type, call_param2 [symbolic = %.loc16_36.1 (constants.%.389)]
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn(%self.param: @I.F.%Self.binding.as_type (%Self.binding.as_type.d31), %other.param: @I.F.%Self.binding.as_type (%Self.binding.as_type.d31)) -> out %return.param: @I.F.%Self.binding.as_type (%Self.binding.as_type.d31);
|
||||
// CHECK:STDOUT: }
|
||||
@@ -266,13 +266,13 @@ var arr: array(i32, (1 as i32).(I.F)(2));
|
||||
// CHECK:STDOUT: %Self => constants.%Self.ab9
|
||||
// CHECK:STDOUT: %Self.binding.as_type => constants.%Self.binding.as_type.d31
|
||||
// CHECK:STDOUT: %pattern_type => constants.%pattern_type.fa0
|
||||
// CHECK:STDOUT: %.loc16_36.1 => constants.%.1fc
|
||||
// CHECK:STDOUT: %.loc16_36.1 => constants.%.389
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: specific @I.F(constants.%I.facet) {
|
||||
// CHECK:STDOUT: %Self => constants.%I.facet
|
||||
// CHECK:STDOUT: %Self.binding.as_type => constants.%i32
|
||||
// CHECK:STDOUT: %pattern_type => constants.%pattern_type.7ce
|
||||
// CHECK:STDOUT: %.loc16_36.1 => constants.%.88a
|
||||
// CHECK:STDOUT: %.loc16_36.1 => constants.%.8ef
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
|
||||
@@ -41,7 +41,7 @@ fn Mul = "int.smul";
|
||||
// CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete]
|
||||
// CHECK:STDOUT: %Int.generic: %Int.type = struct_value () [concrete]
|
||||
// CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete]
|
||||
// CHECK:STDOUT: %.941: form = init_form %i32, call_param0 [concrete]
|
||||
// CHECK:STDOUT: %.437: Core.Form = init_form %i32, call_param0 [concrete]
|
||||
// CHECK:STDOUT: %pattern_type.7ce: type = pattern_type %i32 [concrete]
|
||||
// CHECK:STDOUT: %Add.type: type = fn_type @Add [concrete]
|
||||
// CHECK:STDOUT: %Add: %Add.type = struct_value () [concrete]
|
||||
@@ -71,7 +71,7 @@ fn Mul = "int.smul";
|
||||
// CHECK:STDOUT: } {
|
||||
// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32]
|
||||
// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32]
|
||||
// CHECK:STDOUT: %.loc10: form = init_form %i32, call_param0 [concrete = constants.%.941]
|
||||
// CHECK:STDOUT: %.loc10: Core.Form = init_form %i32, call_param0 [concrete = constants.%.437]
|
||||
// CHECK:STDOUT: %return.param: ref %i32 = out_param call_param0
|
||||
// CHECK:STDOUT: %return: ref %i32 = return_slot %return.param
|
||||
// CHECK:STDOUT: }
|
||||
|
||||
+2
-2
@@ -25,7 +25,7 @@ fn Main() {
|
||||
// CHECK:STDOUT: constants {
|
||||
// CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete]
|
||||
// CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete]
|
||||
// CHECK:STDOUT: %.62c: form = init_form %empty_tuple.type, call_param0 [concrete]
|
||||
// CHECK:STDOUT: %.842: Core.Form = init_form %empty_tuple.type, call_param0 [concrete]
|
||||
// CHECK:STDOUT: %pattern_type.cb1: type = pattern_type %empty_tuple.type [concrete]
|
||||
// CHECK:STDOUT: %A.type: type = fn_type @A [concrete]
|
||||
// CHECK:STDOUT: %A: %A.type = struct_value () [concrete]
|
||||
@@ -59,7 +59,7 @@ fn Main() {
|
||||
// CHECK:STDOUT: } {
|
||||
// CHECK:STDOUT: %.loc15_12.1: %empty_tuple.type = tuple_literal () [concrete = constants.%empty_tuple]
|
||||
// CHECK:STDOUT: %.loc15_12.2: type = converted %.loc15_12.1, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type]
|
||||
// CHECK:STDOUT: %.loc15_12.3: form = init_form %.loc15_12.2, call_param0 [concrete = constants.%.62c]
|
||||
// CHECK:STDOUT: %.loc15_12.3: Core.Form = init_form %.loc15_12.2, call_param0 [concrete = constants.%.842]
|
||||
// CHECK:STDOUT: %return.param: ref %empty_tuple.type = out_param call_param0
|
||||
// CHECK:STDOUT: %return: ref %empty_tuple.type = return_slot %return.param
|
||||
// CHECK:STDOUT: }
|
||||
|
||||
@@ -26,7 +26,7 @@ fn Main() {
|
||||
// CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete]
|
||||
// CHECK:STDOUT: %empty_struct: %empty_struct_type = struct_value () [concrete]
|
||||
// CHECK:STDOUT: %pattern_type: type = pattern_type %empty_struct_type [concrete]
|
||||
// CHECK:STDOUT: %.631: form = init_form %empty_struct_type, call_param1 [concrete]
|
||||
// CHECK:STDOUT: %.305: Core.Form = init_form %empty_struct_type, call_param1 [concrete]
|
||||
// CHECK:STDOUT: %Echo.type: type = fn_type @Echo [concrete]
|
||||
// CHECK:STDOUT: %Echo: %Echo.type = struct_value () [concrete]
|
||||
// CHECK:STDOUT: %Main.type: type = fn_type @Main [concrete]
|
||||
@@ -46,7 +46,7 @@ fn Main() {
|
||||
// CHECK:STDOUT: } {
|
||||
// CHECK:STDOUT: %.loc15_20.1: %empty_struct_type = struct_literal () [concrete = constants.%empty_struct]
|
||||
// CHECK:STDOUT: %.loc15_20.2: type = converted %.loc15_20.1, constants.%empty_struct_type [concrete = constants.%empty_struct_type]
|
||||
// CHECK:STDOUT: %.loc15_20.3: form = init_form %.loc15_20.2, call_param1 [concrete = constants.%.631]
|
||||
// CHECK:STDOUT: %.loc15_20.3: Core.Form = init_form %.loc15_20.2, call_param1 [concrete = constants.%.305]
|
||||
// CHECK:STDOUT: %a.param: %empty_struct_type = value_param call_param0
|
||||
// CHECK:STDOUT: %.loc15_13.1: type = splice_block %.loc15_13.3 [concrete = constants.%empty_struct_type] {
|
||||
// CHECK:STDOUT: %.loc15_13.2: %empty_struct_type = struct_literal () [concrete = constants.%empty_struct]
|
||||
|
||||
@@ -26,7 +26,7 @@ fn Main() {
|
||||
// CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete]
|
||||
// CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete]
|
||||
// CHECK:STDOUT: %pattern_type: type = pattern_type %empty_tuple.type [concrete]
|
||||
// CHECK:STDOUT: %.3e7: form = init_form %empty_tuple.type, call_param1 [concrete]
|
||||
// CHECK:STDOUT: %.c71: Core.Form = init_form %empty_tuple.type, call_param1 [concrete]
|
||||
// CHECK:STDOUT: %Echo.type: type = fn_type @Echo [concrete]
|
||||
// CHECK:STDOUT: %Echo: %Echo.type = struct_value () [concrete]
|
||||
// CHECK:STDOUT: %Main.type: type = fn_type @Main [concrete]
|
||||
@@ -46,7 +46,7 @@ fn Main() {
|
||||
// CHECK:STDOUT: } {
|
||||
// CHECK:STDOUT: %.loc15_20.1: %empty_tuple.type = tuple_literal () [concrete = constants.%empty_tuple]
|
||||
// CHECK:STDOUT: %.loc15_20.2: type = converted %.loc15_20.1, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type]
|
||||
// CHECK:STDOUT: %.loc15_20.3: form = init_form %.loc15_20.2, call_param1 [concrete = constants.%.3e7]
|
||||
// CHECK:STDOUT: %.loc15_20.3: Core.Form = init_form %.loc15_20.2, call_param1 [concrete = constants.%.c71]
|
||||
// CHECK:STDOUT: %a.param: %empty_tuple.type = value_param call_param0
|
||||
// CHECK:STDOUT: %.loc15_13.1: type = splice_block %.loc15_13.3 [concrete = constants.%empty_tuple.type] {
|
||||
// CHECK:STDOUT: %.loc15_13.2: %empty_tuple.type = tuple_literal () [concrete = constants.%empty_tuple]
|
||||
|
||||
@@ -33,7 +33,7 @@ fn Run() {
|
||||
// CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete]
|
||||
// CHECK:STDOUT: %Float.generic: %Float.type = struct_value () [concrete]
|
||||
// CHECK:STDOUT: %f64.d77: type = class_type @Float, @Float(%int_64) [concrete]
|
||||
// CHECK:STDOUT: %.08f: form = init_form %f64.d77, call_param0 [concrete]
|
||||
// CHECK:STDOUT: %.833: Core.Form = init_form %f64.d77, call_param0 [concrete]
|
||||
// CHECK:STDOUT: %pattern_type.0ae: type = pattern_type %f64.d77 [concrete]
|
||||
// CHECK:STDOUT: %Foo.type: type = fn_type @Foo [concrete]
|
||||
// CHECK:STDOUT: %Foo: %Foo.type = struct_value () [concrete]
|
||||
@@ -96,7 +96,7 @@ fn Run() {
|
||||
// CHECK:STDOUT: } {
|
||||
// CHECK:STDOUT: %int_64: Core.IntLiteral = int_value 64 [concrete = constants.%int_64]
|
||||
// CHECK:STDOUT: %f64: type = class_type @Float, @Float(constants.%int_64) [concrete = constants.%f64.d77]
|
||||
// CHECK:STDOUT: %.loc15_13: form = init_form %f64, call_param0 [concrete = constants.%.08f]
|
||||
// CHECK:STDOUT: %.loc15_13: Core.Form = init_form %f64, call_param0 [concrete = constants.%.833]
|
||||
// CHECK:STDOUT: %return.param: ref %f64.d77 = out_param call_param0
|
||||
// CHECK:STDOUT: %return: ref %f64.d77 = return_slot %return.param
|
||||
// CHECK:STDOUT: }
|
||||
|
||||
+2
-2
@@ -30,7 +30,7 @@ fn Main() {
|
||||
// CHECK:STDOUT: %N: Core.IntLiteral = symbolic_binding N, 0 [symbolic]
|
||||
// CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete]
|
||||
// CHECK:STDOUT: %pattern_type.7ce: type = pattern_type %i32 [concrete]
|
||||
// CHECK:STDOUT: %.4d5: form = init_form %i32, call_param1 [concrete]
|
||||
// CHECK:STDOUT: %.e54: Core.Form = init_form %i32, call_param1 [concrete]
|
||||
// CHECK:STDOUT: %Echo.type: type = fn_type @Echo [concrete]
|
||||
// CHECK:STDOUT: %Echo: %Echo.type = struct_value () [concrete]
|
||||
// CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete]
|
||||
@@ -101,7 +101,7 @@ fn Main() {
|
||||
// CHECK:STDOUT: } {
|
||||
// CHECK:STDOUT: %int_32.loc15_20: Core.IntLiteral = int_value 32 [concrete = constants.%int_32]
|
||||
// CHECK:STDOUT: %i32.loc15_20: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32]
|
||||
// CHECK:STDOUT: %.loc15_20: form = init_form %i32.loc15_20, call_param1 [concrete = constants.%.4d5]
|
||||
// CHECK:STDOUT: %.loc15_20: Core.Form = init_form %i32.loc15_20, call_param1 [concrete = constants.%.e54]
|
||||
// CHECK:STDOUT: %a.param: %i32 = value_param call_param0
|
||||
// CHECK:STDOUT: %.loc15_12: type = splice_block %i32.loc15_12 [concrete = constants.%i32] {
|
||||
// CHECK:STDOUT: %int_32.loc15_12: Core.IntLiteral = int_value 32 [concrete = constants.%int_32]
|
||||
|
||||
@@ -42,7 +42,7 @@ fn Class(F:! type).Inner.G() -> i32 { return F(); }
|
||||
// CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete]
|
||||
// CHECK:STDOUT: %Int.generic: %Int.type = struct_value () [concrete]
|
||||
// CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete]
|
||||
// CHECK:STDOUT: %.941: form = init_form %i32, call_param0 [concrete]
|
||||
// CHECK:STDOUT: %.437: Core.Form = init_form %i32, call_param0 [concrete]
|
||||
// CHECK:STDOUT: %pattern_type.7ce: type = pattern_type %i32 [concrete]
|
||||
// CHECK:STDOUT: %Inner.F.type: type = fn_type @Inner.F, @Inner(%F) [symbolic]
|
||||
// CHECK:STDOUT: %Inner.F: %Inner.F.type = struct_value () [symbolic]
|
||||
@@ -103,7 +103,7 @@ fn Class(F:! type).Inner.G() -> i32 { return F(); }
|
||||
// CHECK:STDOUT: %F.loc13_10: type = symbolic_binding F, 0 [symbolic = @Class.%F.loc5_13.1 (constants.%F)]
|
||||
// CHECK:STDOUT: %int_32.loc13: Core.IntLiteral = int_value 32 [concrete = constants.%int_32]
|
||||
// CHECK:STDOUT: %i32.loc13: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32]
|
||||
// CHECK:STDOUT: %.loc13_33: form = init_form %i32.loc13, call_param0 [concrete = constants.%.941]
|
||||
// CHECK:STDOUT: %.loc13_33: Core.Form = init_form %i32.loc13, call_param0 [concrete = constants.%.437]
|
||||
// CHECK:STDOUT: %return.param.loc13: ref %i32 = out_param call_param0
|
||||
// CHECK:STDOUT: %return.loc13: ref %i32 = return_slot %return.param.loc13
|
||||
// CHECK:STDOUT: }
|
||||
@@ -141,7 +141,7 @@ fn Class(F:! type).Inner.G() -> i32 { return F(); }
|
||||
// CHECK:STDOUT: } {
|
||||
// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32]
|
||||
// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32]
|
||||
// CHECK:STDOUT: %.loc8_15: form = init_form %i32, call_param0 [concrete = constants.%.941]
|
||||
// CHECK:STDOUT: %.loc8_15: Core.Form = init_form %i32, call_param0 [concrete = constants.%.437]
|
||||
// CHECK:STDOUT: %return.param: ref %i32 = out_param call_param0
|
||||
// CHECK:STDOUT: %return: ref %i32 = return_slot %return.param
|
||||
// CHECK:STDOUT: }
|
||||
@@ -151,7 +151,7 @@ fn Class(F:! type).Inner.G() -> i32 { return F(); }
|
||||
// CHECK:STDOUT: } {
|
||||
// CHECK:STDOUT: %int_32.loc9: Core.IntLiteral = int_value 32 [concrete = constants.%int_32]
|
||||
// CHECK:STDOUT: %i32.loc9: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32]
|
||||
// CHECK:STDOUT: %.loc9: form = init_form %i32.loc9, call_param0 [concrete = constants.%.941]
|
||||
// CHECK:STDOUT: %.loc9: Core.Form = init_form %i32.loc9, call_param0 [concrete = constants.%.437]
|
||||
// CHECK:STDOUT: %return.param.loc9: ref %i32 = out_param call_param0
|
||||
// CHECK:STDOUT: %return.loc9: ref %i32 = return_slot %return.param.loc9
|
||||
// CHECK:STDOUT: }
|
||||
|
||||
+6
-6
@@ -93,13 +93,13 @@ fn CallFAndGIncomplete() {
|
||||
// CHECK:STDOUT: constants {
|
||||
// CHECK:STDOUT: %C: type = class_type @C [concrete]
|
||||
// CHECK:STDOUT: %D: type = class_type @D [concrete]
|
||||
// CHECK:STDOUT: %.64f: form = init_form %C, call_param0 [concrete]
|
||||
// CHECK:STDOUT: %.768: Core.Form = init_form %C, call_param0 [concrete]
|
||||
// CHECK:STDOUT: %pattern_type.7c7: type = pattern_type %C [concrete]
|
||||
// CHECK:STDOUT: %ReturnCUnused.type: type = fn_type @ReturnCUnused [concrete]
|
||||
// CHECK:STDOUT: %ReturnCUnused: %ReturnCUnused.type = struct_value () [concrete]
|
||||
// CHECK:STDOUT: %ReturnCUsed.type: type = fn_type @ReturnCUsed [concrete]
|
||||
// CHECK:STDOUT: %ReturnCUsed: %ReturnCUsed.type = struct_value () [concrete]
|
||||
// CHECK:STDOUT: %.101: form = init_form %D, call_param0 [concrete]
|
||||
// CHECK:STDOUT: %.4b7: Core.Form = init_form %D, call_param0 [concrete]
|
||||
// CHECK:STDOUT: %pattern_type.9c8: type = pattern_type %D [concrete]
|
||||
// CHECK:STDOUT: %ReturnDUnused.type: type = fn_type @ReturnDUnused [concrete]
|
||||
// CHECK:STDOUT: %ReturnDUnused: %ReturnDUnused.type = struct_value () [concrete]
|
||||
@@ -137,7 +137,7 @@ fn CallFAndGIncomplete() {
|
||||
// CHECK:STDOUT: %return.param_patt: %pattern_type.7c7 = out_param_pattern %return.patt, call_param0 [concrete]
|
||||
// CHECK:STDOUT: } {
|
||||
// CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [concrete = constants.%C]
|
||||
// CHECK:STDOUT: %.loc7: form = init_form %C.ref, call_param0 [concrete = constants.%.64f]
|
||||
// CHECK:STDOUT: %.loc7: Core.Form = init_form %C.ref, call_param0 [concrete = constants.%.768]
|
||||
// CHECK:STDOUT: %return.param: ref %C = out_param call_param0
|
||||
// CHECK:STDOUT: %return: ref %C = return_slot %return.param
|
||||
// CHECK:STDOUT: }
|
||||
@@ -146,7 +146,7 @@ fn CallFAndGIncomplete() {
|
||||
// CHECK:STDOUT: %return.param_patt: %pattern_type.7c7 = out_param_pattern %return.patt, call_param0 [concrete]
|
||||
// CHECK:STDOUT: } {
|
||||
// CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [concrete = constants.%C]
|
||||
// CHECK:STDOUT: %.loc8: form = init_form %C.ref, call_param0 [concrete = constants.%.64f]
|
||||
// CHECK:STDOUT: %.loc8: Core.Form = init_form %C.ref, call_param0 [concrete = constants.%.768]
|
||||
// CHECK:STDOUT: %return.param: ref %C = out_param call_param0
|
||||
// CHECK:STDOUT: %return: ref %C = return_slot %return.param
|
||||
// CHECK:STDOUT: }
|
||||
@@ -155,7 +155,7 @@ fn CallFAndGIncomplete() {
|
||||
// CHECK:STDOUT: %return.param_patt: %pattern_type.9c8 = out_param_pattern %return.patt, call_param0 [concrete]
|
||||
// CHECK:STDOUT: } {
|
||||
// CHECK:STDOUT: %D.ref: type = name_ref D, file.%D.decl.loc5 [concrete = constants.%D]
|
||||
// CHECK:STDOUT: %.loc9: form = init_form %D.ref, call_param0 [concrete = constants.%.101]
|
||||
// CHECK:STDOUT: %.loc9: Core.Form = init_form %D.ref, call_param0 [concrete = constants.%.4b7]
|
||||
// CHECK:STDOUT: %return.param: ref %D = out_param call_param0
|
||||
// CHECK:STDOUT: %return: ref %D = return_slot %return.param
|
||||
// CHECK:STDOUT: }
|
||||
@@ -164,7 +164,7 @@ fn CallFAndGIncomplete() {
|
||||
// CHECK:STDOUT: %return.param_patt: %pattern_type.9c8 = out_param_pattern %return.patt, call_param0 [concrete]
|
||||
// CHECK:STDOUT: } {
|
||||
// CHECK:STDOUT: %D.ref: type = name_ref D, file.%D.decl.loc5 [concrete = constants.%D]
|
||||
// CHECK:STDOUT: %.loc10: form = init_form %D.ref, call_param0 [concrete = constants.%.101]
|
||||
// CHECK:STDOUT: %.loc10: Core.Form = init_form %D.ref, call_param0 [concrete = constants.%.4b7]
|
||||
// CHECK:STDOUT: %return.param: ref %D = out_param call_param0
|
||||
// CHECK:STDOUT: %return: ref %D = return_slot %return.param
|
||||
// CHECK:STDOUT: }
|
||||
|
||||
@@ -121,7 +121,7 @@ fn A {
|
||||
// CHECK:STDOUT: constants {
|
||||
// CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete]
|
||||
// CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete]
|
||||
// CHECK:STDOUT: %.62c: form = init_form %empty_tuple.type, call_param0 [concrete]
|
||||
// CHECK:STDOUT: %.842: Core.Form = init_form %empty_tuple.type, call_param0 [concrete]
|
||||
// CHECK:STDOUT: %pattern_type: type = pattern_type %empty_tuple.type [concrete]
|
||||
// CHECK:STDOUT: %A.type: type = fn_type @A [concrete]
|
||||
// CHECK:STDOUT: %A: %A.type = struct_value () [concrete]
|
||||
@@ -137,7 +137,7 @@ fn A {
|
||||
// CHECK:STDOUT: } {
|
||||
// CHECK:STDOUT: %.loc7_10.1: %empty_tuple.type = tuple_literal () [concrete = constants.%empty_tuple]
|
||||
// CHECK:STDOUT: %.loc7_10.2: type = converted %.loc7_10.1, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type]
|
||||
// CHECK:STDOUT: %.loc7_10.3: form = init_form %.loc7_10.2, call_param0 [concrete = constants.%.62c]
|
||||
// CHECK:STDOUT: %.loc7_10.3: Core.Form = init_form %.loc7_10.2, call_param0 [concrete = constants.%.842]
|
||||
// CHECK:STDOUT: %return.param: ref %empty_tuple.type = out_param call_param0
|
||||
// CHECK:STDOUT: %return: ref %empty_tuple.type = return_slot %return.param
|
||||
// CHECK:STDOUT: }
|
||||
@@ -150,7 +150,7 @@ fn A {
|
||||
// CHECK:STDOUT: constants {
|
||||
// CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete]
|
||||
// CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete]
|
||||
// CHECK:STDOUT: %.62c: form = init_form %empty_tuple.type, call_param0 [concrete]
|
||||
// CHECK:STDOUT: %.842: Core.Form = init_form %empty_tuple.type, call_param0 [concrete]
|
||||
// CHECK:STDOUT: %pattern_type: type = pattern_type %empty_tuple.type [concrete]
|
||||
// CHECK:STDOUT: %A.type: type = fn_type @A [concrete]
|
||||
// CHECK:STDOUT: %A: %A.type = struct_value () [concrete]
|
||||
@@ -166,7 +166,7 @@ fn A {
|
||||
// CHECK:STDOUT: } {
|
||||
// CHECK:STDOUT: %.loc7_12.1: %empty_tuple.type = tuple_literal () [concrete = constants.%empty_tuple]
|
||||
// CHECK:STDOUT: %.loc7_12.2: type = converted %.loc7_12.1, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type]
|
||||
// CHECK:STDOUT: %.loc7_12.3: form = init_form %.loc7_12.2, call_param0 [concrete = constants.%.62c]
|
||||
// CHECK:STDOUT: %.loc7_12.3: Core.Form = init_form %.loc7_12.2, call_param0 [concrete = constants.%.842]
|
||||
// CHECK:STDOUT: %return.param: ref %empty_tuple.type = out_param call_param0
|
||||
// CHECK:STDOUT: %return: ref %empty_tuple.type = return_slot %return.param
|
||||
// CHECK:STDOUT: }
|
||||
|
||||
+16
-16
@@ -270,7 +270,7 @@ import library "extern_api";
|
||||
// CHECK:STDOUT: %Int.generic: %Int.type = struct_value () [concrete]
|
||||
// CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete]
|
||||
// CHECK:STDOUT: %pattern_type.7ce: type = pattern_type %i32 [concrete]
|
||||
// CHECK:STDOUT: %.4d5: form = init_form %i32, call_param1 [concrete]
|
||||
// CHECK:STDOUT: %.e54: Core.Form = init_form %i32, call_param1 [concrete]
|
||||
// CHECK:STDOUT: %B.type: type = fn_type @B [concrete]
|
||||
// CHECK:STDOUT: %B: %B.type = struct_value () [concrete]
|
||||
// CHECK:STDOUT: %tuple.type.85c: type = tuple_type (type) [concrete]
|
||||
@@ -278,7 +278,7 @@ import library "extern_api";
|
||||
// CHECK:STDOUT: %tuple.type.a1c: type = tuple_type (%i32) [concrete]
|
||||
// CHECK:STDOUT: %pattern_type.b74: type = pattern_type %tuple.type.a1c [concrete]
|
||||
// CHECK:STDOUT: %struct_type.c: type = struct_type {.c: %i32} [concrete]
|
||||
// CHECK:STDOUT: %.d06: form = init_form %struct_type.c, call_param1 [concrete]
|
||||
// CHECK:STDOUT: %.a55: Core.Form = init_form %struct_type.c, call_param1 [concrete]
|
||||
// CHECK:STDOUT: %pattern_type.688: type = pattern_type %struct_type.c [concrete]
|
||||
// CHECK:STDOUT: %C.type: type = fn_type @C [concrete]
|
||||
// CHECK:STDOUT: %C: %C.type = struct_value () [concrete]
|
||||
@@ -316,7 +316,7 @@ import library "extern_api";
|
||||
// CHECK:STDOUT: } {
|
||||
// CHECK:STDOUT: %int_32.loc5_17: Core.IntLiteral = int_value 32 [concrete = constants.%int_32]
|
||||
// CHECK:STDOUT: %i32.loc5_17: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32]
|
||||
// CHECK:STDOUT: %.loc5_17: form = init_form %i32.loc5_17, call_param1 [concrete = constants.%.4d5]
|
||||
// CHECK:STDOUT: %.loc5_17: Core.Form = init_form %i32.loc5_17, call_param1 [concrete = constants.%.e54]
|
||||
// CHECK:STDOUT: %b.param: %i32 = value_param call_param0
|
||||
// CHECK:STDOUT: %.loc5_9: type = splice_block %i32.loc5_9 [concrete = constants.%i32] {
|
||||
// CHECK:STDOUT: %int_32.loc5_9: Core.IntLiteral = int_value 32 [concrete = constants.%int_32]
|
||||
@@ -335,7 +335,7 @@ import library "extern_api";
|
||||
// CHECK:STDOUT: %int_32.loc6_25: Core.IntLiteral = int_value 32 [concrete = constants.%int_32]
|
||||
// CHECK:STDOUT: %i32.loc6_25: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32]
|
||||
// CHECK:STDOUT: %struct_type.c: type = struct_type {.c: %i32} [concrete = constants.%struct_type.c]
|
||||
// CHECK:STDOUT: %.loc6_28: form = init_form %struct_type.c, call_param1 [concrete = constants.%.d06]
|
||||
// CHECK:STDOUT: %.loc6_28: Core.Form = init_form %struct_type.c, call_param1 [concrete = constants.%.a55]
|
||||
// CHECK:STDOUT: %c.param: %tuple.type.a1c = value_param call_param0
|
||||
// CHECK:STDOUT: %.loc6_14.1: type = splice_block %.loc6_14.3 [concrete = constants.%tuple.type.a1c] {
|
||||
// CHECK:STDOUT: %int_32.loc6_10: Core.IntLiteral = int_value 32 [concrete = constants.%int_32]
|
||||
@@ -374,7 +374,7 @@ import library "extern_api";
|
||||
// CHECK:STDOUT: %Int.generic: %Int.type = struct_value () [concrete]
|
||||
// CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete]
|
||||
// CHECK:STDOUT: %pattern_type.7ce: type = pattern_type %i32 [concrete]
|
||||
// CHECK:STDOUT: %.4d5: form = init_form %i32, call_param1 [concrete]
|
||||
// CHECK:STDOUT: %.e54: Core.Form = init_form %i32, call_param1 [concrete]
|
||||
// CHECK:STDOUT: %B.type: type = fn_type @B [concrete]
|
||||
// CHECK:STDOUT: %B: %B.type = struct_value () [concrete]
|
||||
// CHECK:STDOUT: %tuple.type.85c: type = tuple_type (type) [concrete]
|
||||
@@ -382,7 +382,7 @@ import library "extern_api";
|
||||
// CHECK:STDOUT: %tuple.type.a1c: type = tuple_type (%i32) [concrete]
|
||||
// CHECK:STDOUT: %pattern_type.b74: type = pattern_type %tuple.type.a1c [concrete]
|
||||
// CHECK:STDOUT: %struct_type.c: type = struct_type {.c: %i32} [concrete]
|
||||
// CHECK:STDOUT: %.d06: form = init_form %struct_type.c, call_param1 [concrete]
|
||||
// CHECK:STDOUT: %.a55: Core.Form = init_form %struct_type.c, call_param1 [concrete]
|
||||
// CHECK:STDOUT: %pattern_type.688: type = pattern_type %struct_type.c [concrete]
|
||||
// CHECK:STDOUT: %C.type: type = fn_type @C [concrete]
|
||||
// CHECK:STDOUT: %C: %C.type = struct_value () [concrete]
|
||||
@@ -420,7 +420,7 @@ import library "extern_api";
|
||||
// CHECK:STDOUT: } {
|
||||
// CHECK:STDOUT: %int_32.loc5_52: Core.IntLiteral = int_value 32 [concrete = constants.%int_32]
|
||||
// CHECK:STDOUT: %i32.loc5_52: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32]
|
||||
// CHECK:STDOUT: %.loc5_52: form = init_form %i32.loc5_52, call_param1 [concrete = constants.%.4d5]
|
||||
// CHECK:STDOUT: %.loc5_52: Core.Form = init_form %i32.loc5_52, call_param1 [concrete = constants.%.e54]
|
||||
// CHECK:STDOUT: %b.param: %i32 = value_param call_param0
|
||||
// CHECK:STDOUT: %.loc5_44: type = splice_block %i32.loc5_44 [concrete = constants.%i32] {
|
||||
// CHECK:STDOUT: %int_32.loc5_44: Core.IntLiteral = int_value 32 [concrete = constants.%int_32]
|
||||
@@ -439,7 +439,7 @@ import library "extern_api";
|
||||
// CHECK:STDOUT: %int_32.loc6_60: Core.IntLiteral = int_value 32 [concrete = constants.%int_32]
|
||||
// CHECK:STDOUT: %i32.loc6_60: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32]
|
||||
// CHECK:STDOUT: %struct_type.c: type = struct_type {.c: %i32} [concrete = constants.%struct_type.c]
|
||||
// CHECK:STDOUT: %.loc6_63: form = init_form %struct_type.c, call_param1 [concrete = constants.%.d06]
|
||||
// CHECK:STDOUT: %.loc6_63: Core.Form = init_form %struct_type.c, call_param1 [concrete = constants.%.a55]
|
||||
// CHECK:STDOUT: %c.param: %tuple.type.a1c = value_param call_param0
|
||||
// CHECK:STDOUT: %.loc6_49.1: type = splice_block %.loc6_49.3 [concrete = constants.%tuple.type.a1c] {
|
||||
// CHECK:STDOUT: %int_32.loc6_45: Core.IntLiteral = int_value 32 [concrete = constants.%int_32]
|
||||
@@ -666,14 +666,14 @@ import library "extern_api";
|
||||
// CHECK:STDOUT: %Int.generic: %Int.type = struct_value () [concrete]
|
||||
// CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete]
|
||||
// CHECK:STDOUT: %pattern_type.7ce: type = pattern_type %i32 [concrete]
|
||||
// CHECK:STDOUT: %.4d5: form = init_form %i32, call_param1 [concrete]
|
||||
// CHECK:STDOUT: %.e54: Core.Form = init_form %i32, call_param1 [concrete]
|
||||
// CHECK:STDOUT: %B.type: type = fn_type @B [concrete]
|
||||
// CHECK:STDOUT: %B: %B.type = struct_value () [concrete]
|
||||
// CHECK:STDOUT: %tuple.type.85c: type = tuple_type (type) [concrete]
|
||||
// CHECK:STDOUT: %tuple.896: %tuple.type.85c = tuple_value (%i32) [concrete]
|
||||
// CHECK:STDOUT: %tuple.type.a1c: type = tuple_type (%i32) [concrete]
|
||||
// CHECK:STDOUT: %struct_type.c: type = struct_type {.c: %i32} [concrete]
|
||||
// CHECK:STDOUT: %.d06: form = init_form %struct_type.c, call_param1 [concrete]
|
||||
// CHECK:STDOUT: %.a55: Core.Form = init_form %struct_type.c, call_param1 [concrete]
|
||||
// CHECK:STDOUT: %pattern_type.688: type = pattern_type %struct_type.c [concrete]
|
||||
// CHECK:STDOUT: %C.type: type = fn_type @C [concrete]
|
||||
// CHECK:STDOUT: %C: %C.type = struct_value () [concrete]
|
||||
@@ -742,7 +742,7 @@ import library "extern_api";
|
||||
// CHECK:STDOUT: %B.decl: %B.type = fn_decl @B [concrete = constants.%B] {} {
|
||||
// CHECK:STDOUT: %int_32.loc23_24: Core.IntLiteral = int_value 32 [concrete = constants.%int_32]
|
||||
// CHECK:STDOUT: %i32.loc23_24: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32]
|
||||
// CHECK:STDOUT: %.loc23_24: form = init_form %i32.loc23_24, call_param1 [concrete = constants.%.4d5]
|
||||
// CHECK:STDOUT: %.loc23_24: Core.Form = init_form %i32.loc23_24, call_param1 [concrete = constants.%.e54]
|
||||
// CHECK:STDOUT: %b.param: %i32 = value_param call_param0
|
||||
// CHECK:STDOUT: %.loc23_16: type = splice_block %i32.loc23_16 [concrete = constants.%i32] {
|
||||
// CHECK:STDOUT: %int_32.loc23_16: Core.IntLiteral = int_value 32 [concrete = constants.%int_32]
|
||||
@@ -756,7 +756,7 @@ import library "extern_api";
|
||||
// CHECK:STDOUT: %int_32.loc32_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32]
|
||||
// CHECK:STDOUT: %i32.loc32_32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32]
|
||||
// CHECK:STDOUT: %struct_type.c: type = struct_type {.c: %i32} [concrete = constants.%struct_type.c]
|
||||
// CHECK:STDOUT: %.loc32_35: form = init_form %struct_type.c, call_param1 [concrete = constants.%.d06]
|
||||
// CHECK:STDOUT: %.loc32_35: Core.Form = init_form %struct_type.c, call_param1 [concrete = constants.%.a55]
|
||||
// CHECK:STDOUT: %c.param: %tuple.type.a1c = value_param call_param0
|
||||
// CHECK:STDOUT: %.loc32_21.1: type = splice_block %.loc32_21.3 [concrete = constants.%tuple.type.a1c] {
|
||||
// CHECK:STDOUT: %int_32.loc32_17: Core.IntLiteral = int_value 32 [concrete = constants.%int_32]
|
||||
@@ -886,13 +886,13 @@ import library "extern_api";
|
||||
// CHECK:STDOUT: %Int.generic: %Int.type = struct_value () [concrete]
|
||||
// CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete]
|
||||
// CHECK:STDOUT: %pattern_type.501: type = pattern_type %i32 [concrete]
|
||||
// CHECK:STDOUT: %.49e: form = init_form %i32, call_param1 [concrete]
|
||||
// CHECK:STDOUT: %.bb0: Core.Form = init_form %i32, call_param1 [concrete]
|
||||
// CHECK:STDOUT: %C.type: type = fn_type @C [concrete]
|
||||
// CHECK:STDOUT: %C: %C.type = struct_value () [concrete]
|
||||
// CHECK:STDOUT: %struct_type.c: type = struct_type {.c: %i32} [concrete]
|
||||
// CHECK:STDOUT: %pattern_type.f5f: type = pattern_type %struct_type.c [concrete]
|
||||
// CHECK:STDOUT: %tuple.type.dd4: type = tuple_type (%i32) [concrete]
|
||||
// CHECK:STDOUT: %.407: form = init_form %struct_type.c, call_param1 [concrete]
|
||||
// CHECK:STDOUT: %.f56: Core.Form = init_form %struct_type.c, call_param1 [concrete]
|
||||
// CHECK:STDOUT: %D.type: type = fn_type @D [concrete]
|
||||
// CHECK:STDOUT: %D: %D.type = struct_value () [concrete]
|
||||
// CHECK:STDOUT: %E.type: type = fn_type @E [concrete]
|
||||
@@ -960,7 +960,7 @@ import library "extern_api";
|
||||
// CHECK:STDOUT: %B.decl: %B.type = fn_decl @B [concrete = constants.%B] {} {
|
||||
// CHECK:STDOUT: %int_32.loc7_24: Core.IntLiteral = int_value 32 [concrete = constants.%int_32]
|
||||
// CHECK:STDOUT: %i32.loc7_24: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32]
|
||||
// CHECK:STDOUT: %.loc7_24: form = init_form %i32.loc7_24, call_param1 [concrete = constants.%.49e]
|
||||
// CHECK:STDOUT: %.loc7_24: Core.Form = init_form %i32.loc7_24, call_param1 [concrete = constants.%.bb0]
|
||||
// CHECK:STDOUT: %b.param: %i32 = value_param call_param0
|
||||
// CHECK:STDOUT: %.loc7_16: type = splice_block %i32.loc7_16 [concrete = constants.%i32] {
|
||||
// CHECK:STDOUT: %int_32.loc7_16: Core.IntLiteral = int_value 32 [concrete = constants.%int_32]
|
||||
@@ -974,7 +974,7 @@ import library "extern_api";
|
||||
// CHECK:STDOUT: %int_32.loc8_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32]
|
||||
// CHECK:STDOUT: %i32.loc8_32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32]
|
||||
// CHECK:STDOUT: %struct_type.c: type = struct_type {.c: %i32} [concrete = constants.%struct_type.c]
|
||||
// CHECK:STDOUT: %.loc8_35: form = init_form %struct_type.c, call_param1 [concrete = constants.%.407]
|
||||
// CHECK:STDOUT: %.loc8_35: Core.Form = init_form %struct_type.c, call_param1 [concrete = constants.%.f56]
|
||||
// CHECK:STDOUT: %c.param: %tuple.type.dd4 = value_param call_param0
|
||||
// CHECK:STDOUT: %.loc8_21.1: type = splice_block %.loc8_21.3 [concrete = constants.%tuple.type.dd4] {
|
||||
// CHECK:STDOUT: %int_32.loc8_17: Core.IntLiteral = int_value 32 [concrete = constants.%int_32]
|
||||
|
||||
@@ -28,7 +28,7 @@ fn G() {
|
||||
// CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete]
|
||||
// CHECK:STDOUT: %Int.generic: %Int.type = struct_value () [concrete]
|
||||
// CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete]
|
||||
// CHECK:STDOUT: %.cf3: form = ref_form %i32 [concrete]
|
||||
// CHECK:STDOUT: %.1da: Core.Form = ref_form %i32 [concrete]
|
||||
// CHECK:STDOUT: %F.type: type = fn_type @F [concrete]
|
||||
// CHECK:STDOUT: %F: %F.type = struct_value () [concrete]
|
||||
// CHECK:STDOUT: %G.type: type = fn_type @G [concrete]
|
||||
@@ -56,7 +56,7 @@ fn G() {
|
||||
// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32]
|
||||
// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32]
|
||||
// CHECK:STDOUT: %.loc4_11.1: type = ref_tag %i32
|
||||
// CHECK:STDOUT: %.loc4_11.2: form = ref_form %i32 [concrete = constants.%.cf3]
|
||||
// CHECK:STDOUT: %.loc4_11.2: Core.Form = ref_form %i32 [concrete = constants.%.1da]
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [concrete = constants.%G] {} {}
|
||||
// CHECK:STDOUT: }
|
||||
|
||||
+6
-6
@@ -89,7 +89,7 @@ fn K() -> {} { return {}; }
|
||||
// CHECK:STDOUT: %H.414c03.2: %H.type.7917a6.2 = struct_value () [concrete]
|
||||
// CHECK:STDOUT: %I.type.f30c8e.1: type = fn_type @I.loc42 [concrete]
|
||||
// CHECK:STDOUT: %I.73832e.1: %I.type.f30c8e.1 = struct_value () [concrete]
|
||||
// CHECK:STDOUT: %.62c: form = init_form %empty_tuple.type, call_param0 [concrete]
|
||||
// CHECK:STDOUT: %.842: Core.Form = init_form %empty_tuple.type, call_param0 [concrete]
|
||||
// CHECK:STDOUT: %I.type.f30c8e.2: type = fn_type @I.loc50 [concrete]
|
||||
// CHECK:STDOUT: %I.73832e.2: %I.type.f30c8e.2 = struct_value () [concrete]
|
||||
// CHECK:STDOUT: %J.type.fe0423.1: type = fn_type @J.loc52 [concrete]
|
||||
@@ -100,7 +100,7 @@ fn K() -> {} { return {}; }
|
||||
// CHECK:STDOUT: %K.548a8d.1: %K.type.4b1c50.1 = struct_value () [concrete]
|
||||
// CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete]
|
||||
// CHECK:STDOUT: %empty_struct: %empty_struct_type = struct_value () [concrete]
|
||||
// CHECK:STDOUT: %.e6e: form = init_form %empty_struct_type, call_param0 [concrete]
|
||||
// CHECK:STDOUT: %.dde: Core.Form = init_form %empty_struct_type, call_param0 [concrete]
|
||||
// CHECK:STDOUT: %pattern_type.a96: type = pattern_type %empty_struct_type [concrete]
|
||||
// CHECK:STDOUT: %K.type.4b1c50.2: type = fn_type @K.loc70 [concrete]
|
||||
// CHECK:STDOUT: %K.548a8d.2: %K.type.4b1c50.2 = struct_value () [concrete]
|
||||
@@ -164,7 +164,7 @@ fn K() -> {} { return {}; }
|
||||
// CHECK:STDOUT: } {
|
||||
// CHECK:STDOUT: %.loc50_12.1: %empty_tuple.type = tuple_literal () [concrete = constants.%empty_tuple]
|
||||
// CHECK:STDOUT: %.loc50_12.2: type = converted %.loc50_12.1, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type]
|
||||
// CHECK:STDOUT: %.loc50_12.3: form = init_form %.loc50_12.2, call_param0 [concrete = constants.%.62c]
|
||||
// CHECK:STDOUT: %.loc50_12.3: Core.Form = init_form %.loc50_12.2, call_param0 [concrete = constants.%.842]
|
||||
// CHECK:STDOUT: %return.param: ref %empty_tuple.type = out_param call_param0
|
||||
// CHECK:STDOUT: %return: ref %empty_tuple.type = return_slot %return.param
|
||||
// CHECK:STDOUT: }
|
||||
@@ -174,7 +174,7 @@ fn K() -> {} { return {}; }
|
||||
// CHECK:STDOUT: } {
|
||||
// CHECK:STDOUT: %.loc52_12.1: %empty_tuple.type = tuple_literal () [concrete = constants.%empty_tuple]
|
||||
// CHECK:STDOUT: %.loc52_12.2: type = converted %.loc52_12.1, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type]
|
||||
// CHECK:STDOUT: %.loc52_12.3: form = init_form %.loc52_12.2, call_param0 [concrete = constants.%.62c]
|
||||
// CHECK:STDOUT: %.loc52_12.3: Core.Form = init_form %.loc52_12.2, call_param0 [concrete = constants.%.842]
|
||||
// CHECK:STDOUT: %return.param: ref %empty_tuple.type = out_param call_param0
|
||||
// CHECK:STDOUT: %return: ref %empty_tuple.type = return_slot %return.param
|
||||
// CHECK:STDOUT: }
|
||||
@@ -185,7 +185,7 @@ fn K() -> {} { return {}; }
|
||||
// CHECK:STDOUT: } {
|
||||
// CHECK:STDOUT: %.loc62_12.1: %empty_tuple.type = tuple_literal () [concrete = constants.%empty_tuple]
|
||||
// CHECK:STDOUT: %.loc62_12.2: type = converted %.loc62_12.1, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type]
|
||||
// CHECK:STDOUT: %.loc62_12.3: form = init_form %.loc62_12.2, call_param0 [concrete = constants.%.62c]
|
||||
// CHECK:STDOUT: %.loc62_12.3: Core.Form = init_form %.loc62_12.2, call_param0 [concrete = constants.%.842]
|
||||
// CHECK:STDOUT: %return.param: ref %empty_tuple.type = out_param call_param0
|
||||
// CHECK:STDOUT: %return: ref %empty_tuple.type = return_slot %return.param
|
||||
// CHECK:STDOUT: }
|
||||
@@ -195,7 +195,7 @@ fn K() -> {} { return {}; }
|
||||
// CHECK:STDOUT: } {
|
||||
// CHECK:STDOUT: %.loc70_12.1: %empty_struct_type = struct_literal () [concrete = constants.%empty_struct]
|
||||
// CHECK:STDOUT: %.loc70_12.2: type = converted %.loc70_12.1, constants.%empty_struct_type [concrete = constants.%empty_struct_type]
|
||||
// CHECK:STDOUT: %.loc70_12.3: form = init_form %.loc70_12.2, call_param0 [concrete = constants.%.e6e]
|
||||
// CHECK:STDOUT: %.loc70_12.3: Core.Form = init_form %.loc70_12.2, call_param0 [concrete = constants.%.dde]
|
||||
// CHECK:STDOUT: %return.param: ref %empty_struct_type = out_param call_param0
|
||||
// CHECK:STDOUT: %return: ref %empty_struct_type = return_slot %return.param
|
||||
// CHECK:STDOUT: }
|
||||
|
||||
@@ -125,7 +125,7 @@ fn D() {}
|
||||
// CHECK:STDOUT: %N: Core.IntLiteral = symbolic_binding N, 0 [symbolic]
|
||||
// CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete]
|
||||
// CHECK:STDOUT: %pattern_type.7ce: type = pattern_type %i32 [concrete]
|
||||
// CHECK:STDOUT: %.4d5: form = init_form %i32, call_param1 [concrete]
|
||||
// CHECK:STDOUT: %.e54: Core.Form = init_form %i32, call_param1 [concrete]
|
||||
// CHECK:STDOUT: %B.type: type = fn_type @B [concrete]
|
||||
// CHECK:STDOUT: %B: %B.type = struct_value () [concrete]
|
||||
// CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete]
|
||||
@@ -143,7 +143,7 @@ fn D() {}
|
||||
// CHECK:STDOUT: %tuple.type.a1c: type = tuple_type (%i32) [concrete]
|
||||
// CHECK:STDOUT: %pattern_type.b74: type = pattern_type %tuple.type.a1c [concrete]
|
||||
// CHECK:STDOUT: %struct_type.c: type = struct_type {.c: %i32} [concrete]
|
||||
// CHECK:STDOUT: %.d06: form = init_form %struct_type.c, call_param1 [concrete]
|
||||
// CHECK:STDOUT: %.a55: Core.Form = init_form %struct_type.c, call_param1 [concrete]
|
||||
// CHECK:STDOUT: %pattern_type.688: type = pattern_type %struct_type.c [concrete]
|
||||
// CHECK:STDOUT: %C.type: type = fn_type @C [concrete]
|
||||
// CHECK:STDOUT: %C: %C.type = struct_value () [concrete]
|
||||
@@ -183,7 +183,7 @@ fn D() {}
|
||||
// CHECK:STDOUT: } {
|
||||
// CHECK:STDOUT: %int_32.loc5_17: Core.IntLiteral = int_value 32 [concrete = constants.%int_32]
|
||||
// CHECK:STDOUT: %i32.loc5_17: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32]
|
||||
// CHECK:STDOUT: %.loc5_17: form = init_form %i32.loc5_17, call_param1 [concrete = constants.%.4d5]
|
||||
// CHECK:STDOUT: %.loc5_17: Core.Form = init_form %i32.loc5_17, call_param1 [concrete = constants.%.e54]
|
||||
// CHECK:STDOUT: %b.param: %i32 = value_param call_param0
|
||||
// CHECK:STDOUT: %.loc5_9: type = splice_block %i32.loc5_9 [concrete = constants.%i32] {
|
||||
// CHECK:STDOUT: %int_32.loc5_9: Core.IntLiteral = int_value 32 [concrete = constants.%int_32]
|
||||
@@ -202,7 +202,7 @@ fn D() {}
|
||||
// CHECK:STDOUT: %int_32.loc6_25: Core.IntLiteral = int_value 32 [concrete = constants.%int_32]
|
||||
// CHECK:STDOUT: %i32.loc6_25: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32]
|
||||
// CHECK:STDOUT: %struct_type.c: type = struct_type {.c: %i32} [concrete = constants.%struct_type.c]
|
||||
// CHECK:STDOUT: %.loc6_28: form = init_form %struct_type.c, call_param1 [concrete = constants.%.d06]
|
||||
// CHECK:STDOUT: %.loc6_28: Core.Form = init_form %struct_type.c, call_param1 [concrete = constants.%.a55]
|
||||
// CHECK:STDOUT: %c.param: %tuple.type.a1c = value_param call_param0
|
||||
// CHECK:STDOUT: %.loc6_14.1: type = splice_block %.loc6_14.3 [concrete = constants.%tuple.type.a1c] {
|
||||
// CHECK:STDOUT: %int_32.loc6_10: Core.IntLiteral = int_value 32 [concrete = constants.%int_32]
|
||||
@@ -431,7 +431,7 @@ fn D() {}
|
||||
// CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete]
|
||||
// CHECK:STDOUT: %Int.generic: %Int.type = struct_value () [concrete]
|
||||
// CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete]
|
||||
// CHECK:STDOUT: %.4d5: form = init_form %i32, call_param1 [concrete]
|
||||
// CHECK:STDOUT: %.e54: Core.Form = init_form %i32, call_param1 [concrete]
|
||||
// CHECK:STDOUT: %B.type: type = fn_type @B [concrete]
|
||||
// CHECK:STDOUT: %B: %B.type = struct_value () [concrete]
|
||||
// CHECK:STDOUT: }
|
||||
@@ -462,7 +462,7 @@ fn D() {}
|
||||
// CHECK:STDOUT: %B.decl: %B.type = fn_decl @B [concrete = constants.%B] {} {
|
||||
// CHECK:STDOUT: %int_32.loc23_17: Core.IntLiteral = int_value 32 [concrete = constants.%int_32]
|
||||
// CHECK:STDOUT: %i32.loc23_17: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32]
|
||||
// CHECK:STDOUT: %.loc23_17: form = init_form %i32.loc23_17, call_param1 [concrete = constants.%.4d5]
|
||||
// CHECK:STDOUT: %.loc23_17: Core.Form = init_form %i32.loc23_17, call_param1 [concrete = constants.%.e54]
|
||||
// CHECK:STDOUT: %b.param: %i32 = value_param call_param0
|
||||
// CHECK:STDOUT: %.loc23_9: type = splice_block %i32.loc23_9 [concrete = constants.%i32] {
|
||||
// CHECK:STDOUT: %int_32.loc23_9: Core.IntLiteral = int_value 32 [concrete = constants.%int_32]
|
||||
|
||||
@@ -769,7 +769,7 @@ fn Foo(a: const (const C)) {}
|
||||
// CHECK:STDOUT: %C: type = class_type @C [concrete]
|
||||
// CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete]
|
||||
// CHECK:STDOUT: %complete_type: <witness> = complete_type_witness %empty_struct_type [concrete]
|
||||
// CHECK:STDOUT: %.64f: form = init_form %C, call_param0 [concrete]
|
||||
// CHECK:STDOUT: %.768: Core.Form = init_form %C, call_param0 [concrete]
|
||||
// CHECK:STDOUT: %pattern_type: type = pattern_type %C [concrete]
|
||||
// CHECK:STDOUT: %Foo.type: type = fn_type @Foo [concrete]
|
||||
// CHECK:STDOUT: %Foo: %Foo.type = struct_value () [concrete]
|
||||
@@ -791,7 +791,7 @@ fn Foo(a: const (const C)) {}
|
||||
// CHECK:STDOUT: %return.param_patt: %pattern_type = out_param_pattern %return.patt, call_param0 [concrete]
|
||||
// CHECK:STDOUT: } {
|
||||
// CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [concrete = constants.%C]
|
||||
// CHECK:STDOUT: %.loc7: form = init_form %C.ref, call_param0 [concrete = constants.%.64f]
|
||||
// CHECK:STDOUT: %.loc7: Core.Form = init_form %C.ref, call_param0 [concrete = constants.%.768]
|
||||
// CHECK:STDOUT: %return.param.loc7: ref %C = out_param call_param0
|
||||
// CHECK:STDOUT: %return.loc7: ref %C = return_slot %return.param.loc7
|
||||
// CHECK:STDOUT: }
|
||||
@@ -800,7 +800,7 @@ fn Foo(a: const (const C)) {}
|
||||
// CHECK:STDOUT: %return.param_patt: %pattern_type = out_param_pattern %return.patt, call_param0 [concrete]
|
||||
// CHECK:STDOUT: } {
|
||||
// CHECK:STDOUT: %D.ref: type = name_ref D, file.%D [concrete = constants.%C]
|
||||
// CHECK:STDOUT: %.loc8_13: form = init_form %D.ref, call_param0 [concrete = constants.%.64f]
|
||||
// CHECK:STDOUT: %.loc8_13: Core.Form = init_form %D.ref, call_param0 [concrete = constants.%.768]
|
||||
// CHECK:STDOUT: %return.param.loc8: ref %C = out_param call_param0
|
||||
// CHECK:STDOUT: %return.loc8: ref %C = return_slot %return.param.loc8
|
||||
// CHECK:STDOUT: }
|
||||
|
||||
+20
-20
@@ -78,7 +78,7 @@ fn CallSpecific(x: C*) -> C* {
|
||||
// CHECK:STDOUT: %pattern_type.ce2: type = pattern_type %Copy.type [concrete]
|
||||
// CHECK:STDOUT: %T.binding.as_type: type = symbolic_binding_type T, 0, %T.035 [symbolic]
|
||||
// CHECK:STDOUT: %pattern_type.9b9f0c.1: type = pattern_type %T.binding.as_type [symbolic]
|
||||
// CHECK:STDOUT: %.075d25.1: form = init_form %T.binding.as_type, call_param1 [symbolic]
|
||||
// CHECK:STDOUT: %.6c815b.1: Core.Form = init_form %T.binding.as_type, call_param1 [symbolic]
|
||||
// CHECK:STDOUT: %Function.type: type = fn_type @Function [concrete]
|
||||
// CHECK:STDOUT: %Function: %Function.type = struct_value () [concrete]
|
||||
// CHECK:STDOUT: %require_complete.67c: <witness> = require_complete_type %T.binding.as_type [symbolic]
|
||||
@@ -93,7 +93,7 @@ fn CallSpecific(x: C*) -> C* {
|
||||
// CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.2d4: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%T.67d) [symbolic]
|
||||
// CHECK:STDOUT: %ptr.as.Copy.impl.Op.74e: %ptr.as.Copy.impl.Op.type.2d4 = struct_value () [symbolic]
|
||||
// CHECK:STDOUT: %pattern_type.4f4: type = pattern_type %ptr.e8f [symbolic]
|
||||
// CHECK:STDOUT: %.ba4: form = init_form %ptr.e8f, call_param1 [symbolic]
|
||||
// CHECK:STDOUT: %.4fe: Core.Form = init_form %ptr.e8f, call_param1 [symbolic]
|
||||
// CHECK:STDOUT: %Function.specific_fn.a87: <specific function> = specific_function %Function, @Function(%T.035) [symbolic]
|
||||
// CHECK:STDOUT: %.2f2: require_specific_def_type = require_specific_def @ptr.as.Copy.impl(%T.67d) [symbolic]
|
||||
// CHECK:STDOUT: %Copy.lookup_impl_witness.2e6: <witness> = lookup_impl_witness %ptr.e8f, @Copy [symbolic]
|
||||
@@ -102,7 +102,7 @@ fn CallSpecific(x: C*) -> C* {
|
||||
// CHECK:STDOUT: %C: type = class_type @C [concrete]
|
||||
// CHECK:STDOUT: %ptr.31e: type = ptr_type %C [concrete]
|
||||
// CHECK:STDOUT: %pattern_type.506: type = pattern_type %ptr.31e [concrete]
|
||||
// CHECK:STDOUT: %.485: form = init_form %ptr.31e, call_param1 [concrete]
|
||||
// CHECK:STDOUT: %.1eb: Core.Form = init_form %ptr.31e, call_param1 [concrete]
|
||||
// CHECK:STDOUT: %Copy.impl_witness.2c7: <witness> = impl_witness imports.%Copy.impl_witness_table.c3a, @ptr.as.Copy.impl(%C) [concrete]
|
||||
// CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.411: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%C) [concrete]
|
||||
// CHECK:STDOUT: %ptr.as.Copy.impl.Op.ed9: %ptr.as.Copy.impl.Op.type.411 = struct_value () [concrete]
|
||||
@@ -138,7 +138,7 @@ fn CallSpecific(x: C*) -> C* {
|
||||
// CHECK:STDOUT: %T.ref.loc5_37: %Copy.type = name_ref T, %T.loc5_13.2 [symbolic = %T.loc5_13.1 (constants.%T.035)]
|
||||
// CHECK:STDOUT: %T.as_type.loc5_37: type = facet_access_type %T.ref.loc5_37 [symbolic = %T.binding.as_type (constants.%T.binding.as_type)]
|
||||
// CHECK:STDOUT: %.loc5_37.3: type = converted %T.ref.loc5_37, %T.as_type.loc5_37 [symbolic = %T.binding.as_type (constants.%T.binding.as_type)]
|
||||
// CHECK:STDOUT: %.loc5_37.4: form = init_form %.loc5_37.3, call_param1 [symbolic = %.loc5_37.2 (constants.%.075d25.1)]
|
||||
// CHECK:STDOUT: %.loc5_37.4: Core.Form = init_form %.loc5_37.3, call_param1 [symbolic = %.loc5_37.2 (constants.%.6c815b.1)]
|
||||
// CHECK:STDOUT: %.loc5_21: type = splice_block %Copy.ref [concrete = constants.%Copy.type] {
|
||||
// CHECK:STDOUT: <elided>
|
||||
// CHECK:STDOUT: %Core.ref: <namespace> = name_ref Core, imports.%Core [concrete = imports.%Core]
|
||||
@@ -161,7 +161,7 @@ fn CallSpecific(x: C*) -> C* {
|
||||
// CHECK:STDOUT: %T.loc5_13.1: %Copy.type = symbolic_binding T, 0 [symbolic = %T.loc5_13.1 (constants.%T.035)]
|
||||
// CHECK:STDOUT: %T.binding.as_type: type = symbolic_binding_type T, 0, %T.loc5_13.1 [symbolic = %T.binding.as_type (constants.%T.binding.as_type)]
|
||||
// CHECK:STDOUT: %pattern_type: type = pattern_type %T.binding.as_type [symbolic = %pattern_type (constants.%pattern_type.9b9f0c.1)]
|
||||
// CHECK:STDOUT: %.loc5_37.2: form = init_form %T.binding.as_type, call_param1 [symbolic = %.loc5_37.2 (constants.%.075d25.1)]
|
||||
// CHECK:STDOUT: %.loc5_37.2: Core.Form = init_form %T.binding.as_type, call_param1 [symbolic = %.loc5_37.2 (constants.%.6c815b.1)]
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: !definition:
|
||||
// CHECK:STDOUT: %require_complete: <witness> = require_complete_type %T.binding.as_type [symbolic = %require_complete (constants.%require_complete.67c)]
|
||||
@@ -253,7 +253,7 @@ fn CallSpecific(x: C*) -> C* {
|
||||
// CHECK:STDOUT: %T.loc5_13.1 => constants.%T.035
|
||||
// CHECK:STDOUT: %T.binding.as_type => constants.%T.binding.as_type
|
||||
// CHECK:STDOUT: %pattern_type => constants.%pattern_type.9b9f0c.1
|
||||
// CHECK:STDOUT: %.loc5_37.2 => constants.%.075d25.1
|
||||
// CHECK:STDOUT: %.loc5_37.2 => constants.%.6c815b.1
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: !definition:
|
||||
// CHECK:STDOUT: %require_complete => constants.%require_complete.67c
|
||||
@@ -267,21 +267,21 @@ fn CallSpecific(x: C*) -> C* {
|
||||
// CHECK:STDOUT: %T.loc10_16.1 => constants.%T.035
|
||||
// CHECK:STDOUT: %T.binding.as_type => constants.%T.binding.as_type
|
||||
// CHECK:STDOUT: %pattern_type => constants.%pattern_type.9b9f0c.1
|
||||
// CHECK:STDOUT: %.loc10_40.2 => constants.%.075d25.1
|
||||
// CHECK:STDOUT: %.loc10_40.2 => constants.%.6c815b.1
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: specific @CallGenericPtr(constants.%T.67d) {
|
||||
// CHECK:STDOUT: %T.loc16_19.1 => constants.%T.67d
|
||||
// CHECK:STDOUT: %ptr.loc16_33.1 => constants.%ptr.e8f
|
||||
// CHECK:STDOUT: %pattern_type => constants.%pattern_type.4f4
|
||||
// CHECK:STDOUT: %.loc16_40.1 => constants.%.ba4
|
||||
// CHECK:STDOUT: %.loc16_40.1 => constants.%.4fe
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: specific @Function(constants.%Copy.facet.c25) {
|
||||
// CHECK:STDOUT: %T.loc5_13.1 => constants.%Copy.facet.c25
|
||||
// CHECK:STDOUT: %T.binding.as_type => constants.%ptr.e8f
|
||||
// CHECK:STDOUT: %pattern_type => constants.%pattern_type.4f4
|
||||
// CHECK:STDOUT: %.loc5_37.2 => constants.%.ba4
|
||||
// CHECK:STDOUT: %.loc5_37.2 => constants.%.4fe
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: !definition:
|
||||
// CHECK:STDOUT: %require_complete => constants.%require_complete.ef1
|
||||
@@ -295,7 +295,7 @@ fn CallSpecific(x: C*) -> C* {
|
||||
// CHECK:STDOUT: %T.loc5_13.1 => constants.%Copy.facet.a7f
|
||||
// CHECK:STDOUT: %T.binding.as_type => constants.%ptr.31e
|
||||
// CHECK:STDOUT: %pattern_type => constants.%pattern_type.506
|
||||
// CHECK:STDOUT: %.loc5_37.2 => constants.%.485
|
||||
// CHECK:STDOUT: %.loc5_37.2 => constants.%.1eb
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: !definition:
|
||||
// CHECK:STDOUT: %require_complete => constants.%complete_type.17a
|
||||
@@ -313,7 +313,7 @@ fn CallSpecific(x: C*) -> C* {
|
||||
// CHECK:STDOUT: %pattern_type.ce2: type = pattern_type %Copy.type [concrete]
|
||||
// CHECK:STDOUT: %T.binding.as_type: type = symbolic_binding_type T, 0, %T.035 [symbolic]
|
||||
// CHECK:STDOUT: %pattern_type.9b9f0c.1: type = pattern_type %T.binding.as_type [symbolic]
|
||||
// CHECK:STDOUT: %.075d25.1: form = init_form %T.binding.as_type, call_param1 [symbolic]
|
||||
// CHECK:STDOUT: %.6c815b.1: Core.Form = init_form %T.binding.as_type, call_param1 [symbolic]
|
||||
// CHECK:STDOUT: %Function.type: type = fn_type @Function [concrete]
|
||||
// CHECK:STDOUT: %Function: %Function.type = struct_value () [concrete]
|
||||
// CHECK:STDOUT: %require_complete.67c: <witness> = require_complete_type %T.binding.as_type [symbolic]
|
||||
@@ -328,7 +328,7 @@ fn CallSpecific(x: C*) -> C* {
|
||||
// CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.2d4: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%T.67d) [symbolic]
|
||||
// CHECK:STDOUT: %ptr.as.Copy.impl.Op.74e: %ptr.as.Copy.impl.Op.type.2d4 = struct_value () [symbolic]
|
||||
// CHECK:STDOUT: %pattern_type.4f4: type = pattern_type %ptr.e8f [symbolic]
|
||||
// CHECK:STDOUT: %.ba4: form = init_form %ptr.e8f, call_param1 [symbolic]
|
||||
// CHECK:STDOUT: %.4fe: Core.Form = init_form %ptr.e8f, call_param1 [symbolic]
|
||||
// CHECK:STDOUT: %Function.specific_fn.a87: <specific function> = specific_function %Function, @Function(%T.035) [symbolic]
|
||||
// CHECK:STDOUT: %.2f2: require_specific_def_type = require_specific_def @ptr.as.Copy.impl(%T.67d) [symbolic]
|
||||
// CHECK:STDOUT: %Copy.lookup_impl_witness.2e6: <witness> = lookup_impl_witness %ptr.e8f, @Copy [symbolic]
|
||||
@@ -337,7 +337,7 @@ fn CallSpecific(x: C*) -> C* {
|
||||
// CHECK:STDOUT: %C: type = class_type @C [concrete]
|
||||
// CHECK:STDOUT: %ptr.31e: type = ptr_type %C [concrete]
|
||||
// CHECK:STDOUT: %pattern_type.506: type = pattern_type %ptr.31e [concrete]
|
||||
// CHECK:STDOUT: %.485: form = init_form %ptr.31e, call_param1 [concrete]
|
||||
// CHECK:STDOUT: %.1eb: Core.Form = init_form %ptr.31e, call_param1 [concrete]
|
||||
// CHECK:STDOUT: %Copy.impl_witness.2c7: <witness> = impl_witness imports.%Copy.impl_witness_table.c3a, @ptr.as.Copy.impl(%C) [concrete]
|
||||
// CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.411: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%C) [concrete]
|
||||
// CHECK:STDOUT: %ptr.as.Copy.impl.Op.ed9: %ptr.as.Copy.impl.Op.type.411 = struct_value () [concrete]
|
||||
@@ -373,7 +373,7 @@ fn CallSpecific(x: C*) -> C* {
|
||||
// CHECK:STDOUT: %T.ref.loc5_37: %Copy.type = name_ref T, %T.loc5_13.2 [symbolic = %T.loc5_13.1 (constants.%T.035)]
|
||||
// CHECK:STDOUT: %T.as_type.loc5_37: type = facet_access_type %T.ref.loc5_37 [symbolic = %T.binding.as_type (constants.%T.binding.as_type)]
|
||||
// CHECK:STDOUT: %.loc5_37.3: type = converted %T.ref.loc5_37, %T.as_type.loc5_37 [symbolic = %T.binding.as_type (constants.%T.binding.as_type)]
|
||||
// CHECK:STDOUT: %.loc5_37.4: form = init_form %.loc5_37.3, call_param1 [symbolic = %.loc5_37.2 (constants.%.075d25.1)]
|
||||
// CHECK:STDOUT: %.loc5_37.4: Core.Form = init_form %.loc5_37.3, call_param1 [symbolic = %.loc5_37.2 (constants.%.6c815b.1)]
|
||||
// CHECK:STDOUT: %.loc5_21: type = splice_block %Copy.ref [concrete = constants.%Copy.type] {
|
||||
// CHECK:STDOUT: <elided>
|
||||
// CHECK:STDOUT: %Core.ref: <namespace> = name_ref Core, imports.%Core [concrete = imports.%Core]
|
||||
@@ -396,7 +396,7 @@ fn CallSpecific(x: C*) -> C* {
|
||||
// CHECK:STDOUT: %T.loc5_13.1: %Copy.type = symbolic_binding T, 0 [symbolic = %T.loc5_13.1 (constants.%T.035)]
|
||||
// CHECK:STDOUT: %T.binding.as_type: type = symbolic_binding_type T, 0, %T.loc5_13.1 [symbolic = %T.binding.as_type (constants.%T.binding.as_type)]
|
||||
// CHECK:STDOUT: %pattern_type: type = pattern_type %T.binding.as_type [symbolic = %pattern_type (constants.%pattern_type.9b9f0c.1)]
|
||||
// CHECK:STDOUT: %.loc5_37.2: form = init_form %T.binding.as_type, call_param1 [symbolic = %.loc5_37.2 (constants.%.075d25.1)]
|
||||
// CHECK:STDOUT: %.loc5_37.2: Core.Form = init_form %T.binding.as_type, call_param1 [symbolic = %.loc5_37.2 (constants.%.6c815b.1)]
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: !definition:
|
||||
// CHECK:STDOUT: %require_complete: <witness> = require_complete_type %T.binding.as_type [symbolic = %require_complete (constants.%require_complete.67c)]
|
||||
@@ -479,7 +479,7 @@ fn CallSpecific(x: C*) -> C* {
|
||||
// CHECK:STDOUT: %T.loc5_13.1 => constants.%T.035
|
||||
// CHECK:STDOUT: %T.binding.as_type => constants.%T.binding.as_type
|
||||
// CHECK:STDOUT: %pattern_type => constants.%pattern_type.9b9f0c.1
|
||||
// CHECK:STDOUT: %.loc5_37.2 => constants.%.075d25.1
|
||||
// CHECK:STDOUT: %.loc5_37.2 => constants.%.6c815b.1
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: !definition:
|
||||
// CHECK:STDOUT: %require_complete => constants.%require_complete.67c
|
||||
@@ -493,21 +493,21 @@ fn CallSpecific(x: C*) -> C* {
|
||||
// CHECK:STDOUT: %T.loc10_16.1 => constants.%T.035
|
||||
// CHECK:STDOUT: %T.binding.as_type => constants.%T.binding.as_type
|
||||
// CHECK:STDOUT: %pattern_type => constants.%pattern_type.9b9f0c.1
|
||||
// CHECK:STDOUT: %.loc10_40.2 => constants.%.075d25.1
|
||||
// CHECK:STDOUT: %.loc10_40.2 => constants.%.6c815b.1
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: specific @CallGenericPtr(constants.%T.67d) {
|
||||
// CHECK:STDOUT: %T.loc16_19.1 => constants.%T.67d
|
||||
// CHECK:STDOUT: %ptr.loc16_33.1 => constants.%ptr.e8f
|
||||
// CHECK:STDOUT: %pattern_type => constants.%pattern_type.4f4
|
||||
// CHECK:STDOUT: %.loc16_40.1 => constants.%.ba4
|
||||
// CHECK:STDOUT: %.loc16_40.1 => constants.%.4fe
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: specific @Function(constants.%Copy.facet.c25) {
|
||||
// CHECK:STDOUT: %T.loc5_13.1 => constants.%Copy.facet.c25
|
||||
// CHECK:STDOUT: %T.binding.as_type => constants.%ptr.e8f
|
||||
// CHECK:STDOUT: %pattern_type => constants.%pattern_type.4f4
|
||||
// CHECK:STDOUT: %.loc5_37.2 => constants.%.ba4
|
||||
// CHECK:STDOUT: %.loc5_37.2 => constants.%.4fe
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: !definition:
|
||||
// CHECK:STDOUT: %require_complete => constants.%require_complete.ef1
|
||||
@@ -521,7 +521,7 @@ fn CallSpecific(x: C*) -> C* {
|
||||
// CHECK:STDOUT: %T.loc5_13.1 => constants.%Copy.facet.a7f
|
||||
// CHECK:STDOUT: %T.binding.as_type => constants.%ptr.31e
|
||||
// CHECK:STDOUT: %pattern_type => constants.%pattern_type.506
|
||||
// CHECK:STDOUT: %.loc5_37.2 => constants.%.485
|
||||
// CHECK:STDOUT: %.loc5_37.2 => constants.%.1eb
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: !definition:
|
||||
// CHECK:STDOUT: %require_complete => constants.%complete_type.17a
|
||||
|
||||
+39
-39
@@ -221,7 +221,7 @@ fn F() {
|
||||
// CHECK:STDOUT: %T: type = symbolic_binding T, 0 [symbolic]
|
||||
// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete]
|
||||
// CHECK:STDOUT: %ptr.e8f: type = ptr_type %T [symbolic]
|
||||
// CHECK:STDOUT: %.9e5: form = init_form %ptr.e8f, call_param0 [symbolic]
|
||||
// CHECK:STDOUT: %.8e9: Core.Form = init_form %ptr.e8f, call_param0 [symbolic]
|
||||
// CHECK:STDOUT: %pattern_type.4f4: type = pattern_type %ptr.e8f [symbolic]
|
||||
// CHECK:STDOUT: %ExplicitGenericParam.type: type = fn_type @ExplicitGenericParam [concrete]
|
||||
// CHECK:STDOUT: %ExplicitGenericParam: %ExplicitGenericParam.type = struct_value () [concrete]
|
||||
@@ -232,14 +232,14 @@ fn F() {
|
||||
// CHECK:STDOUT: %Int.generic: %Int.type = struct_value () [concrete]
|
||||
// CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete]
|
||||
// CHECK:STDOUT: %ptr.235: type = ptr_type %i32 [concrete]
|
||||
// CHECK:STDOUT: %.740: form = init_form %ptr.235, call_param0 [concrete]
|
||||
// CHECK:STDOUT: %.546: Core.Form = init_form %ptr.235, call_param0 [concrete]
|
||||
// CHECK:STDOUT: %pattern_type.fe8: type = pattern_type %ptr.235 [concrete]
|
||||
// CHECK:STDOUT: %CallExplicitGenericParam.type: type = fn_type @CallExplicitGenericParam [concrete]
|
||||
// CHECK:STDOUT: %CallExplicitGenericParam: %CallExplicitGenericParam.type = struct_value () [concrete]
|
||||
// CHECK:STDOUT: %ExplicitGenericParam.specific_fn.3d2: <specific function> = specific_function %ExplicitGenericParam, @ExplicitGenericParam(%i32) [concrete]
|
||||
// CHECK:STDOUT: %struct_type.a: type = struct_type {.a: %T} [symbolic]
|
||||
// CHECK:STDOUT: %ptr.88d: type = ptr_type %struct_type.a [symbolic]
|
||||
// CHECK:STDOUT: %.b19: form = init_form %ptr.88d, call_param0 [symbolic]
|
||||
// CHECK:STDOUT: %.5bf: Core.Form = init_form %ptr.88d, call_param0 [symbolic]
|
||||
// CHECK:STDOUT: %pattern_type.1cb: type = pattern_type %ptr.88d [symbolic]
|
||||
// CHECK:STDOUT: %CallExplicitGenericParamWithGenericArg.type: type = fn_type @CallExplicitGenericParamWithGenericArg [concrete]
|
||||
// CHECK:STDOUT: %CallExplicitGenericParamWithGenericArg: %CallExplicitGenericParamWithGenericArg.type = struct_value () [concrete]
|
||||
@@ -272,7 +272,7 @@ fn F() {
|
||||
// CHECK:STDOUT: } {
|
||||
// CHECK:STDOUT: %T.ref.loc4_38: type = name_ref T, %T.loc4_25.2 [symbolic = %T.loc4_25.1 (constants.%T)]
|
||||
// CHECK:STDOUT: %ptr.loc4_39.2: type = ptr_type %T.ref.loc4_38 [symbolic = %ptr.loc4_39.1 (constants.%ptr.e8f)]
|
||||
// CHECK:STDOUT: %.loc4_39.2: form = init_form %ptr.loc4_39.2, call_param0 [symbolic = %.loc4_39.1 (constants.%.9e5)]
|
||||
// CHECK:STDOUT: %.loc4_39.2: Core.Form = init_form %ptr.loc4_39.2, call_param0 [symbolic = %.loc4_39.1 (constants.%.8e9)]
|
||||
// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self]
|
||||
// CHECK:STDOUT: %T.loc4_25.2: type = symbolic_binding T, 0 [symbolic = %T.loc4_25.1 (constants.%T)]
|
||||
// CHECK:STDOUT: %return.param: ref @ExplicitGenericParam.%ptr.loc4_39.1 (%ptr.e8f) = out_param call_param0
|
||||
@@ -285,7 +285,7 @@ fn F() {
|
||||
// CHECK:STDOUT: %int_32.loc6: Core.IntLiteral = int_value 32 [concrete = constants.%int_32]
|
||||
// CHECK:STDOUT: %i32.loc6: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32]
|
||||
// CHECK:STDOUT: %ptr: type = ptr_type %i32.loc6 [concrete = constants.%ptr.235]
|
||||
// CHECK:STDOUT: %.loc6: form = init_form %ptr, call_param0 [concrete = constants.%.740]
|
||||
// CHECK:STDOUT: %.loc6: Core.Form = init_form %ptr, call_param0 [concrete = constants.%.546]
|
||||
// CHECK:STDOUT: %return.param: ref %ptr.235 = out_param call_param0
|
||||
// CHECK:STDOUT: %return: ref %ptr.235 = return_slot %return.param
|
||||
// CHECK:STDOUT: }
|
||||
@@ -297,7 +297,7 @@ fn F() {
|
||||
// CHECK:STDOUT: %T.ref.loc10: type = name_ref T, %T.loc10_43.2 [symbolic = %T.loc10_43.1 (constants.%T)]
|
||||
// CHECK:STDOUT: %struct_type.a.loc10_62.2: type = struct_type {.a: @CallExplicitGenericParamWithGenericArg.%T.loc10_43.1 (%T)} [symbolic = %struct_type.a.loc10_62.1 (constants.%struct_type.a)]
|
||||
// CHECK:STDOUT: %ptr.loc10_63.2: type = ptr_type %struct_type.a.loc10_62.2 [symbolic = %ptr.loc10_63.1 (constants.%ptr.88d)]
|
||||
// CHECK:STDOUT: %.loc10_63.2: form = init_form %ptr.loc10_63.2, call_param0 [symbolic = %.loc10_63.1 (constants.%.b19)]
|
||||
// CHECK:STDOUT: %.loc10_63.2: Core.Form = init_form %ptr.loc10_63.2, call_param0 [symbolic = %.loc10_63.1 (constants.%.5bf)]
|
||||
// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self]
|
||||
// CHECK:STDOUT: %T.loc10_43.2: type = symbolic_binding T, 0 [symbolic = %T.loc10_43.1 (constants.%T)]
|
||||
// CHECK:STDOUT: %return.param: ref @CallExplicitGenericParamWithGenericArg.%ptr.loc10_63.1 (%ptr.88d) = out_param call_param0
|
||||
@@ -308,7 +308,7 @@ fn F() {
|
||||
// CHECK:STDOUT: generic fn @ExplicitGenericParam(%T.loc4_25.2: type) {
|
||||
// CHECK:STDOUT: %T.loc4_25.1: type = symbolic_binding T, 0 [symbolic = %T.loc4_25.1 (constants.%T)]
|
||||
// CHECK:STDOUT: %ptr.loc4_39.1: type = ptr_type %T.loc4_25.1 [symbolic = %ptr.loc4_39.1 (constants.%ptr.e8f)]
|
||||
// CHECK:STDOUT: %.loc4_39.1: form = init_form %ptr.loc4_39.1, call_param0 [symbolic = %.loc4_39.1 (constants.%.9e5)]
|
||||
// CHECK:STDOUT: %.loc4_39.1: Core.Form = init_form %ptr.loc4_39.1, call_param0 [symbolic = %.loc4_39.1 (constants.%.8e9)]
|
||||
// CHECK:STDOUT: %pattern_type: type = pattern_type %ptr.loc4_39.1 [symbolic = %pattern_type (constants.%pattern_type.4f4)]
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: !definition:
|
||||
@@ -339,7 +339,7 @@ fn F() {
|
||||
// CHECK:STDOUT: %T.loc10_43.1: type = symbolic_binding T, 0 [symbolic = %T.loc10_43.1 (constants.%T)]
|
||||
// CHECK:STDOUT: %struct_type.a.loc10_62.1: type = struct_type {.a: @CallExplicitGenericParamWithGenericArg.%T.loc10_43.1 (%T)} [symbolic = %struct_type.a.loc10_62.1 (constants.%struct_type.a)]
|
||||
// CHECK:STDOUT: %ptr.loc10_63.1: type = ptr_type %struct_type.a.loc10_62.1 [symbolic = %ptr.loc10_63.1 (constants.%ptr.88d)]
|
||||
// CHECK:STDOUT: %.loc10_63.1: form = init_form %ptr.loc10_63.1, call_param0 [symbolic = %.loc10_63.1 (constants.%.b19)]
|
||||
// CHECK:STDOUT: %.loc10_63.1: Core.Form = init_form %ptr.loc10_63.1, call_param0 [symbolic = %.loc10_63.1 (constants.%.5bf)]
|
||||
// CHECK:STDOUT: %pattern_type: type = pattern_type %ptr.loc10_63.1 [symbolic = %pattern_type (constants.%pattern_type.1cb)]
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: !definition:
|
||||
@@ -360,7 +360,7 @@ fn F() {
|
||||
// CHECK:STDOUT: specific @ExplicitGenericParam(constants.%T) {
|
||||
// CHECK:STDOUT: %T.loc4_25.1 => constants.%T
|
||||
// CHECK:STDOUT: %ptr.loc4_39.1 => constants.%ptr.e8f
|
||||
// CHECK:STDOUT: %.loc4_39.1 => constants.%.9e5
|
||||
// CHECK:STDOUT: %.loc4_39.1 => constants.%.8e9
|
||||
// CHECK:STDOUT: %pattern_type => constants.%pattern_type.4f4
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: !definition:
|
||||
@@ -371,7 +371,7 @@ fn F() {
|
||||
// CHECK:STDOUT: specific @ExplicitGenericParam(constants.%i32) {
|
||||
// CHECK:STDOUT: %T.loc4_25.1 => constants.%i32
|
||||
// CHECK:STDOUT: %ptr.loc4_39.1 => constants.%ptr.235
|
||||
// CHECK:STDOUT: %.loc4_39.1 => constants.%.740
|
||||
// CHECK:STDOUT: %.loc4_39.1 => constants.%.546
|
||||
// CHECK:STDOUT: %pattern_type => constants.%pattern_type.fe8
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: !definition:
|
||||
@@ -383,14 +383,14 @@ fn F() {
|
||||
// CHECK:STDOUT: %T.loc10_43.1 => constants.%T
|
||||
// CHECK:STDOUT: %struct_type.a.loc10_62.1 => constants.%struct_type.a
|
||||
// CHECK:STDOUT: %ptr.loc10_63.1 => constants.%ptr.88d
|
||||
// CHECK:STDOUT: %.loc10_63.1 => constants.%.b19
|
||||
// CHECK:STDOUT: %.loc10_63.1 => constants.%.5bf
|
||||
// CHECK:STDOUT: %pattern_type => constants.%pattern_type.1cb
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: specific @ExplicitGenericParam(constants.%struct_type.a) {
|
||||
// CHECK:STDOUT: %T.loc4_25.1 => constants.%struct_type.a
|
||||
// CHECK:STDOUT: %ptr.loc4_39.1 => constants.%ptr.88d
|
||||
// CHECK:STDOUT: %.loc4_39.1 => constants.%.b19
|
||||
// CHECK:STDOUT: %.loc4_39.1 => constants.%.5bf
|
||||
// CHECK:STDOUT: %pattern_type => constants.%pattern_type.1cb
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: !definition:
|
||||
@@ -406,7 +406,7 @@ fn F() {
|
||||
// CHECK:STDOUT: %T: type = symbolic_binding T, 0 [symbolic]
|
||||
// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete]
|
||||
// CHECK:STDOUT: %ptr: type = ptr_type %T [symbolic]
|
||||
// CHECK:STDOUT: %.9e5: form = init_form %ptr, call_param0 [symbolic]
|
||||
// CHECK:STDOUT: %.8e9: Core.Form = init_form %ptr, call_param0 [symbolic]
|
||||
// CHECK:STDOUT: %pattern_type.4f4: type = pattern_type %ptr [symbolic]
|
||||
// CHECK:STDOUT: %ExplicitGenericParam.type: type = fn_type @ExplicitGenericParam [concrete]
|
||||
// CHECK:STDOUT: %ExplicitGenericParam: %ExplicitGenericParam.type = struct_value () [concrete]
|
||||
@@ -440,7 +440,7 @@ fn F() {
|
||||
// CHECK:STDOUT: } {
|
||||
// CHECK:STDOUT: %T.ref.loc4_38: type = name_ref T, %T.loc4_25.2 [symbolic = %T.loc4_25.1 (constants.%T)]
|
||||
// CHECK:STDOUT: %ptr.loc4_39.2: type = ptr_type %T.ref.loc4_38 [symbolic = %ptr.loc4_39.1 (constants.%ptr)]
|
||||
// CHECK:STDOUT: %.loc4_39.2: form = init_form %ptr.loc4_39.2, call_param0 [symbolic = %.loc4_39.1 (constants.%.9e5)]
|
||||
// CHECK:STDOUT: %.loc4_39.2: Core.Form = init_form %ptr.loc4_39.2, call_param0 [symbolic = %.loc4_39.1 (constants.%.8e9)]
|
||||
// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self]
|
||||
// CHECK:STDOUT: %T.loc4_25.2: type = symbolic_binding T, 0 [symbolic = %T.loc4_25.1 (constants.%T)]
|
||||
// CHECK:STDOUT: %return.param: ref @ExplicitGenericParam.%ptr.loc4_39.1 (%ptr) = out_param call_param0
|
||||
@@ -464,7 +464,7 @@ fn F() {
|
||||
// CHECK:STDOUT: generic fn @ExplicitGenericParam(%T.loc4_25.2: type) {
|
||||
// CHECK:STDOUT: %T.loc4_25.1: type = symbolic_binding T, 0 [symbolic = %T.loc4_25.1 (constants.%T)]
|
||||
// CHECK:STDOUT: %ptr.loc4_39.1: type = ptr_type %T.loc4_25.1 [symbolic = %ptr.loc4_39.1 (constants.%ptr)]
|
||||
// CHECK:STDOUT: %.loc4_39.1: form = init_form %ptr.loc4_39.1, call_param0 [symbolic = %.loc4_39.1 (constants.%.9e5)]
|
||||
// CHECK:STDOUT: %.loc4_39.1: Core.Form = init_form %ptr.loc4_39.1, call_param0 [symbolic = %.loc4_39.1 (constants.%.8e9)]
|
||||
// CHECK:STDOUT: %pattern_type: type = pattern_type %ptr.loc4_39.1 [symbolic = %pattern_type (constants.%pattern_type.4f4)]
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: !definition:
|
||||
@@ -509,7 +509,7 @@ fn F() {
|
||||
// CHECK:STDOUT: specific @ExplicitGenericParam(constants.%T) {
|
||||
// CHECK:STDOUT: %T.loc4_25.1 => constants.%T
|
||||
// CHECK:STDOUT: %ptr.loc4_39.1 => constants.%ptr
|
||||
// CHECK:STDOUT: %.loc4_39.1 => constants.%.9e5
|
||||
// CHECK:STDOUT: %.loc4_39.1 => constants.%.8e9
|
||||
// CHECK:STDOUT: %pattern_type => constants.%pattern_type.4f4
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: !definition:
|
||||
@@ -533,7 +533,7 @@ fn F() {
|
||||
// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete]
|
||||
// CHECK:STDOUT: %pattern_type.51d: type = pattern_type %T [symbolic]
|
||||
// CHECK:STDOUT: %ptr.e8f: type = ptr_type %T [symbolic]
|
||||
// CHECK:STDOUT: %.ba4: form = init_form %ptr.e8f, call_param1 [symbolic]
|
||||
// CHECK:STDOUT: %.4fe: Core.Form = init_form %ptr.e8f, call_param1 [symbolic]
|
||||
// CHECK:STDOUT: %pattern_type.4f4: type = pattern_type %ptr.e8f [symbolic]
|
||||
// CHECK:STDOUT: %ExplicitAndAlsoDeduced.type: type = fn_type @ExplicitAndAlsoDeduced [concrete]
|
||||
// CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete]
|
||||
@@ -542,13 +542,13 @@ fn F() {
|
||||
// CHECK:STDOUT: %require_complete.ef1: <witness> = require_complete_type %ptr.e8f [symbolic]
|
||||
// CHECK:STDOUT: %ExplicitAndAlsoDeduced.specific_fn.7e7: <specific function> = specific_function %ExplicitAndAlsoDeduced, @ExplicitAndAlsoDeduced(%T) [symbolic]
|
||||
// CHECK:STDOUT: %ptr.643: type = ptr_type %A [concrete]
|
||||
// CHECK:STDOUT: %.a25: form = init_form %ptr.643, call_param0 [concrete]
|
||||
// CHECK:STDOUT: %.e72: Core.Form = init_form %ptr.643, call_param0 [concrete]
|
||||
// CHECK:STDOUT: %pattern_type.f29: type = pattern_type %ptr.643 [concrete]
|
||||
// CHECK:STDOUT: %CallExplicitAndAlsoDeduced.type: type = fn_type @CallExplicitAndAlsoDeduced [concrete]
|
||||
// CHECK:STDOUT: %CallExplicitAndAlsoDeduced: %CallExplicitAndAlsoDeduced.type = struct_value () [concrete]
|
||||
// CHECK:STDOUT: %empty_struct: %empty_struct_type = struct_value () [concrete]
|
||||
// CHECK:STDOUT: %pattern_type.1ab: type = pattern_type %A [concrete]
|
||||
// CHECK:STDOUT: %.1ec: form = init_form %ptr.643, call_param1 [concrete]
|
||||
// CHECK:STDOUT: %.6ec: Core.Form = init_form %ptr.643, call_param1 [concrete]
|
||||
// CHECK:STDOUT: %ExplicitAndAlsoDeduced.specific_fn.1f3: <specific function> = specific_function %ExplicitAndAlsoDeduced, @ExplicitAndAlsoDeduced(%A) [concrete]
|
||||
// CHECK:STDOUT: %A.val: %A = struct_value () [concrete]
|
||||
// CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete]
|
||||
@@ -584,7 +584,7 @@ fn F() {
|
||||
// CHECK:STDOUT: } {
|
||||
// CHECK:STDOUT: %T.ref.loc6_46: type = name_ref T, %T.loc6_27.2 [symbolic = %T.loc6_27.1 (constants.%T)]
|
||||
// CHECK:STDOUT: %ptr.loc6_47.2: type = ptr_type %T.ref.loc6_46 [symbolic = %ptr.loc6_47.1 (constants.%ptr.e8f)]
|
||||
// CHECK:STDOUT: %.loc6_47.2: form = init_form %ptr.loc6_47.2, call_param1 [symbolic = %.loc6_47.1 (constants.%.ba4)]
|
||||
// CHECK:STDOUT: %.loc6_47.2: Core.Form = init_form %ptr.loc6_47.2, call_param1 [symbolic = %.loc6_47.1 (constants.%.4fe)]
|
||||
// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self]
|
||||
// CHECK:STDOUT: %T.loc6_27.2: type = symbolic_binding T, 0 [symbolic = %T.loc6_27.1 (constants.%T)]
|
||||
// CHECK:STDOUT: %x.param: @ExplicitAndAlsoDeduced.%T.loc6_27.1 (%T) = value_param call_param0
|
||||
@@ -599,7 +599,7 @@ fn F() {
|
||||
// CHECK:STDOUT: } {
|
||||
// CHECK:STDOUT: %A.ref.loc10: type = name_ref A, file.%A.decl [concrete = constants.%A]
|
||||
// CHECK:STDOUT: %ptr: type = ptr_type %A.ref.loc10 [concrete = constants.%ptr.643]
|
||||
// CHECK:STDOUT: %.loc10: form = init_form %ptr, call_param0 [concrete = constants.%.a25]
|
||||
// CHECK:STDOUT: %.loc10: Core.Form = init_form %ptr, call_param0 [concrete = constants.%.e72]
|
||||
// CHECK:STDOUT: %return.param: ref %ptr.643 = out_param call_param0
|
||||
// CHECK:STDOUT: %return: ref %ptr.643 = return_slot %return.param
|
||||
// CHECK:STDOUT: }
|
||||
@@ -617,7 +617,7 @@ fn F() {
|
||||
// CHECK:STDOUT: %T.loc6_27.1: type = symbolic_binding T, 0 [symbolic = %T.loc6_27.1 (constants.%T)]
|
||||
// CHECK:STDOUT: %pattern_type.loc6_37: type = pattern_type %T.loc6_27.1 [symbolic = %pattern_type.loc6_37 (constants.%pattern_type.51d)]
|
||||
// CHECK:STDOUT: %ptr.loc6_47.1: type = ptr_type %T.loc6_27.1 [symbolic = %ptr.loc6_47.1 (constants.%ptr.e8f)]
|
||||
// CHECK:STDOUT: %.loc6_47.1: form = init_form %ptr.loc6_47.1, call_param1 [symbolic = %.loc6_47.1 (constants.%.ba4)]
|
||||
// CHECK:STDOUT: %.loc6_47.1: Core.Form = init_form %ptr.loc6_47.1, call_param1 [symbolic = %.loc6_47.1 (constants.%.4fe)]
|
||||
// CHECK:STDOUT: %pattern_type.loc6_43: type = pattern_type %ptr.loc6_47.1 [symbolic = %pattern_type.loc6_43 (constants.%pattern_type.4f4)]
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: !definition:
|
||||
@@ -659,7 +659,7 @@ fn F() {
|
||||
// CHECK:STDOUT: %T.loc6_27.1 => constants.%T
|
||||
// CHECK:STDOUT: %pattern_type.loc6_37 => constants.%pattern_type.51d
|
||||
// CHECK:STDOUT: %ptr.loc6_47.1 => constants.%ptr.e8f
|
||||
// CHECK:STDOUT: %.loc6_47.1 => constants.%.ba4
|
||||
// CHECK:STDOUT: %.loc6_47.1 => constants.%.4fe
|
||||
// CHECK:STDOUT: %pattern_type.loc6_43 => constants.%pattern_type.4f4
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: !definition:
|
||||
@@ -672,7 +672,7 @@ fn F() {
|
||||
// CHECK:STDOUT: %T.loc6_27.1 => constants.%A
|
||||
// CHECK:STDOUT: %pattern_type.loc6_37 => constants.%pattern_type.1ab
|
||||
// CHECK:STDOUT: %ptr.loc6_47.1 => constants.%ptr.643
|
||||
// CHECK:STDOUT: %.loc6_47.1 => constants.%.1ec
|
||||
// CHECK:STDOUT: %.loc6_47.1 => constants.%.6ec
|
||||
// CHECK:STDOUT: %pattern_type.loc6_43 => constants.%pattern_type.f29
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: !definition:
|
||||
@@ -690,7 +690,7 @@ fn F() {
|
||||
// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete]
|
||||
// CHECK:STDOUT: %pattern_type.51d: type = pattern_type %T [symbolic]
|
||||
// CHECK:STDOUT: %ptr.e8f: type = ptr_type %T [symbolic]
|
||||
// CHECK:STDOUT: %.ba4: form = init_form %ptr.e8f, call_param1 [symbolic]
|
||||
// CHECK:STDOUT: %.4fe: Core.Form = init_form %ptr.e8f, call_param1 [symbolic]
|
||||
// CHECK:STDOUT: %pattern_type.4f4: type = pattern_type %ptr.e8f [symbolic]
|
||||
// CHECK:STDOUT: %ImplicitGenericParam.type: type = fn_type @ImplicitGenericParam [concrete]
|
||||
// CHECK:STDOUT: %ImplicitGenericParam: %ImplicitGenericParam.type = struct_value () [concrete]
|
||||
@@ -703,7 +703,7 @@ fn F() {
|
||||
// CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete]
|
||||
// CHECK:STDOUT: %pattern_type.7ce: type = pattern_type %i32 [concrete]
|
||||
// CHECK:STDOUT: %ptr.235: type = ptr_type %i32 [concrete]
|
||||
// CHECK:STDOUT: %.4f9: form = init_form %ptr.235, call_param1 [concrete]
|
||||
// CHECK:STDOUT: %.85d: Core.Form = init_form %ptr.235, call_param1 [concrete]
|
||||
// CHECK:STDOUT: %pattern_type.fe8: type = pattern_type %ptr.235 [concrete]
|
||||
// CHECK:STDOUT: %CallImplicitGenericParam.type: type = fn_type @CallImplicitGenericParam [concrete]
|
||||
// CHECK:STDOUT: %CallImplicitGenericParam: %CallImplicitGenericParam.type = struct_value () [concrete]
|
||||
@@ -738,7 +738,7 @@ fn F() {
|
||||
// CHECK:STDOUT: } {
|
||||
// CHECK:STDOUT: %T.ref.loc4_44: type = name_ref T, %T.loc4_25.2 [symbolic = %T.loc4_25.1 (constants.%T)]
|
||||
// CHECK:STDOUT: %ptr.loc4_45.2: type = ptr_type %T.ref.loc4_44 [symbolic = %ptr.loc4_45.1 (constants.%ptr.e8f)]
|
||||
// CHECK:STDOUT: %.loc4_45.2: form = init_form %ptr.loc4_45.2, call_param1 [symbolic = %.loc4_45.1 (constants.%.ba4)]
|
||||
// CHECK:STDOUT: %.loc4_45.2: Core.Form = init_form %ptr.loc4_45.2, call_param1 [symbolic = %.loc4_45.1 (constants.%.4fe)]
|
||||
// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self]
|
||||
// CHECK:STDOUT: %T.loc4_25.2: type = symbolic_binding T, 0 [symbolic = %T.loc4_25.1 (constants.%T)]
|
||||
// CHECK:STDOUT: %x.param: @ImplicitGenericParam.%T.loc4_25.1 (%T) = value_param call_param0
|
||||
@@ -756,7 +756,7 @@ fn F() {
|
||||
// CHECK:STDOUT: %int_32.loc6_40: Core.IntLiteral = int_value 32 [concrete = constants.%int_32]
|
||||
// CHECK:STDOUT: %i32.loc6_40: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32]
|
||||
// CHECK:STDOUT: %ptr: type = ptr_type %i32.loc6_40 [concrete = constants.%ptr.235]
|
||||
// CHECK:STDOUT: %.loc6_43: form = init_form %ptr, call_param1 [concrete = constants.%.4f9]
|
||||
// CHECK:STDOUT: %.loc6_43: Core.Form = init_form %ptr, call_param1 [concrete = constants.%.85d]
|
||||
// CHECK:STDOUT: %n.param: %i32 = value_param call_param0
|
||||
// CHECK:STDOUT: %.loc6_32: type = splice_block %i32.loc6_32 [concrete = constants.%i32] {
|
||||
// CHECK:STDOUT: %int_32.loc6_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32]
|
||||
@@ -772,7 +772,7 @@ fn F() {
|
||||
// CHECK:STDOUT: %T.loc4_25.1: type = symbolic_binding T, 0 [symbolic = %T.loc4_25.1 (constants.%T)]
|
||||
// CHECK:STDOUT: %pattern_type.loc4_35: type = pattern_type %T.loc4_25.1 [symbolic = %pattern_type.loc4_35 (constants.%pattern_type.51d)]
|
||||
// CHECK:STDOUT: %ptr.loc4_45.1: type = ptr_type %T.loc4_25.1 [symbolic = %ptr.loc4_45.1 (constants.%ptr.e8f)]
|
||||
// CHECK:STDOUT: %.loc4_45.1: form = init_form %ptr.loc4_45.1, call_param1 [symbolic = %.loc4_45.1 (constants.%.ba4)]
|
||||
// CHECK:STDOUT: %.loc4_45.1: Core.Form = init_form %ptr.loc4_45.1, call_param1 [symbolic = %.loc4_45.1 (constants.%.4fe)]
|
||||
// CHECK:STDOUT: %pattern_type.loc4_41: type = pattern_type %ptr.loc4_45.1 [symbolic = %pattern_type.loc4_41 (constants.%pattern_type.4f4)]
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: !definition:
|
||||
@@ -803,7 +803,7 @@ fn F() {
|
||||
// CHECK:STDOUT: %T.loc4_25.1 => constants.%T
|
||||
// CHECK:STDOUT: %pattern_type.loc4_35 => constants.%pattern_type.51d
|
||||
// CHECK:STDOUT: %ptr.loc4_45.1 => constants.%ptr.e8f
|
||||
// CHECK:STDOUT: %.loc4_45.1 => constants.%.ba4
|
||||
// CHECK:STDOUT: %.loc4_45.1 => constants.%.4fe
|
||||
// CHECK:STDOUT: %pattern_type.loc4_41 => constants.%pattern_type.4f4
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: !definition:
|
||||
@@ -816,7 +816,7 @@ fn F() {
|
||||
// CHECK:STDOUT: %T.loc4_25.1 => constants.%i32
|
||||
// CHECK:STDOUT: %pattern_type.loc4_35 => constants.%pattern_type.7ce
|
||||
// CHECK:STDOUT: %ptr.loc4_45.1 => constants.%ptr.235
|
||||
// CHECK:STDOUT: %.loc4_45.1 => constants.%.4f9
|
||||
// CHECK:STDOUT: %.loc4_45.1 => constants.%.85d
|
||||
// CHECK:STDOUT: %pattern_type.loc4_41 => constants.%pattern_type.fe8
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: !definition:
|
||||
@@ -1465,7 +1465,7 @@ fn F() {
|
||||
// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete]
|
||||
// CHECK:STDOUT: %U: type = symbolic_binding U, 1 [symbolic]
|
||||
// CHECK:STDOUT: %pattern_type.51d: type = pattern_type %T [symbolic]
|
||||
// CHECK:STDOUT: %.ead: form = init_form %U, call_param1 [symbolic]
|
||||
// CHECK:STDOUT: %.4b7: Core.Form = init_form %U, call_param1 [symbolic]
|
||||
// CHECK:STDOUT: %pattern_type.946: type = pattern_type %U [symbolic]
|
||||
// CHECK:STDOUT: %ImplicitNotDeducible.type: type = fn_type @ImplicitNotDeducible [concrete]
|
||||
// CHECK:STDOUT: %ImplicitNotDeducible: %ImplicitNotDeducible.type = struct_value () [concrete]
|
||||
@@ -1497,7 +1497,7 @@ fn F() {
|
||||
// CHECK:STDOUT: %return.param_patt: @ImplicitNotDeducible.%pattern_type.loc6_51 (%pattern_type.946) = out_param_pattern %return.patt, call_param1 [concrete]
|
||||
// CHECK:STDOUT: } {
|
||||
// CHECK:STDOUT: %U.ref: type = name_ref U, %U.loc6_35.2 [symbolic = %U.loc6_35.1 (constants.%U)]
|
||||
// CHECK:STDOUT: %.loc6_54.2: form = init_form %U.ref, call_param1 [symbolic = %.loc6_54.1 (constants.%.ead)]
|
||||
// CHECK:STDOUT: %.loc6_54.2: Core.Form = init_form %U.ref, call_param1 [symbolic = %.loc6_54.1 (constants.%.4b7)]
|
||||
// CHECK:STDOUT: %.Self.1: %type = symbolic_binding .Self [symbolic_self = constants.%.Self]
|
||||
// CHECK:STDOUT: %T.loc6_25.2: type = symbolic_binding T, 0 [symbolic = %T.loc6_25.1 (constants.%T)]
|
||||
// CHECK:STDOUT: %.Self.2: %type = symbolic_binding .Self [symbolic_self = constants.%.Self]
|
||||
@@ -1515,7 +1515,7 @@ fn F() {
|
||||
// CHECK:STDOUT: %T.loc6_25.1: type = symbolic_binding T, 0 [symbolic = %T.loc6_25.1 (constants.%T)]
|
||||
// CHECK:STDOUT: %U.loc6_35.1: type = symbolic_binding U, 1 [symbolic = %U.loc6_35.1 (constants.%U)]
|
||||
// CHECK:STDOUT: %pattern_type.loc6_45: type = pattern_type %T.loc6_25.1 [symbolic = %pattern_type.loc6_45 (constants.%pattern_type.51d)]
|
||||
// CHECK:STDOUT: %.loc6_54.1: form = init_form %U.loc6_35.1, call_param1 [symbolic = %.loc6_54.1 (constants.%.ead)]
|
||||
// CHECK:STDOUT: %.loc6_54.1: Core.Form = init_form %U.loc6_35.1, call_param1 [symbolic = %.loc6_54.1 (constants.%.4b7)]
|
||||
// CHECK:STDOUT: %pattern_type.loc6_51: type = pattern_type %U.loc6_35.1 [symbolic = %pattern_type.loc6_51 (constants.%pattern_type.946)]
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn(%x.param: @ImplicitNotDeducible.%T.loc6_25.1 (%T)) -> out %return.param: @ImplicitNotDeducible.%U.loc6_35.1 (%U);
|
||||
@@ -1532,7 +1532,7 @@ fn F() {
|
||||
// CHECK:STDOUT: %T.loc6_25.1 => constants.%T
|
||||
// CHECK:STDOUT: %U.loc6_35.1 => constants.%U
|
||||
// CHECK:STDOUT: %pattern_type.loc6_45 => constants.%pattern_type.51d
|
||||
// CHECK:STDOUT: %.loc6_54.1 => constants.%.ead
|
||||
// CHECK:STDOUT: %.loc6_54.1 => constants.%.4b7
|
||||
// CHECK:STDOUT: %pattern_type.loc6_51 => constants.%pattern_type.946
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
@@ -1544,7 +1544,7 @@ fn F() {
|
||||
// CHECK:STDOUT: %T: type = symbolic_binding T, 0 [symbolic]
|
||||
// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete]
|
||||
// CHECK:STDOUT: %pattern_type.51d: type = pattern_type %T [symbolic]
|
||||
// CHECK:STDOUT: %.6d4: form = init_form %T, call_param2 [symbolic]
|
||||
// CHECK:STDOUT: %.b1d: Core.Form = init_form %T, call_param2 [symbolic]
|
||||
// CHECK:STDOUT: %ImplicitNotDeducible.type: type = fn_type @ImplicitNotDeducible [concrete]
|
||||
// CHECK:STDOUT: %ImplicitNotDeducible: %ImplicitNotDeducible.type = struct_value () [concrete]
|
||||
// CHECK:STDOUT: %CallImplicitNotDeducible.type: type = fn_type @CallImplicitNotDeducible [concrete]
|
||||
@@ -1579,7 +1579,7 @@ fn F() {
|
||||
// CHECK:STDOUT: %return.param_patt: @ImplicitNotDeducible.%pattern_type (%pattern_type.51d) = out_param_pattern %return.patt, call_param2 [concrete]
|
||||
// CHECK:STDOUT: } {
|
||||
// CHECK:STDOUT: %T.ref.loc4_50: type = name_ref T, %T.loc4_25.2 [symbolic = %T.loc4_25.1 (constants.%T)]
|
||||
// CHECK:STDOUT: %.loc4_50.2: form = init_form %T.ref.loc4_50, call_param2 [symbolic = %.loc4_50.1 (constants.%.6d4)]
|
||||
// CHECK:STDOUT: %.loc4_50.2: Core.Form = init_form %T.ref.loc4_50, call_param2 [symbolic = %.loc4_50.1 (constants.%.b1d)]
|
||||
// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self]
|
||||
// CHECK:STDOUT: %T.loc4_25.2: type = symbolic_binding T, 0 [symbolic = %T.loc4_25.1 (constants.%T)]
|
||||
// CHECK:STDOUT: %x.param: @ImplicitNotDeducible.%T.loc4_25.1 (%T) = value_param call_param0
|
||||
@@ -1597,7 +1597,7 @@ fn F() {
|
||||
// CHECK:STDOUT: generic fn @ImplicitNotDeducible(%T.loc4_25.2: type) {
|
||||
// CHECK:STDOUT: %T.loc4_25.1: type = symbolic_binding T, 0 [symbolic = %T.loc4_25.1 (constants.%T)]
|
||||
// CHECK:STDOUT: %pattern_type: type = pattern_type %T.loc4_25.1 [symbolic = %pattern_type (constants.%pattern_type.51d)]
|
||||
// CHECK:STDOUT: %.loc4_50.1: form = init_form %T.loc4_25.1, call_param2 [symbolic = %.loc4_50.1 (constants.%.6d4)]
|
||||
// CHECK:STDOUT: %.loc4_50.1: Core.Form = init_form %T.loc4_25.1, call_param2 [symbolic = %.loc4_50.1 (constants.%.b1d)]
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn(%x.param: @ImplicitNotDeducible.%T.loc4_25.1 (%T), %y.param: @ImplicitNotDeducible.%T.loc4_25.1 (%T)) -> out %return.param: @ImplicitNotDeducible.%T.loc4_25.1 (%T);
|
||||
// CHECK:STDOUT: }
|
||||
@@ -1614,7 +1614,7 @@ fn F() {
|
||||
// CHECK:STDOUT: specific @ImplicitNotDeducible(constants.%T) {
|
||||
// CHECK:STDOUT: %T.loc4_25.1 => constants.%T
|
||||
// CHECK:STDOUT: %pattern_type => constants.%pattern_type.51d
|
||||
// CHECK:STDOUT: %.loc4_50.1 => constants.%.6d4
|
||||
// CHECK:STDOUT: %.loc4_50.1 => constants.%.b1d
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: --- deduce_nested_generic_class.carbon
|
||||
|
||||
@@ -27,7 +27,7 @@ fn F(T:! type, p: T**) -> T* {
|
||||
// CHECK:STDOUT: %ptr.e8f: type = ptr_type %T.67d [symbolic]
|
||||
// CHECK:STDOUT: %ptr.125: type = ptr_type %ptr.e8f [symbolic]
|
||||
// CHECK:STDOUT: %pattern_type.8bb: type = pattern_type %ptr.125 [symbolic]
|
||||
// CHECK:STDOUT: %.ba4: form = init_form %ptr.e8f, call_param1 [symbolic]
|
||||
// CHECK:STDOUT: %.4fe: Core.Form = init_form %ptr.e8f, call_param1 [symbolic]
|
||||
// CHECK:STDOUT: %pattern_type.4f4: type = pattern_type %ptr.e8f [symbolic]
|
||||
// CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete]
|
||||
// CHECK:STDOUT: %Copy.Op.type: type = fn_type @Copy.Op [concrete]
|
||||
@@ -73,7 +73,7 @@ fn F(T:! type, p: T**) -> T* {
|
||||
// CHECK:STDOUT: %ptr.loc4_20.1 => constants.%ptr.e8f
|
||||
// CHECK:STDOUT: %ptr.loc4_21.1 => constants.%ptr.125
|
||||
// CHECK:STDOUT: %pattern_type.loc4_16 => constants.%pattern_type.8bb
|
||||
// CHECK:STDOUT: %.loc4_28.1 => constants.%.ba4
|
||||
// CHECK:STDOUT: %.loc4_28.1 => constants.%.4fe
|
||||
// CHECK:STDOUT: %pattern_type.loc4_24 => constants.%pattern_type.4f4
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
|
||||
+29
-29
@@ -102,7 +102,7 @@ fn F(U:! type, T:! type) -> U* {
|
||||
// CHECK:STDOUT: %T: type = symbolic_binding T, 0 [symbolic]
|
||||
// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete]
|
||||
// CHECK:STDOUT: %ptr: type = ptr_type %T [symbolic]
|
||||
// CHECK:STDOUT: %.9e5: form = init_form %ptr, call_param0 [symbolic]
|
||||
// CHECK:STDOUT: %.8e9: Core.Form = init_form %ptr, call_param0 [symbolic]
|
||||
// CHECK:STDOUT: %pattern_type.4f4: type = pattern_type %ptr [symbolic]
|
||||
// CHECK:STDOUT: %F.type: type = fn_type @F [concrete]
|
||||
// CHECK:STDOUT: %F: %F.type = struct_value () [concrete]
|
||||
@@ -130,7 +130,7 @@ fn F(U:! type, T:! type) -> U* {
|
||||
// CHECK:STDOUT: } {
|
||||
// CHECK:STDOUT: %T.ref.loc4: type = name_ref T, %T.loc4_6.2 [symbolic = %T.loc4_6.1 (constants.%T)]
|
||||
// CHECK:STDOUT: %ptr.loc4_20.2: type = ptr_type %T.ref.loc4 [symbolic = %ptr.loc4_20.1 (constants.%ptr)]
|
||||
// CHECK:STDOUT: %.loc4_20.2: form = init_form %ptr.loc4_20.2, call_param0 [symbolic = %.loc4_20.1 (constants.%.9e5)]
|
||||
// CHECK:STDOUT: %.loc4_20.2: Core.Form = init_form %ptr.loc4_20.2, call_param0 [symbolic = %.loc4_20.1 (constants.%.8e9)]
|
||||
// CHECK:STDOUT: %.Self.2: %type = symbolic_binding .Self [symbolic_self = constants.%.Self]
|
||||
// CHECK:STDOUT: %T.loc4_6.2: type = symbolic_binding T, 0 [symbolic = %T.loc4_6.1 (constants.%T)]
|
||||
// CHECK:STDOUT: %return.param.loc4: ref @F.%ptr.loc4_20.1 (%ptr) = out_param call_param0
|
||||
@@ -143,7 +143,7 @@ fn F(U:! type, T:! type) -> U* {
|
||||
// CHECK:STDOUT: } {
|
||||
// CHECK:STDOUT: %T.ref.loc6: type = name_ref T, %T.loc6 [symbolic = %T.loc4_6.1 (constants.%T)]
|
||||
// CHECK:STDOUT: %ptr.loc6: type = ptr_type %T.ref.loc6 [symbolic = %ptr.loc4_20.1 (constants.%ptr)]
|
||||
// CHECK:STDOUT: %.loc6: form = init_form %ptr.loc6, call_param0 [symbolic = %.loc4_20.1 (constants.%.9e5)]
|
||||
// CHECK:STDOUT: %.loc6: Core.Form = init_form %ptr.loc6, call_param0 [symbolic = %.loc4_20.1 (constants.%.8e9)]
|
||||
// CHECK:STDOUT: %.Self.1: %type = symbolic_binding .Self [symbolic_self = constants.%.Self]
|
||||
// CHECK:STDOUT: %T.loc6: type = symbolic_binding T, 0 [symbolic = %T.loc4_6.1 (constants.%T)]
|
||||
// CHECK:STDOUT: %return.param.loc6: ref @F.%ptr.loc4_20.1 (%ptr) = out_param call_param0
|
||||
@@ -154,7 +154,7 @@ fn F(U:! type, T:! type) -> U* {
|
||||
// CHECK:STDOUT: generic fn @F(%T.loc4_6.2: type) {
|
||||
// CHECK:STDOUT: %T.loc4_6.1: type = symbolic_binding T, 0 [symbolic = %T.loc4_6.1 (constants.%T)]
|
||||
// CHECK:STDOUT: %ptr.loc4_20.1: type = ptr_type %T.loc4_6.1 [symbolic = %ptr.loc4_20.1 (constants.%ptr)]
|
||||
// CHECK:STDOUT: %.loc4_20.1: form = init_form %ptr.loc4_20.1, call_param0 [symbolic = %.loc4_20.1 (constants.%.9e5)]
|
||||
// CHECK:STDOUT: %.loc4_20.1: Core.Form = init_form %ptr.loc4_20.1, call_param0 [symbolic = %.loc4_20.1 (constants.%.8e9)]
|
||||
// CHECK:STDOUT: %pattern_type: type = pattern_type %ptr.loc4_20.1 [symbolic = %pattern_type (constants.%pattern_type.4f4)]
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: !definition:
|
||||
@@ -174,7 +174,7 @@ fn F(U:! type, T:! type) -> U* {
|
||||
// CHECK:STDOUT: specific @F(constants.%T) {
|
||||
// CHECK:STDOUT: %T.loc4_6.1 => constants.%T
|
||||
// CHECK:STDOUT: %ptr.loc4_20.1 => constants.%ptr
|
||||
// CHECK:STDOUT: %.loc4_20.1 => constants.%.9e5
|
||||
// CHECK:STDOUT: %.loc4_20.1 => constants.%.8e9
|
||||
// CHECK:STDOUT: %pattern_type => constants.%pattern_type.4f4
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: !definition:
|
||||
@@ -191,12 +191,12 @@ fn F(U:! type, T:! type) -> U* {
|
||||
// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete]
|
||||
// CHECK:STDOUT: %U: type = symbolic_binding U, 1 [symbolic]
|
||||
// CHECK:STDOUT: %ptr.e8f: type = ptr_type %T [symbolic]
|
||||
// CHECK:STDOUT: %.9e5: form = init_form %ptr.e8f, call_param0 [symbolic]
|
||||
// CHECK:STDOUT: %.8e9: Core.Form = init_form %ptr.e8f, call_param0 [symbolic]
|
||||
// CHECK:STDOUT: %pattern_type.4f4: type = pattern_type %ptr.e8f [symbolic]
|
||||
// CHECK:STDOUT: %F.type.117dbc.1: type = fn_type @F.loc4 [concrete]
|
||||
// CHECK:STDOUT: %F.d98bd5.1: %F.type.117dbc.1 = struct_value () [concrete]
|
||||
// CHECK:STDOUT: %ptr.18e: type = ptr_type %U [symbolic]
|
||||
// CHECK:STDOUT: %.e30: form = init_form %ptr.18e, call_param0 [symbolic]
|
||||
// CHECK:STDOUT: %.a9f: Core.Form = init_form %ptr.18e, call_param0 [symbolic]
|
||||
// CHECK:STDOUT: %pattern_type.423: type = pattern_type %ptr.18e [symbolic]
|
||||
// CHECK:STDOUT: %F.type.117dbc.2: type = fn_type @F.loc13 [concrete]
|
||||
// CHECK:STDOUT: %F.d98bd5.2: %F.type.117dbc.2 = struct_value () [concrete]
|
||||
@@ -224,7 +224,7 @@ fn F(U:! type, T:! type) -> U* {
|
||||
// CHECK:STDOUT: } {
|
||||
// CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc4_6.2 [symbolic = %T.loc4_6.1 (constants.%T)]
|
||||
// CHECK:STDOUT: %ptr.loc4_30.2: type = ptr_type %T.ref [symbolic = %ptr.loc4_30.1 (constants.%ptr.e8f)]
|
||||
// CHECK:STDOUT: %.loc4_30.2: form = init_form %ptr.loc4_30.2, call_param0 [symbolic = %.loc4_30.1 (constants.%.9e5)]
|
||||
// CHECK:STDOUT: %.loc4_30.2: Core.Form = init_form %ptr.loc4_30.2, call_param0 [symbolic = %.loc4_30.1 (constants.%.8e9)]
|
||||
// CHECK:STDOUT: %.Self.1: %type = symbolic_binding .Self [symbolic_self = constants.%.Self]
|
||||
// CHECK:STDOUT: %T.loc4_6.2: type = symbolic_binding T, 0 [symbolic = %T.loc4_6.1 (constants.%T)]
|
||||
// CHECK:STDOUT: %.Self.2: %type = symbolic_binding .Self [symbolic_self = constants.%.Self]
|
||||
@@ -240,7 +240,7 @@ fn F(U:! type, T:! type) -> U* {
|
||||
// CHECK:STDOUT: } {
|
||||
// CHECK:STDOUT: %U.ref: type = name_ref U, %U.loc13_16.2 [symbolic = %U.loc13_16.1 (constants.%U)]
|
||||
// CHECK:STDOUT: %ptr.loc13_30.2: type = ptr_type %U.ref [symbolic = %ptr.loc13_30.1 (constants.%ptr.18e)]
|
||||
// CHECK:STDOUT: %.loc13_30.2: form = init_form %ptr.loc13_30.2, call_param0 [symbolic = %.loc13_30.1 (constants.%.e30)]
|
||||
// CHECK:STDOUT: %.loc13_30.2: Core.Form = init_form %ptr.loc13_30.2, call_param0 [symbolic = %.loc13_30.1 (constants.%.a9f)]
|
||||
// CHECK:STDOUT: %.Self.1: %type = symbolic_binding .Self [symbolic_self = constants.%.Self]
|
||||
// CHECK:STDOUT: %T.loc13_6.2: type = symbolic_binding T, 0 [symbolic = %T.loc13_6.1 (constants.%T)]
|
||||
// CHECK:STDOUT: %.Self.2: %type = symbolic_binding .Self [symbolic_self = constants.%.Self]
|
||||
@@ -254,7 +254,7 @@ fn F(U:! type, T:! type) -> U* {
|
||||
// CHECK:STDOUT: %T.loc4_6.1: type = symbolic_binding T, 0 [symbolic = %T.loc4_6.1 (constants.%T)]
|
||||
// CHECK:STDOUT: %U.loc4_16.1: type = symbolic_binding U, 1 [symbolic = %U.loc4_16.1 (constants.%U)]
|
||||
// CHECK:STDOUT: %ptr.loc4_30.1: type = ptr_type %T.loc4_6.1 [symbolic = %ptr.loc4_30.1 (constants.%ptr.e8f)]
|
||||
// CHECK:STDOUT: %.loc4_30.1: form = init_form %ptr.loc4_30.1, call_param0 [symbolic = %.loc4_30.1 (constants.%.9e5)]
|
||||
// CHECK:STDOUT: %.loc4_30.1: Core.Form = init_form %ptr.loc4_30.1, call_param0 [symbolic = %.loc4_30.1 (constants.%.8e9)]
|
||||
// CHECK:STDOUT: %pattern_type: type = pattern_type %ptr.loc4_30.1 [symbolic = %pattern_type (constants.%pattern_type.4f4)]
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn() -> out %return.param: @F.loc4.%ptr.loc4_30.1 (%ptr.e8f);
|
||||
@@ -264,7 +264,7 @@ fn F(U:! type, T:! type) -> U* {
|
||||
// CHECK:STDOUT: %T.loc13_6.1: type = symbolic_binding T, 0 [symbolic = %T.loc13_6.1 (constants.%T)]
|
||||
// CHECK:STDOUT: %U.loc13_16.1: type = symbolic_binding U, 1 [symbolic = %U.loc13_16.1 (constants.%U)]
|
||||
// CHECK:STDOUT: %ptr.loc13_30.1: type = ptr_type %U.loc13_16.1 [symbolic = %ptr.loc13_30.1 (constants.%ptr.18e)]
|
||||
// CHECK:STDOUT: %.loc13_30.1: form = init_form %ptr.loc13_30.1, call_param0 [symbolic = %.loc13_30.1 (constants.%.e30)]
|
||||
// CHECK:STDOUT: %.loc13_30.1: Core.Form = init_form %ptr.loc13_30.1, call_param0 [symbolic = %.loc13_30.1 (constants.%.a9f)]
|
||||
// CHECK:STDOUT: %pattern_type: type = pattern_type %ptr.loc13_30.1 [symbolic = %pattern_type (constants.%pattern_type.423)]
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: !definition:
|
||||
@@ -282,7 +282,7 @@ fn F(U:! type, T:! type) -> U* {
|
||||
// CHECK:STDOUT: %T.loc4_6.1 => constants.%T
|
||||
// CHECK:STDOUT: %U.loc4_16.1 => constants.%U
|
||||
// CHECK:STDOUT: %ptr.loc4_30.1 => constants.%ptr.e8f
|
||||
// CHECK:STDOUT: %.loc4_30.1 => constants.%.9e5
|
||||
// CHECK:STDOUT: %.loc4_30.1 => constants.%.8e9
|
||||
// CHECK:STDOUT: %pattern_type => constants.%pattern_type.4f4
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
@@ -290,7 +290,7 @@ fn F(U:! type, T:! type) -> U* {
|
||||
// CHECK:STDOUT: %T.loc13_6.1 => constants.%T
|
||||
// CHECK:STDOUT: %U.loc13_16.1 => constants.%U
|
||||
// CHECK:STDOUT: %ptr.loc13_30.1 => constants.%ptr.18e
|
||||
// CHECK:STDOUT: %.loc13_30.1 => constants.%.e30
|
||||
// CHECK:STDOUT: %.loc13_30.1 => constants.%.a9f
|
||||
// CHECK:STDOUT: %pattern_type => constants.%pattern_type.423
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
@@ -303,14 +303,14 @@ fn F(U:! type, T:! type) -> U* {
|
||||
// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete]
|
||||
// CHECK:STDOUT: %U.091: type = symbolic_binding U, 1 [symbolic]
|
||||
// CHECK:STDOUT: %ptr.e8f: type = ptr_type %T.67d [symbolic]
|
||||
// CHECK:STDOUT: %.9e5: form = init_form %ptr.e8f, call_param0 [symbolic]
|
||||
// CHECK:STDOUT: %.8e9: Core.Form = init_form %ptr.e8f, call_param0 [symbolic]
|
||||
// CHECK:STDOUT: %pattern_type.4f4: type = pattern_type %ptr.e8f [symbolic]
|
||||
// CHECK:STDOUT: %F.type.117dbc.1: type = fn_type @F.loc4 [concrete]
|
||||
// CHECK:STDOUT: %F.d98bd5.1: %F.type.117dbc.1 = struct_value () [concrete]
|
||||
// CHECK:STDOUT: %U.67d: type = symbolic_binding U, 0 [symbolic]
|
||||
// CHECK:STDOUT: %T.091: type = symbolic_binding T, 1 [symbolic]
|
||||
// CHECK:STDOUT: %ptr.18e: type = ptr_type %T.091 [symbolic]
|
||||
// CHECK:STDOUT: %.e30: form = init_form %ptr.18e, call_param0 [symbolic]
|
||||
// CHECK:STDOUT: %.a9f: Core.Form = init_form %ptr.18e, call_param0 [symbolic]
|
||||
// CHECK:STDOUT: %pattern_type.423: type = pattern_type %ptr.18e [symbolic]
|
||||
// CHECK:STDOUT: %F.type.117dbc.2: type = fn_type @F.loc13 [concrete]
|
||||
// CHECK:STDOUT: %F.d98bd5.2: %F.type.117dbc.2 = struct_value () [concrete]
|
||||
@@ -338,7 +338,7 @@ fn F(U:! type, T:! type) -> U* {
|
||||
// CHECK:STDOUT: } {
|
||||
// CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc4_6.2 [symbolic = %T.loc4_6.1 (constants.%T.67d)]
|
||||
// CHECK:STDOUT: %ptr.loc4_30.2: type = ptr_type %T.ref [symbolic = %ptr.loc4_30.1 (constants.%ptr.e8f)]
|
||||
// CHECK:STDOUT: %.loc4_30.2: form = init_form %ptr.loc4_30.2, call_param0 [symbolic = %.loc4_30.1 (constants.%.9e5)]
|
||||
// CHECK:STDOUT: %.loc4_30.2: Core.Form = init_form %ptr.loc4_30.2, call_param0 [symbolic = %.loc4_30.1 (constants.%.8e9)]
|
||||
// CHECK:STDOUT: %.Self.1: %type = symbolic_binding .Self [symbolic_self = constants.%.Self]
|
||||
// CHECK:STDOUT: %T.loc4_6.2: type = symbolic_binding T, 0 [symbolic = %T.loc4_6.1 (constants.%T.67d)]
|
||||
// CHECK:STDOUT: %.Self.2: %type = symbolic_binding .Self [symbolic_self = constants.%.Self]
|
||||
@@ -354,7 +354,7 @@ fn F(U:! type, T:! type) -> U* {
|
||||
// CHECK:STDOUT: } {
|
||||
// CHECK:STDOUT: %T.ref.loc13: type = name_ref T, %T.loc13_16.2 [symbolic = %T.loc13_16.1 (constants.%T.091)]
|
||||
// CHECK:STDOUT: %ptr.loc13_30.2: type = ptr_type %T.ref.loc13 [symbolic = %ptr.loc13_30.1 (constants.%ptr.18e)]
|
||||
// CHECK:STDOUT: %.loc13_30.2: form = init_form %ptr.loc13_30.2, call_param0 [symbolic = %.loc13_30.1 (constants.%.e30)]
|
||||
// CHECK:STDOUT: %.loc13_30.2: Core.Form = init_form %ptr.loc13_30.2, call_param0 [symbolic = %.loc13_30.1 (constants.%.a9f)]
|
||||
// CHECK:STDOUT: %.Self.1: %type = symbolic_binding .Self [symbolic_self = constants.%.Self]
|
||||
// CHECK:STDOUT: %U.loc13_6.2: type = symbolic_binding U, 0 [symbolic = %U.loc13_6.1 (constants.%U.67d)]
|
||||
// CHECK:STDOUT: %.Self.2: %type = symbolic_binding .Self [symbolic_self = constants.%.Self]
|
||||
@@ -368,7 +368,7 @@ fn F(U:! type, T:! type) -> U* {
|
||||
// CHECK:STDOUT: %T.loc4_6.1: type = symbolic_binding T, 0 [symbolic = %T.loc4_6.1 (constants.%T.67d)]
|
||||
// CHECK:STDOUT: %U.loc4_16.1: type = symbolic_binding U, 1 [symbolic = %U.loc4_16.1 (constants.%U.091)]
|
||||
// CHECK:STDOUT: %ptr.loc4_30.1: type = ptr_type %T.loc4_6.1 [symbolic = %ptr.loc4_30.1 (constants.%ptr.e8f)]
|
||||
// CHECK:STDOUT: %.loc4_30.1: form = init_form %ptr.loc4_30.1, call_param0 [symbolic = %.loc4_30.1 (constants.%.9e5)]
|
||||
// CHECK:STDOUT: %.loc4_30.1: Core.Form = init_form %ptr.loc4_30.1, call_param0 [symbolic = %.loc4_30.1 (constants.%.8e9)]
|
||||
// CHECK:STDOUT: %pattern_type: type = pattern_type %ptr.loc4_30.1 [symbolic = %pattern_type (constants.%pattern_type.4f4)]
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn() -> out %return.param: @F.loc4.%ptr.loc4_30.1 (%ptr.e8f);
|
||||
@@ -378,7 +378,7 @@ fn F(U:! type, T:! type) -> U* {
|
||||
// CHECK:STDOUT: %U.loc13_6.1: type = symbolic_binding U, 0 [symbolic = %U.loc13_6.1 (constants.%U.67d)]
|
||||
// CHECK:STDOUT: %T.loc13_16.1: type = symbolic_binding T, 1 [symbolic = %T.loc13_16.1 (constants.%T.091)]
|
||||
// CHECK:STDOUT: %ptr.loc13_30.1: type = ptr_type %T.loc13_16.1 [symbolic = %ptr.loc13_30.1 (constants.%ptr.18e)]
|
||||
// CHECK:STDOUT: %.loc13_30.1: form = init_form %ptr.loc13_30.1, call_param0 [symbolic = %.loc13_30.1 (constants.%.e30)]
|
||||
// CHECK:STDOUT: %.loc13_30.1: Core.Form = init_form %ptr.loc13_30.1, call_param0 [symbolic = %.loc13_30.1 (constants.%.a9f)]
|
||||
// CHECK:STDOUT: %pattern_type: type = pattern_type %ptr.loc13_30.1 [symbolic = %pattern_type (constants.%pattern_type.423)]
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: !definition:
|
||||
@@ -396,7 +396,7 @@ fn F(U:! type, T:! type) -> U* {
|
||||
// CHECK:STDOUT: %T.loc4_6.1 => constants.%T.67d
|
||||
// CHECK:STDOUT: %U.loc4_16.1 => constants.%U.091
|
||||
// CHECK:STDOUT: %ptr.loc4_30.1 => constants.%ptr.e8f
|
||||
// CHECK:STDOUT: %.loc4_30.1 => constants.%.9e5
|
||||
// CHECK:STDOUT: %.loc4_30.1 => constants.%.8e9
|
||||
// CHECK:STDOUT: %pattern_type => constants.%pattern_type.4f4
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
@@ -404,7 +404,7 @@ fn F(U:! type, T:! type) -> U* {
|
||||
// CHECK:STDOUT: %U.loc13_6.1 => constants.%U.67d
|
||||
// CHECK:STDOUT: %T.loc13_16.1 => constants.%T.091
|
||||
// CHECK:STDOUT: %ptr.loc13_30.1 => constants.%ptr.18e
|
||||
// CHECK:STDOUT: %.loc13_30.1 => constants.%.e30
|
||||
// CHECK:STDOUT: %.loc13_30.1 => constants.%.a9f
|
||||
// CHECK:STDOUT: %pattern_type => constants.%pattern_type.423
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
@@ -417,14 +417,14 @@ fn F(U:! type, T:! type) -> U* {
|
||||
// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete]
|
||||
// CHECK:STDOUT: %U.091: type = symbolic_binding U, 1 [symbolic]
|
||||
// CHECK:STDOUT: %ptr.e8f8f9.1: type = ptr_type %T.67d [symbolic]
|
||||
// CHECK:STDOUT: %.9e525d.1: form = init_form %ptr.e8f8f9.1, call_param0 [symbolic]
|
||||
// CHECK:STDOUT: %.8e9764.1: Core.Form = init_form %ptr.e8f8f9.1, call_param0 [symbolic]
|
||||
// CHECK:STDOUT: %pattern_type.4f4b84.1: type = pattern_type %ptr.e8f8f9.1 [symbolic]
|
||||
// CHECK:STDOUT: %F.type.117dbc.1: type = fn_type @F.loc4 [concrete]
|
||||
// CHECK:STDOUT: %F.d98bd5.1: %F.type.117dbc.1 = struct_value () [concrete]
|
||||
// CHECK:STDOUT: %U.67d: type = symbolic_binding U, 0 [symbolic]
|
||||
// CHECK:STDOUT: %T.091: type = symbolic_binding T, 1 [symbolic]
|
||||
// CHECK:STDOUT: %ptr.e8f8f9.2: type = ptr_type %U.67d [symbolic]
|
||||
// CHECK:STDOUT: %.9e525d.2: form = init_form %ptr.e8f8f9.2, call_param0 [symbolic]
|
||||
// CHECK:STDOUT: %.8e9764.2: Core.Form = init_form %ptr.e8f8f9.2, call_param0 [symbolic]
|
||||
// CHECK:STDOUT: %pattern_type.4f4b84.2: type = pattern_type %ptr.e8f8f9.2 [symbolic]
|
||||
// CHECK:STDOUT: %F.type.117dbc.2: type = fn_type @F.loc13 [concrete]
|
||||
// CHECK:STDOUT: %F.d98bd5.2: %F.type.117dbc.2 = struct_value () [concrete]
|
||||
@@ -452,7 +452,7 @@ fn F(U:! type, T:! type) -> U* {
|
||||
// CHECK:STDOUT: } {
|
||||
// CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc4_6.2 [symbolic = %T.loc4_6.1 (constants.%T.67d)]
|
||||
// CHECK:STDOUT: %ptr.loc4_30.2: type = ptr_type %T.ref [symbolic = %ptr.loc4_30.1 (constants.%ptr.e8f8f9.1)]
|
||||
// CHECK:STDOUT: %.loc4_30.2: form = init_form %ptr.loc4_30.2, call_param0 [symbolic = %.loc4_30.1 (constants.%.9e525d.1)]
|
||||
// CHECK:STDOUT: %.loc4_30.2: Core.Form = init_form %ptr.loc4_30.2, call_param0 [symbolic = %.loc4_30.1 (constants.%.8e9764.1)]
|
||||
// CHECK:STDOUT: %.Self.1: %type = symbolic_binding .Self [symbolic_self = constants.%.Self]
|
||||
// CHECK:STDOUT: %T.loc4_6.2: type = symbolic_binding T, 0 [symbolic = %T.loc4_6.1 (constants.%T.67d)]
|
||||
// CHECK:STDOUT: %.Self.2: %type = symbolic_binding .Self [symbolic_self = constants.%.Self]
|
||||
@@ -468,7 +468,7 @@ fn F(U:! type, T:! type) -> U* {
|
||||
// CHECK:STDOUT: } {
|
||||
// CHECK:STDOUT: %U.ref: type = name_ref U, %U.loc13_6.2 [symbolic = %U.loc13_6.1 (constants.%U.67d)]
|
||||
// CHECK:STDOUT: %ptr.loc13_30.2: type = ptr_type %U.ref [symbolic = %ptr.loc13_30.1 (constants.%ptr.e8f8f9.2)]
|
||||
// CHECK:STDOUT: %.loc13_30.2: form = init_form %ptr.loc13_30.2, call_param0 [symbolic = %.loc13_30.1 (constants.%.9e525d.2)]
|
||||
// CHECK:STDOUT: %.loc13_30.2: Core.Form = init_form %ptr.loc13_30.2, call_param0 [symbolic = %.loc13_30.1 (constants.%.8e9764.2)]
|
||||
// CHECK:STDOUT: %.Self.1: %type = symbolic_binding .Self [symbolic_self = constants.%.Self]
|
||||
// CHECK:STDOUT: %U.loc13_6.2: type = symbolic_binding U, 0 [symbolic = %U.loc13_6.1 (constants.%U.67d)]
|
||||
// CHECK:STDOUT: %.Self.2: %type = symbolic_binding .Self [symbolic_self = constants.%.Self]
|
||||
@@ -482,7 +482,7 @@ fn F(U:! type, T:! type) -> U* {
|
||||
// CHECK:STDOUT: %T.loc4_6.1: type = symbolic_binding T, 0 [symbolic = %T.loc4_6.1 (constants.%T.67d)]
|
||||
// CHECK:STDOUT: %U.loc4_16.1: type = symbolic_binding U, 1 [symbolic = %U.loc4_16.1 (constants.%U.091)]
|
||||
// CHECK:STDOUT: %ptr.loc4_30.1: type = ptr_type %T.loc4_6.1 [symbolic = %ptr.loc4_30.1 (constants.%ptr.e8f8f9.1)]
|
||||
// CHECK:STDOUT: %.loc4_30.1: form = init_form %ptr.loc4_30.1, call_param0 [symbolic = %.loc4_30.1 (constants.%.9e525d.1)]
|
||||
// CHECK:STDOUT: %.loc4_30.1: Core.Form = init_form %ptr.loc4_30.1, call_param0 [symbolic = %.loc4_30.1 (constants.%.8e9764.1)]
|
||||
// CHECK:STDOUT: %pattern_type: type = pattern_type %ptr.loc4_30.1 [symbolic = %pattern_type (constants.%pattern_type.4f4b84.1)]
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn() -> out %return.param: @F.loc4.%ptr.loc4_30.1 (%ptr.e8f8f9.1);
|
||||
@@ -492,7 +492,7 @@ fn F(U:! type, T:! type) -> U* {
|
||||
// CHECK:STDOUT: %U.loc13_6.1: type = symbolic_binding U, 0 [symbolic = %U.loc13_6.1 (constants.%U.67d)]
|
||||
// CHECK:STDOUT: %T.loc13_16.1: type = symbolic_binding T, 1 [symbolic = %T.loc13_16.1 (constants.%T.091)]
|
||||
// CHECK:STDOUT: %ptr.loc13_30.1: type = ptr_type %U.loc13_6.1 [symbolic = %ptr.loc13_30.1 (constants.%ptr.e8f8f9.2)]
|
||||
// CHECK:STDOUT: %.loc13_30.1: form = init_form %ptr.loc13_30.1, call_param0 [symbolic = %.loc13_30.1 (constants.%.9e525d.2)]
|
||||
// CHECK:STDOUT: %.loc13_30.1: Core.Form = init_form %ptr.loc13_30.1, call_param0 [symbolic = %.loc13_30.1 (constants.%.8e9764.2)]
|
||||
// CHECK:STDOUT: %pattern_type: type = pattern_type %ptr.loc13_30.1 [symbolic = %pattern_type (constants.%pattern_type.4f4b84.2)]
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: !definition:
|
||||
@@ -510,7 +510,7 @@ fn F(U:! type, T:! type) -> U* {
|
||||
// CHECK:STDOUT: %T.loc4_6.1 => constants.%T.67d
|
||||
// CHECK:STDOUT: %U.loc4_16.1 => constants.%U.091
|
||||
// CHECK:STDOUT: %ptr.loc4_30.1 => constants.%ptr.e8f8f9.1
|
||||
// CHECK:STDOUT: %.loc4_30.1 => constants.%.9e525d.1
|
||||
// CHECK:STDOUT: %.loc4_30.1 => constants.%.8e9764.1
|
||||
// CHECK:STDOUT: %pattern_type => constants.%pattern_type.4f4b84.1
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
@@ -518,7 +518,7 @@ fn F(U:! type, T:! type) -> U* {
|
||||
// CHECK:STDOUT: %U.loc13_6.1 => constants.%U.67d
|
||||
// CHECK:STDOUT: %T.loc13_16.1 => constants.%T.091
|
||||
// CHECK:STDOUT: %ptr.loc13_30.1 => constants.%ptr.e8f8f9.2
|
||||
// CHECK:STDOUT: %.loc13_30.1 => constants.%.9e525d.2
|
||||
// CHECK:STDOUT: %.loc13_30.1 => constants.%.8e9764.2
|
||||
// CHECK:STDOUT: %pattern_type => constants.%pattern_type.4f4b84.2
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
|
||||
+10
-10
@@ -35,7 +35,7 @@ fn G() {
|
||||
// CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete]
|
||||
// CHECK:STDOUT: %Wrap.generic: %Wrap.type = struct_value () [concrete]
|
||||
// CHECK:STDOUT: %Wrap.063: type = class_type @Wrap, @Wrap(%T) [symbolic]
|
||||
// CHECK:STDOUT: %.c6c: form = init_form %T, call_param0 [symbolic]
|
||||
// CHECK:STDOUT: %.41b: Core.Form = init_form %T, call_param0 [symbolic]
|
||||
// CHECK:STDOUT: %pattern_type.51d: type = pattern_type %T [symbolic]
|
||||
// CHECK:STDOUT: %Wrap.Make.type.6e9: type = fn_type @Wrap.Make, @Wrap(%T) [symbolic]
|
||||
// CHECK:STDOUT: %Wrap.Make.e25: %Wrap.Make.type.6e9 = struct_value () [symbolic]
|
||||
@@ -61,20 +61,20 @@ fn G() {
|
||||
// CHECK:STDOUT: %Wrap.e80: type = class_type @Wrap, @Wrap(%i32) [concrete]
|
||||
// CHECK:STDOUT: %Wrap.Make.type.939: type = fn_type @Wrap.Make, @Wrap(%i32) [concrete]
|
||||
// CHECK:STDOUT: %Wrap.Make.6cb: %Wrap.Make.type.939 = struct_value () [concrete]
|
||||
// CHECK:STDOUT: %.941: form = init_form %i32, call_param0 [concrete]
|
||||
// CHECK:STDOUT: %.437: Core.Form = init_form %i32, call_param0 [concrete]
|
||||
// CHECK:STDOUT: %Wrap.Make.specific_fn.35c: <specific function> = specific_function %Wrap.Make.6cb, @Wrap.Make(%i32) [concrete]
|
||||
// CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete]
|
||||
// CHECK:STDOUT: %pattern_type.cb1: type = pattern_type %empty_tuple.type [concrete]
|
||||
// CHECK:STDOUT: %Wrap.0f1: type = class_type @Wrap, @Wrap(%empty_tuple.type) [concrete]
|
||||
// CHECK:STDOUT: %Wrap.Make.type.fb0: type = fn_type @Wrap.Make, @Wrap(%empty_tuple.type) [concrete]
|
||||
// CHECK:STDOUT: %Wrap.Make.b5c: %Wrap.Make.type.fb0 = struct_value () [concrete]
|
||||
// CHECK:STDOUT: %.62c: form = init_form %empty_tuple.type, call_param0 [concrete]
|
||||
// CHECK:STDOUT: %.842: Core.Form = init_form %empty_tuple.type, call_param0 [concrete]
|
||||
// CHECK:STDOUT: %Wrap.Make.specific_fn.c03: <specific function> = specific_function %Wrap.Make.b5c, @Wrap.Make(%empty_tuple.type) [concrete]
|
||||
// CHECK:STDOUT: %pattern_type.7c7: type = pattern_type %C [concrete]
|
||||
// CHECK:STDOUT: %Wrap.3b1: type = class_type @Wrap, @Wrap(%C) [concrete]
|
||||
// CHECK:STDOUT: %Wrap.Make.type.a8f: type = fn_type @Wrap.Make, @Wrap(%C) [concrete]
|
||||
// CHECK:STDOUT: %Wrap.Make.62a: %Wrap.Make.type.a8f = struct_value () [concrete]
|
||||
// CHECK:STDOUT: %.64f: form = init_form %C, call_param0 [concrete]
|
||||
// CHECK:STDOUT: %.768: Core.Form = init_form %C, call_param0 [concrete]
|
||||
// CHECK:STDOUT: %Wrap.Make.specific_fn.cb9: <specific function> = specific_function %Wrap.Make.62a, @Wrap.Make(%C) [concrete]
|
||||
// CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete]
|
||||
// CHECK:STDOUT: %DestroyOp.type.3e79c2.1: type = fn_type @DestroyOp.loc24 [concrete]
|
||||
@@ -128,7 +128,7 @@ fn G() {
|
||||
// CHECK:STDOUT: %return.param_patt: @Wrap.Make.%pattern_type (%pattern_type.51d) = out_param_pattern %return.patt, call_param0 [concrete]
|
||||
// CHECK:STDOUT: } {
|
||||
// CHECK:STDOUT: %T.ref: type = name_ref T, @Wrap.%T.loc15_12.2 [symbolic = %T (constants.%T)]
|
||||
// CHECK:STDOUT: %.loc16_16.3: form = init_form %T.ref, call_param0 [symbolic = %.loc16_16.2 (constants.%.c6c)]
|
||||
// CHECK:STDOUT: %.loc16_16.3: Core.Form = init_form %T.ref, call_param0 [symbolic = %.loc16_16.2 (constants.%.41b)]
|
||||
// CHECK:STDOUT: %return.param: ref @Wrap.Make.%T (%T) = out_param call_param0
|
||||
// CHECK:STDOUT: %return: ref @Wrap.Make.%T (%T) = return_slot %return.param
|
||||
// CHECK:STDOUT: }
|
||||
@@ -158,7 +158,7 @@ fn G() {
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: generic fn @Wrap.Make(@Wrap.%T.loc15_12.2: type) {
|
||||
// CHECK:STDOUT: %T: type = symbolic_binding T, 0 [symbolic = %T (constants.%T)]
|
||||
// CHECK:STDOUT: %.loc16_16.2: form = init_form %T, call_param0 [symbolic = %.loc16_16.2 (constants.%.c6c)]
|
||||
// CHECK:STDOUT: %.loc16_16.2: Core.Form = init_form %T, call_param0 [symbolic = %.loc16_16.2 (constants.%.41b)]
|
||||
// CHECK:STDOUT: %pattern_type: type = pattern_type %T [symbolic = %pattern_type (constants.%pattern_type.51d)]
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: !definition:
|
||||
@@ -259,7 +259,7 @@ fn G() {
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: specific @Wrap.Make(constants.%T) {
|
||||
// CHECK:STDOUT: %T => constants.%T
|
||||
// CHECK:STDOUT: %.loc16_16.2 => constants.%.c6c
|
||||
// CHECK:STDOUT: %.loc16_16.2 => constants.%.41b
|
||||
// CHECK:STDOUT: %pattern_type => constants.%pattern_type.51d
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: !definition:
|
||||
@@ -279,7 +279,7 @@ fn G() {
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: specific @Wrap.Make(constants.%i32) {
|
||||
// CHECK:STDOUT: %T => constants.%i32
|
||||
// CHECK:STDOUT: %.loc16_16.2 => constants.%.941
|
||||
// CHECK:STDOUT: %.loc16_16.2 => constants.%.437
|
||||
// CHECK:STDOUT: %pattern_type => constants.%pattern_type.7ce
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: !definition:
|
||||
@@ -299,7 +299,7 @@ fn G() {
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: specific @Wrap.Make(constants.%empty_tuple.type) {
|
||||
// CHECK:STDOUT: %T => constants.%empty_tuple.type
|
||||
// CHECK:STDOUT: %.loc16_16.2 => constants.%.62c
|
||||
// CHECK:STDOUT: %.loc16_16.2 => constants.%.842
|
||||
// CHECK:STDOUT: %pattern_type => constants.%pattern_type.cb1
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: !definition:
|
||||
@@ -319,7 +319,7 @@ fn G() {
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: specific @Wrap.Make(constants.%C) {
|
||||
// CHECK:STDOUT: %T => constants.%C
|
||||
// CHECK:STDOUT: %.loc16_16.2 => constants.%.64f
|
||||
// CHECK:STDOUT: %.loc16_16.2 => constants.%.768
|
||||
// CHECK:STDOUT: %pattern_type => constants.%pattern_type.7c7
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: !definition:
|
||||
|
||||
@@ -27,7 +27,7 @@ fn F(T:! type, n: T*) -> T* {
|
||||
// CHECK:STDOUT: %T.67d: type = symbolic_binding T, 0 [symbolic]
|
||||
// CHECK:STDOUT: %ptr: type = ptr_type %T.67d [symbolic]
|
||||
// CHECK:STDOUT: %pattern_type.4f4: type = pattern_type %ptr [symbolic]
|
||||
// CHECK:STDOUT: %.ba4: form = init_form %ptr, call_param1 [symbolic]
|
||||
// CHECK:STDOUT: %.4fe: Core.Form = init_form %ptr, call_param1 [symbolic]
|
||||
// CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete]
|
||||
// CHECK:STDOUT: %Copy.Op.type: type = fn_type @Copy.Op [concrete]
|
||||
// CHECK:STDOUT: %.2f2: require_specific_def_type = require_specific_def @ptr.as.Copy.impl(%T.67d) [symbolic]
|
||||
@@ -78,6 +78,6 @@ fn F(T:! type, n: T*) -> T* {
|
||||
// CHECK:STDOUT: %T.loc4_6.1 => constants.%T.67d
|
||||
// CHECK:STDOUT: %ptr.loc4_20.1 => constants.%ptr
|
||||
// CHECK:STDOUT: %pattern_type => constants.%pattern_type.4f4
|
||||
// CHECK:STDOUT: %.loc4_27.1 => constants.%.ba4
|
||||
// CHECK:STDOUT: %.loc4_27.1 => constants.%.4fe
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
|
||||
Reference in New Issue
Block a user