|
|
|
@@ -306,7 +306,7 @@ import library "extern_api";
|
|
|
|
|
// CHECK:STDOUT: %Core.import = import Core
|
|
|
|
|
// CHECK:STDOUT: %A.decl: %A.type = fn_decl @A [concrete = constants.%A] {} {}
|
|
|
|
|
// CHECK:STDOUT: %B.decl: %B.type = fn_decl @B [concrete = constants.%B] {
|
|
|
|
|
// CHECK:STDOUT: %b.patt: %pattern_type.7ce = binding_pattern b [concrete]
|
|
|
|
|
// CHECK:STDOUT: %b.patt: %pattern_type.7ce = value_binding_pattern b [concrete]
|
|
|
|
|
// CHECK:STDOUT: %b.param_patt: %pattern_type.7ce = value_param_pattern %b.patt, call_param0 [concrete]
|
|
|
|
|
// CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete]
|
|
|
|
|
// CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param1 [concrete]
|
|
|
|
@@ -318,12 +318,12 @@ import library "extern_api";
|
|
|
|
|
// CHECK:STDOUT: %int_32.loc5_9: Core.IntLiteral = int_value 32 [concrete = constants.%int_32]
|
|
|
|
|
// CHECK:STDOUT: %i32.loc5_9: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32]
|
|
|
|
|
// CHECK:STDOUT: }
|
|
|
|
|
// CHECK:STDOUT: %b: %i32 = bind_name b, %b.param
|
|
|
|
|
// CHECK:STDOUT: %b: %i32 = value_binding b, %b.param
|
|
|
|
|
// CHECK:STDOUT: %return.param: ref %i32 = out_param call_param1
|
|
|
|
|
// CHECK:STDOUT: %return: ref %i32 = return_slot %return.param
|
|
|
|
|
// CHECK:STDOUT: }
|
|
|
|
|
// CHECK:STDOUT: %C.decl: %C.type = fn_decl @C [concrete = constants.%C] {
|
|
|
|
|
// CHECK:STDOUT: %c.patt: %pattern_type.b74 = binding_pattern c [concrete]
|
|
|
|
|
// CHECK:STDOUT: %c.patt: %pattern_type.b74 = value_binding_pattern c [concrete]
|
|
|
|
|
// CHECK:STDOUT: %c.param_patt: %pattern_type.b74 = value_param_pattern %c.patt, call_param0 [concrete]
|
|
|
|
|
// CHECK:STDOUT: %return.patt: %pattern_type.688 = return_slot_pattern [concrete]
|
|
|
|
|
// CHECK:STDOUT: %return.param_patt: %pattern_type.688 = out_param_pattern %return.patt, call_param1 [concrete]
|
|
|
|
@@ -338,7 +338,7 @@ import library "extern_api";
|
|
|
|
|
// CHECK:STDOUT: %.loc6_14.2: %tuple.type.85c = tuple_literal (%i32.loc6_10)
|
|
|
|
|
// CHECK:STDOUT: %.loc6_14.3: type = converted %.loc6_14.2, constants.%tuple.type.a1c [concrete = constants.%tuple.type.a1c]
|
|
|
|
|
// CHECK:STDOUT: }
|
|
|
|
|
// CHECK:STDOUT: %c: %tuple.type.a1c = bind_name c, %c.param
|
|
|
|
|
// CHECK:STDOUT: %c: %tuple.type.a1c = value_binding c, %c.param
|
|
|
|
|
// CHECK:STDOUT: %return.param: ref %struct_type.c = out_param call_param1
|
|
|
|
|
// CHECK:STDOUT: %return: ref %struct_type.c = return_slot %return.param
|
|
|
|
|
// CHECK:STDOUT: }
|
|
|
|
@@ -405,7 +405,7 @@ import library "extern_api";
|
|
|
|
|
// CHECK:STDOUT: %Core.import = import Core
|
|
|
|
|
// CHECK:STDOUT: %A.decl: %A.type = fn_decl @A [concrete = constants.%A] {} {}
|
|
|
|
|
// CHECK:STDOUT: %B.decl: %B.type = fn_decl @B [concrete = constants.%B] {
|
|
|
|
|
// CHECK:STDOUT: %b.patt: %pattern_type.7ce = binding_pattern b [concrete]
|
|
|
|
|
// CHECK:STDOUT: %b.patt: %pattern_type.7ce = value_binding_pattern b [concrete]
|
|
|
|
|
// CHECK:STDOUT: %b.param_patt: %pattern_type.7ce = value_param_pattern %b.patt, call_param0 [concrete]
|
|
|
|
|
// CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete]
|
|
|
|
|
// CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param1 [concrete]
|
|
|
|
@@ -417,12 +417,12 @@ import library "extern_api";
|
|
|
|
|
// CHECK:STDOUT: %int_32.loc5_44: Core.IntLiteral = int_value 32 [concrete = constants.%int_32]
|
|
|
|
|
// CHECK:STDOUT: %i32.loc5_44: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32]
|
|
|
|
|
// CHECK:STDOUT: }
|
|
|
|
|
// CHECK:STDOUT: %b: %i32 = bind_name b, %b.param
|
|
|
|
|
// CHECK:STDOUT: %b: %i32 = value_binding b, %b.param
|
|
|
|
|
// CHECK:STDOUT: %return.param: ref %i32 = out_param call_param1
|
|
|
|
|
// CHECK:STDOUT: %return: ref %i32 = return_slot %return.param
|
|
|
|
|
// CHECK:STDOUT: }
|
|
|
|
|
// CHECK:STDOUT: %C.decl: %C.type = fn_decl @C [concrete = constants.%C] {
|
|
|
|
|
// CHECK:STDOUT: %c.patt: %pattern_type.b74 = binding_pattern c [concrete]
|
|
|
|
|
// CHECK:STDOUT: %c.patt: %pattern_type.b74 = value_binding_pattern c [concrete]
|
|
|
|
|
// CHECK:STDOUT: %c.param_patt: %pattern_type.b74 = value_param_pattern %c.patt, call_param0 [concrete]
|
|
|
|
|
// CHECK:STDOUT: %return.patt: %pattern_type.688 = return_slot_pattern [concrete]
|
|
|
|
|
// CHECK:STDOUT: %return.param_patt: %pattern_type.688 = out_param_pattern %return.patt, call_param1 [concrete]
|
|
|
|
@@ -437,7 +437,7 @@ import library "extern_api";
|
|
|
|
|
// CHECK:STDOUT: %.loc6_49.2: %tuple.type.85c = tuple_literal (%i32.loc6_45)
|
|
|
|
|
// CHECK:STDOUT: %.loc6_49.3: type = converted %.loc6_49.2, constants.%tuple.type.a1c [concrete = constants.%tuple.type.a1c]
|
|
|
|
|
// CHECK:STDOUT: }
|
|
|
|
|
// CHECK:STDOUT: %c: %tuple.type.a1c = bind_name c, %c.param
|
|
|
|
|
// CHECK:STDOUT: %c: %tuple.type.a1c = value_binding c, %c.param
|
|
|
|
|
// CHECK:STDOUT: %return.param: ref %struct_type.c = out_param call_param1
|
|
|
|
|
// CHECK:STDOUT: %return: ref %struct_type.c = return_slot %return.param
|
|
|
|
|
// CHECK:STDOUT: }
|
|
|
|
@@ -541,7 +541,7 @@ import library "extern_api";
|
|
|
|
|
// CHECK:STDOUT: %Core.import = import Core
|
|
|
|
|
// CHECK:STDOUT: %default.import = import <none>
|
|
|
|
|
// CHECK:STDOUT: name_binding_decl {
|
|
|
|
|
// CHECK:STDOUT: %a.patt: %pattern_type.cb1 = binding_pattern a [concrete]
|
|
|
|
|
// CHECK:STDOUT: %a.patt: %pattern_type.cb1 = ref_binding_pattern a [concrete]
|
|
|
|
|
// CHECK:STDOUT: %a.var_patt: %pattern_type.cb1 = var_pattern %a.patt [concrete]
|
|
|
|
|
// CHECK:STDOUT: }
|
|
|
|
|
// CHECK:STDOUT: %a.var: ref %empty_tuple.type = var %a.var_patt [concrete]
|
|
|
|
@@ -549,9 +549,9 @@ import library "extern_api";
|
|
|
|
|
// CHECK:STDOUT: %.loc6_9.2: %empty_tuple.type = tuple_literal ()
|
|
|
|
|
// CHECK:STDOUT: %.loc6_9.3: type = converted %.loc6_9.2, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type]
|
|
|
|
|
// CHECK:STDOUT: }
|
|
|
|
|
// CHECK:STDOUT: %a: ref %empty_tuple.type = bind_name a, %a.var [concrete = %a.var]
|
|
|
|
|
// CHECK:STDOUT: %a: ref %empty_tuple.type = ref_binding a, %a.var [concrete = %a.var]
|
|
|
|
|
// CHECK:STDOUT: name_binding_decl {
|
|
|
|
|
// CHECK:STDOUT: %b.patt: %pattern_type.7ce = binding_pattern b [concrete]
|
|
|
|
|
// CHECK:STDOUT: %b.patt: %pattern_type.7ce = ref_binding_pattern b [concrete]
|
|
|
|
|
// CHECK:STDOUT: %b.var_patt: %pattern_type.7ce = var_pattern %b.patt [concrete]
|
|
|
|
|
// CHECK:STDOUT: }
|
|
|
|
|
// CHECK:STDOUT: %b.var: ref %i32 = var %b.var_patt [concrete]
|
|
|
|
@@ -559,9 +559,9 @@ import library "extern_api";
|
|
|
|
|
// CHECK:STDOUT: %int_32.loc7: Core.IntLiteral = int_value 32 [concrete = constants.%int_32]
|
|
|
|
|
// CHECK:STDOUT: %i32.loc7: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32]
|
|
|
|
|
// CHECK:STDOUT: }
|
|
|
|
|
// CHECK:STDOUT: %b: ref %i32 = bind_name b, %b.var [concrete = %b.var]
|
|
|
|
|
// CHECK:STDOUT: %b: ref %i32 = ref_binding b, %b.var [concrete = %b.var]
|
|
|
|
|
// CHECK:STDOUT: name_binding_decl {
|
|
|
|
|
// CHECK:STDOUT: %c.patt: %pattern_type.688 = binding_pattern c [concrete]
|
|
|
|
|
// CHECK:STDOUT: %c.patt: %pattern_type.688 = ref_binding_pattern c [concrete]
|
|
|
|
|
// CHECK:STDOUT: %c.var_patt: %pattern_type.688 = var_pattern %c.patt [concrete]
|
|
|
|
|
// CHECK:STDOUT: }
|
|
|
|
|
// CHECK:STDOUT: %c.var: ref %struct_type.c = var %c.var_patt [concrete]
|
|
|
|
@@ -570,9 +570,9 @@ import library "extern_api";
|
|
|
|
|
// CHECK:STDOUT: %i32.loc8: 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: }
|
|
|
|
|
// CHECK:STDOUT: %c: ref %struct_type.c = bind_name c, %c.var [concrete = %c.var]
|
|
|
|
|
// CHECK:STDOUT: %c: ref %struct_type.c = ref_binding c, %c.var [concrete = %c.var]
|
|
|
|
|
// CHECK:STDOUT: name_binding_decl {
|
|
|
|
|
// CHECK:STDOUT: %d.patt: %pattern_type.cb1 = binding_pattern d [concrete]
|
|
|
|
|
// CHECK:STDOUT: %d.patt: %pattern_type.cb1 = ref_binding_pattern d [concrete]
|
|
|
|
|
// CHECK:STDOUT: %d.var_patt: %pattern_type.cb1 = var_pattern %d.patt [concrete]
|
|
|
|
|
// CHECK:STDOUT: }
|
|
|
|
|
// CHECK:STDOUT: %d.var: ref %empty_tuple.type = var %d.var_patt [concrete]
|
|
|
|
@@ -580,9 +580,9 @@ import library "extern_api";
|
|
|
|
|
// CHECK:STDOUT: %.loc9_9.2: %empty_tuple.type = tuple_literal ()
|
|
|
|
|
// CHECK:STDOUT: %.loc9_9.3: type = converted %.loc9_9.2, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type]
|
|
|
|
|
// CHECK:STDOUT: }
|
|
|
|
|
// CHECK:STDOUT: %d: ref %empty_tuple.type = bind_name d, %d.var [concrete = %d.var]
|
|
|
|
|
// CHECK:STDOUT: %d: ref %empty_tuple.type = ref_binding d, %d.var [concrete = %d.var]
|
|
|
|
|
// CHECK:STDOUT: name_binding_decl {
|
|
|
|
|
// CHECK:STDOUT: %e.patt: %pattern_type.cb1 = binding_pattern e [concrete]
|
|
|
|
|
// CHECK:STDOUT: %e.patt: %pattern_type.cb1 = ref_binding_pattern e [concrete]
|
|
|
|
|
// CHECK:STDOUT: %e.var_patt: %pattern_type.cb1 = var_pattern %e.patt [concrete]
|
|
|
|
|
// CHECK:STDOUT: }
|
|
|
|
|
// CHECK:STDOUT: %e.var: ref %empty_tuple.type = var %e.var_patt [concrete]
|
|
|
|
@@ -590,7 +590,7 @@ import library "extern_api";
|
|
|
|
|
// CHECK:STDOUT: %.loc10_9.2: %empty_tuple.type = tuple_literal ()
|
|
|
|
|
// CHECK:STDOUT: %.loc10_9.3: type = converted %.loc10_9.2, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type]
|
|
|
|
|
// CHECK:STDOUT: }
|
|
|
|
|
// CHECK:STDOUT: %e: ref %empty_tuple.type = bind_name e, %e.var [concrete = %e.var]
|
|
|
|
|
// CHECK:STDOUT: %e: ref %empty_tuple.type = ref_binding e, %e.var [concrete = %e.var]
|
|
|
|
|
// CHECK:STDOUT: }
|
|
|
|
|
// CHECK:STDOUT:
|
|
|
|
|
// CHECK:STDOUT: fn @A [from "api.carbon"];
|
|
|
|
@@ -730,7 +730,7 @@ import library "extern_api";
|
|
|
|
|
// CHECK:STDOUT: %int_32.loc23_16: Core.IntLiteral = int_value 32 [concrete = constants.%int_32]
|
|
|
|
|
// CHECK:STDOUT: %i32.loc23_16: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32]
|
|
|
|
|
// CHECK:STDOUT: }
|
|
|
|
|
// CHECK:STDOUT: %b: %i32 = bind_name b, %b.param
|
|
|
|
|
// CHECK:STDOUT: %b: %i32 = value_binding b, %b.param
|
|
|
|
|
// CHECK:STDOUT: %return.param: ref %i32 = out_param call_param1
|
|
|
|
|
// CHECK:STDOUT: %return: ref %i32 = return_slot %return.param
|
|
|
|
|
// CHECK:STDOUT: }
|
|
|
|
@@ -745,14 +745,14 @@ import library "extern_api";
|
|
|
|
|
// CHECK:STDOUT: %.loc32_21.2: %tuple.type.85c = tuple_literal (%i32.loc32_17)
|
|
|
|
|
// CHECK:STDOUT: %.loc32_21.3: type = converted %.loc32_21.2, constants.%tuple.type.a1c [concrete = constants.%tuple.type.a1c]
|
|
|
|
|
// CHECK:STDOUT: }
|
|
|
|
|
// CHECK:STDOUT: %c: %tuple.type.a1c = bind_name c, %c.param
|
|
|
|
|
// CHECK:STDOUT: %c: %tuple.type.a1c = value_binding c, %c.param
|
|
|
|
|
// CHECK:STDOUT: %return.param: ref %struct_type.c = out_param call_param1
|
|
|
|
|
// CHECK:STDOUT: %return: ref %struct_type.c = return_slot %return.param
|
|
|
|
|
// CHECK:STDOUT: }
|
|
|
|
|
// CHECK:STDOUT: %D.decl: %D.type = fn_decl @D [concrete = constants.%D] {} {}
|
|
|
|
|
// CHECK:STDOUT: %E.decl: %E.type = fn_decl @E [concrete = constants.%E] {} {}
|
|
|
|
|
// CHECK:STDOUT: name_binding_decl {
|
|
|
|
|
// CHECK:STDOUT: %a.patt: %pattern_type.cb1 = binding_pattern a [concrete]
|
|
|
|
|
// CHECK:STDOUT: %a.patt: %pattern_type.cb1 = ref_binding_pattern a [concrete]
|
|
|
|
|
// CHECK:STDOUT: %a.var_patt: %pattern_type.cb1 = var_pattern %a.patt [concrete]
|
|
|
|
|
// CHECK:STDOUT: }
|
|
|
|
|
// CHECK:STDOUT: %a.var: ref %empty_tuple.type = var %a.var_patt [concrete]
|
|
|
|
@@ -760,9 +760,9 @@ import library "extern_api";
|
|
|
|
|
// CHECK:STDOUT: %.loc52_9.2: %empty_tuple.type = tuple_literal ()
|
|
|
|
|
// CHECK:STDOUT: %.loc52_9.3: type = converted %.loc52_9.2, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type]
|
|
|
|
|
// CHECK:STDOUT: }
|
|
|
|
|
// CHECK:STDOUT: %a: ref %empty_tuple.type = bind_name a, %a.var [concrete = %a.var]
|
|
|
|
|
// CHECK:STDOUT: %a: ref %empty_tuple.type = ref_binding a, %a.var [concrete = %a.var]
|
|
|
|
|
// CHECK:STDOUT: name_binding_decl {
|
|
|
|
|
// CHECK:STDOUT: %b.patt: %pattern_type.7ce = binding_pattern b [concrete]
|
|
|
|
|
// CHECK:STDOUT: %b.patt: %pattern_type.7ce = ref_binding_pattern b [concrete]
|
|
|
|
|
// CHECK:STDOUT: %b.var_patt: %pattern_type.7ce = var_pattern %b.patt [concrete]
|
|
|
|
|
// CHECK:STDOUT: }
|
|
|
|
|
// CHECK:STDOUT: %b.var: ref %i32 = var %b.var_patt [concrete]
|
|
|
|
@@ -770,9 +770,9 @@ import library "extern_api";
|
|
|
|
|
// CHECK:STDOUT: %int_32.loc53: Core.IntLiteral = int_value 32 [concrete = constants.%int_32]
|
|
|
|
|
// CHECK:STDOUT: %i32.loc53: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32]
|
|
|
|
|
// CHECK:STDOUT: }
|
|
|
|
|
// CHECK:STDOUT: %b: ref %i32 = bind_name b, %b.var [concrete = %b.var]
|
|
|
|
|
// CHECK:STDOUT: %b: ref %i32 = ref_binding b, %b.var [concrete = %b.var]
|
|
|
|
|
// CHECK:STDOUT: name_binding_decl {
|
|
|
|
|
// CHECK:STDOUT: %c.patt: %pattern_type.688 = binding_pattern c [concrete]
|
|
|
|
|
// CHECK:STDOUT: %c.patt: %pattern_type.688 = ref_binding_pattern c [concrete]
|
|
|
|
|
// CHECK:STDOUT: %c.var_patt: %pattern_type.688 = var_pattern %c.patt [concrete]
|
|
|
|
|
// CHECK:STDOUT: }
|
|
|
|
|
// CHECK:STDOUT: %c.var: ref %struct_type.c = var %c.var_patt [concrete]
|
|
|
|
@@ -781,9 +781,9 @@ import library "extern_api";
|
|
|
|
|
// CHECK:STDOUT: %i32.loc54: 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: }
|
|
|
|
|
// CHECK:STDOUT: %c: ref %struct_type.c = bind_name c, %c.var [concrete = %c.var]
|
|
|
|
|
// CHECK:STDOUT: %c: ref %struct_type.c = ref_binding c, %c.var [concrete = %c.var]
|
|
|
|
|
// CHECK:STDOUT: name_binding_decl {
|
|
|
|
|
// CHECK:STDOUT: %d.patt: %pattern_type.cb1 = binding_pattern d [concrete]
|
|
|
|
|
// CHECK:STDOUT: %d.patt: %pattern_type.cb1 = ref_binding_pattern d [concrete]
|
|
|
|
|
// CHECK:STDOUT: %d.var_patt: %pattern_type.cb1 = var_pattern %d.patt [concrete]
|
|
|
|
|
// CHECK:STDOUT: }
|
|
|
|
|
// CHECK:STDOUT: %d.var: ref %empty_tuple.type = var %d.var_patt [concrete]
|
|
|
|
@@ -791,9 +791,9 @@ import library "extern_api";
|
|
|
|
|
// CHECK:STDOUT: %.loc55_9.2: %empty_tuple.type = tuple_literal ()
|
|
|
|
|
// CHECK:STDOUT: %.loc55_9.3: type = converted %.loc55_9.2, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type]
|
|
|
|
|
// CHECK:STDOUT: }
|
|
|
|
|
// CHECK:STDOUT: %d: ref %empty_tuple.type = bind_name d, %d.var [concrete = %d.var]
|
|
|
|
|
// CHECK:STDOUT: %d: ref %empty_tuple.type = ref_binding d, %d.var [concrete = %d.var]
|
|
|
|
|
// CHECK:STDOUT: name_binding_decl {
|
|
|
|
|
// CHECK:STDOUT: %e.patt: %pattern_type.cb1 = binding_pattern e [concrete]
|
|
|
|
|
// CHECK:STDOUT: %e.patt: %pattern_type.cb1 = ref_binding_pattern e [concrete]
|
|
|
|
|
// CHECK:STDOUT: %e.var_patt: %pattern_type.cb1 = var_pattern %e.patt [concrete]
|
|
|
|
|
// CHECK:STDOUT: }
|
|
|
|
|
// CHECK:STDOUT: %e.var: ref %empty_tuple.type = var %e.var_patt [concrete]
|
|
|
|
@@ -801,7 +801,7 @@ import library "extern_api";
|
|
|
|
|
// CHECK:STDOUT: %.loc56_9.2: %empty_tuple.type = tuple_literal ()
|
|
|
|
|
// CHECK:STDOUT: %.loc56_9.3: type = converted %.loc56_9.2, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type]
|
|
|
|
|
// CHECK:STDOUT: }
|
|
|
|
|
// CHECK:STDOUT: %e: ref %empty_tuple.type = bind_name e, %e.var [concrete = %e.var]
|
|
|
|
|
// CHECK:STDOUT: %e: ref %empty_tuple.type = ref_binding e, %e.var [concrete = %e.var]
|
|
|
|
|
// CHECK:STDOUT: }
|
|
|
|
|
// CHECK:STDOUT:
|
|
|
|
|
// CHECK:STDOUT: fn @A [from "api.carbon"];
|
|
|
|
@@ -941,7 +941,7 @@ import library "extern_api";
|
|
|
|
|
// CHECK:STDOUT: %int_32.loc7_16: Core.IntLiteral = int_value 32 [concrete = constants.%int_32]
|
|
|
|
|
// CHECK:STDOUT: %i32.loc7_16: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32]
|
|
|
|
|
// CHECK:STDOUT: }
|
|
|
|
|
// CHECK:STDOUT: %b: %i32 = bind_name b, %b.param
|
|
|
|
|
// CHECK:STDOUT: %b: %i32 = value_binding b, %b.param
|
|
|
|
|
// CHECK:STDOUT: %return.param: ref %i32 = out_param call_param1
|
|
|
|
|
// CHECK:STDOUT: %return: ref %i32 = return_slot %return.param
|
|
|
|
|
// CHECK:STDOUT: }
|
|
|
|
@@ -956,14 +956,14 @@ import library "extern_api";
|
|
|
|
|
// CHECK:STDOUT: %.loc8_21.2: %tuple.type.85c = tuple_literal (%i32.loc8_17)
|
|
|
|
|
// CHECK:STDOUT: %.loc8_21.3: type = converted %.loc8_21.2, constants.%tuple.type.dd4 [concrete = constants.%tuple.type.dd4]
|
|
|
|
|
// CHECK:STDOUT: }
|
|
|
|
|
// CHECK:STDOUT: %c: %tuple.type.dd4 = bind_name c, %c.param
|
|
|
|
|
// CHECK:STDOUT: %c: %tuple.type.dd4 = value_binding c, %c.param
|
|
|
|
|
// CHECK:STDOUT: %return.param: ref %struct_type.c = out_param call_param1
|
|
|
|
|
// CHECK:STDOUT: %return: ref %struct_type.c = return_slot %return.param
|
|
|
|
|
// CHECK:STDOUT: }
|
|
|
|
|
// CHECK:STDOUT: %D.decl: %D.type = fn_decl @D [concrete = constants.%D] {} {}
|
|
|
|
|
// CHECK:STDOUT: %E.decl: %E.type = fn_decl @E [concrete = constants.%E] {} {}
|
|
|
|
|
// CHECK:STDOUT: name_binding_decl {
|
|
|
|
|
// CHECK:STDOUT: %a.patt: %pattern_type.cb1 = binding_pattern a [concrete]
|
|
|
|
|
// CHECK:STDOUT: %a.patt: %pattern_type.cb1 = ref_binding_pattern a [concrete]
|
|
|
|
|
// CHECK:STDOUT: %a.var_patt: %pattern_type.cb1 = var_pattern %a.patt [concrete]
|
|
|
|
|
// CHECK:STDOUT: }
|
|
|
|
|
// CHECK:STDOUT: %a.var: ref %empty_tuple.type = var %a.var_patt [concrete]
|
|
|
|
@@ -971,9 +971,9 @@ import library "extern_api";
|
|
|
|
|
// CHECK:STDOUT: %.loc12_9.2: %empty_tuple.type = tuple_literal ()
|
|
|
|
|
// CHECK:STDOUT: %.loc12_9.3: type = converted %.loc12_9.2, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type]
|
|
|
|
|
// CHECK:STDOUT: }
|
|
|
|
|
// CHECK:STDOUT: %a: ref %empty_tuple.type = bind_name a, %a.var [concrete = %a.var]
|
|
|
|
|
// CHECK:STDOUT: %a: ref %empty_tuple.type = ref_binding a, %a.var [concrete = %a.var]
|
|
|
|
|
// CHECK:STDOUT: name_binding_decl {
|
|
|
|
|
// CHECK:STDOUT: %b.patt: %pattern_type.501 = binding_pattern b [concrete]
|
|
|
|
|
// CHECK:STDOUT: %b.patt: %pattern_type.501 = ref_binding_pattern b [concrete]
|
|
|
|
|
// CHECK:STDOUT: %b.var_patt: %pattern_type.501 = var_pattern %b.patt [concrete]
|
|
|
|
|
// CHECK:STDOUT: }
|
|
|
|
|
// CHECK:STDOUT: %b.var: ref %i32 = var %b.var_patt [concrete]
|
|
|
|
@@ -981,9 +981,9 @@ import library "extern_api";
|
|
|
|
|
// 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: }
|
|
|
|
|
// CHECK:STDOUT: %b: ref %i32 = bind_name b, %b.var [concrete = %b.var]
|
|
|
|
|
// CHECK:STDOUT: %b: ref %i32 = ref_binding b, %b.var [concrete = %b.var]
|
|
|
|
|
// CHECK:STDOUT: name_binding_decl {
|
|
|
|
|
// CHECK:STDOUT: %c.patt: %pattern_type.f5f = binding_pattern c [concrete]
|
|
|
|
|
// CHECK:STDOUT: %c.patt: %pattern_type.f5f = ref_binding_pattern c [concrete]
|
|
|
|
|
// CHECK:STDOUT: %c.var_patt: %pattern_type.f5f = var_pattern %c.patt [concrete]
|
|
|
|
|
// CHECK:STDOUT: }
|
|
|
|
|
// CHECK:STDOUT: %c.var: ref %struct_type.c = var %c.var_patt [concrete]
|
|
|
|
@@ -992,9 +992,9 @@ import library "extern_api";
|
|
|
|
|
// CHECK:STDOUT: %i32.loc14: 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: }
|
|
|
|
|
// CHECK:STDOUT: %c: ref %struct_type.c = bind_name c, %c.var [concrete = %c.var]
|
|
|
|
|
// CHECK:STDOUT: %c: ref %struct_type.c = ref_binding c, %c.var [concrete = %c.var]
|
|
|
|
|
// CHECK:STDOUT: name_binding_decl {
|
|
|
|
|
// CHECK:STDOUT: %d.patt: %pattern_type.cb1 = binding_pattern d [concrete]
|
|
|
|
|
// CHECK:STDOUT: %d.patt: %pattern_type.cb1 = ref_binding_pattern d [concrete]
|
|
|
|
|
// CHECK:STDOUT: %d.var_patt: %pattern_type.cb1 = var_pattern %d.patt [concrete]
|
|
|
|
|
// CHECK:STDOUT: }
|
|
|
|
|
// CHECK:STDOUT: %d.var: ref %empty_tuple.type = var %d.var_patt [concrete]
|
|
|
|
@@ -1002,9 +1002,9 @@ import library "extern_api";
|
|
|
|
|
// CHECK:STDOUT: %.loc15_9.2: %empty_tuple.type = tuple_literal ()
|
|
|
|
|
// CHECK:STDOUT: %.loc15_9.3: type = converted %.loc15_9.2, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type]
|
|
|
|
|
// CHECK:STDOUT: }
|
|
|
|
|
// CHECK:STDOUT: %d: ref %empty_tuple.type = bind_name d, %d.var [concrete = %d.var]
|
|
|
|
|
// CHECK:STDOUT: %d: ref %empty_tuple.type = ref_binding d, %d.var [concrete = %d.var]
|
|
|
|
|
// CHECK:STDOUT: name_binding_decl {
|
|
|
|
|
// CHECK:STDOUT: %e.patt: %pattern_type.cb1 = binding_pattern e [concrete]
|
|
|
|
|
// CHECK:STDOUT: %e.patt: %pattern_type.cb1 = ref_binding_pattern e [concrete]
|
|
|
|
|
// CHECK:STDOUT: %e.var_patt: %pattern_type.cb1 = var_pattern %e.patt [concrete]
|
|
|
|
|
// CHECK:STDOUT: }
|
|
|
|
|
// CHECK:STDOUT: %e.var: ref %empty_tuple.type = var %e.var_patt [concrete]
|
|
|
|
@@ -1012,7 +1012,7 @@ import library "extern_api";
|
|
|
|
|
// CHECK:STDOUT: %.loc16_9.2: %empty_tuple.type = tuple_literal ()
|
|
|
|
|
// CHECK:STDOUT: %.loc16_9.3: type = converted %.loc16_9.2, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type]
|
|
|
|
|
// CHECK:STDOUT: }
|
|
|
|
|
// CHECK:STDOUT: %e: ref %empty_tuple.type = bind_name e, %e.var [concrete = %e.var]
|
|
|
|
|
// CHECK:STDOUT: %e: ref %empty_tuple.type = ref_binding e, %e.var [concrete = %e.var]
|
|
|
|
|
// CHECK:STDOUT: }
|
|
|
|
|
// CHECK:STDOUT:
|
|
|
|
|
// CHECK:STDOUT: extern fn @A;
|
|
|
|
@@ -1148,7 +1148,7 @@ import library "extern_api";
|
|
|
|
|
// CHECK:STDOUT: %Core.import = import Core
|
|
|
|
|
// CHECK:STDOUT: %default.import = import <none>
|
|
|
|
|
// CHECK:STDOUT: name_binding_decl {
|
|
|
|
|
// CHECK:STDOUT: %a.patt: %pattern_type.cb1 = binding_pattern a [concrete]
|
|
|
|
|
// CHECK:STDOUT: %a.patt: %pattern_type.cb1 = ref_binding_pattern a [concrete]
|
|
|
|
|
// CHECK:STDOUT: %a.var_patt: %pattern_type.cb1 = var_pattern %a.patt [concrete]
|
|
|
|
|
// CHECK:STDOUT: }
|
|
|
|
|
// CHECK:STDOUT: %a.var: ref %empty_tuple.type = var %a.var_patt [concrete]
|
|
|
|
@@ -1156,9 +1156,9 @@ import library "extern_api";
|
|
|
|
|
// CHECK:STDOUT: %.loc52_9.2: %empty_tuple.type = tuple_literal ()
|
|
|
|
|
// CHECK:STDOUT: %.loc52_9.3: type = converted %.loc52_9.2, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type]
|
|
|
|
|
// CHECK:STDOUT: }
|
|
|
|
|
// CHECK:STDOUT: %a: ref %empty_tuple.type = bind_name a, %a.var [concrete = %a.var]
|
|
|
|
|
// CHECK:STDOUT: %a: ref %empty_tuple.type = ref_binding a, %a.var [concrete = %a.var]
|
|
|
|
|
// CHECK:STDOUT: name_binding_decl {
|
|
|
|
|
// CHECK:STDOUT: %b.patt: %pattern_type.7ce = binding_pattern b [concrete]
|
|
|
|
|
// CHECK:STDOUT: %b.patt: %pattern_type.7ce = ref_binding_pattern b [concrete]
|
|
|
|
|
// CHECK:STDOUT: %b.var_patt: %pattern_type.7ce = var_pattern %b.patt [concrete]
|
|
|
|
|
// CHECK:STDOUT: }
|
|
|
|
|
// CHECK:STDOUT: %b.var: ref %i32 = var %b.var_patt [concrete]
|
|
|
|
@@ -1166,9 +1166,9 @@ import library "extern_api";
|
|
|
|
|
// CHECK:STDOUT: %int_32.loc53: Core.IntLiteral = int_value 32 [concrete = constants.%int_32]
|
|
|
|
|
// CHECK:STDOUT: %i32.loc53: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32]
|
|
|
|
|
// CHECK:STDOUT: }
|
|
|
|
|
// CHECK:STDOUT: %b: ref %i32 = bind_name b, %b.var [concrete = %b.var]
|
|
|
|
|
// CHECK:STDOUT: %b: ref %i32 = ref_binding b, %b.var [concrete = %b.var]
|
|
|
|
|
// CHECK:STDOUT: name_binding_decl {
|
|
|
|
|
// CHECK:STDOUT: %c.patt: %pattern_type.688 = binding_pattern c [concrete]
|
|
|
|
|
// CHECK:STDOUT: %c.patt: %pattern_type.688 = ref_binding_pattern c [concrete]
|
|
|
|
|
// CHECK:STDOUT: %c.var_patt: %pattern_type.688 = var_pattern %c.patt [concrete]
|
|
|
|
|
// CHECK:STDOUT: }
|
|
|
|
|
// CHECK:STDOUT: %c.var: ref %struct_type.c = var %c.var_patt [concrete]
|
|
|
|
@@ -1177,9 +1177,9 @@ import library "extern_api";
|
|
|
|
|
// CHECK:STDOUT: %i32.loc54: 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: }
|
|
|
|
|
// CHECK:STDOUT: %c: ref %struct_type.c = bind_name c, %c.var [concrete = %c.var]
|
|
|
|
|
// CHECK:STDOUT: %c: ref %struct_type.c = ref_binding c, %c.var [concrete = %c.var]
|
|
|
|
|
// CHECK:STDOUT: name_binding_decl {
|
|
|
|
|
// CHECK:STDOUT: %d.patt: %pattern_type.cb1 = binding_pattern d [concrete]
|
|
|
|
|
// CHECK:STDOUT: %d.patt: %pattern_type.cb1 = ref_binding_pattern d [concrete]
|
|
|
|
|
// CHECK:STDOUT: %d.var_patt: %pattern_type.cb1 = var_pattern %d.patt [concrete]
|
|
|
|
|
// CHECK:STDOUT: }
|
|
|
|
|
// CHECK:STDOUT: %d.var: ref %empty_tuple.type = var %d.var_patt [concrete]
|
|
|
|
@@ -1187,9 +1187,9 @@ import library "extern_api";
|
|
|
|
|
// CHECK:STDOUT: %.loc55_9.2: %empty_tuple.type = tuple_literal ()
|
|
|
|
|
// CHECK:STDOUT: %.loc55_9.3: type = converted %.loc55_9.2, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type]
|
|
|
|
|
// CHECK:STDOUT: }
|
|
|
|
|
// CHECK:STDOUT: %d: ref %empty_tuple.type = bind_name d, %d.var [concrete = %d.var]
|
|
|
|
|
// CHECK:STDOUT: %d: ref %empty_tuple.type = ref_binding d, %d.var [concrete = %d.var]
|
|
|
|
|
// CHECK:STDOUT: name_binding_decl {
|
|
|
|
|
// CHECK:STDOUT: %e.patt: %pattern_type.cb1 = binding_pattern e [concrete]
|
|
|
|
|
// CHECK:STDOUT: %e.patt: %pattern_type.cb1 = ref_binding_pattern e [concrete]
|
|
|
|
|
// CHECK:STDOUT: %e.var_patt: %pattern_type.cb1 = var_pattern %e.patt [concrete]
|
|
|
|
|
// CHECK:STDOUT: }
|
|
|
|
|
// CHECK:STDOUT: %e.var: ref %empty_tuple.type = var %e.var_patt [concrete]
|
|
|
|
@@ -1197,7 +1197,7 @@ import library "extern_api";
|
|
|
|
|
// CHECK:STDOUT: %.loc56_9.2: %empty_tuple.type = tuple_literal ()
|
|
|
|
|
// CHECK:STDOUT: %.loc56_9.3: type = converted %.loc56_9.2, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type]
|
|
|
|
|
// CHECK:STDOUT: }
|
|
|
|
|
// CHECK:STDOUT: %e: ref %empty_tuple.type = bind_name e, %e.var [concrete = %e.var]
|
|
|
|
|
// CHECK:STDOUT: %e: ref %empty_tuple.type = ref_binding e, %e.var [concrete = %e.var]
|
|
|
|
|
// CHECK:STDOUT: }
|
|
|
|
|
// CHECK:STDOUT:
|
|
|
|
|
// CHECK:STDOUT: fn @A [from "api.carbon"];
|
|
|
|
@@ -1333,7 +1333,7 @@ import library "extern_api";
|
|
|
|
|
// CHECK:STDOUT: %Core.import = import Core
|
|
|
|
|
// CHECK:STDOUT: %default.import = import <none>
|
|
|
|
|
// CHECK:STDOUT: name_binding_decl {
|
|
|
|
|
// CHECK:STDOUT: %a.patt: %pattern_type.cb1 = binding_pattern a [concrete]
|
|
|
|
|
// CHECK:STDOUT: %a.patt: %pattern_type.cb1 = ref_binding_pattern a [concrete]
|
|
|
|
|
// CHECK:STDOUT: %a.var_patt: %pattern_type.cb1 = var_pattern %a.patt [concrete]
|
|
|
|
|
// CHECK:STDOUT: }
|
|
|
|
|
// CHECK:STDOUT: %a.var: ref %empty_tuple.type = var %a.var_patt [concrete]
|
|
|
|
@@ -1341,9 +1341,9 @@ import library "extern_api";
|
|
|
|
|
// CHECK:STDOUT: %.loc52_9.2: %empty_tuple.type = tuple_literal ()
|
|
|
|
|
// CHECK:STDOUT: %.loc52_9.3: type = converted %.loc52_9.2, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type]
|
|
|
|
|
// CHECK:STDOUT: }
|
|
|
|
|
// CHECK:STDOUT: %a: ref %empty_tuple.type = bind_name a, %a.var [concrete = %a.var]
|
|
|
|
|
// CHECK:STDOUT: %a: ref %empty_tuple.type = ref_binding a, %a.var [concrete = %a.var]
|
|
|
|
|
// CHECK:STDOUT: name_binding_decl {
|
|
|
|
|
// CHECK:STDOUT: %b.patt: %pattern_type.7ce = binding_pattern b [concrete]
|
|
|
|
|
// CHECK:STDOUT: %b.patt: %pattern_type.7ce = ref_binding_pattern b [concrete]
|
|
|
|
|
// CHECK:STDOUT: %b.var_patt: %pattern_type.7ce = var_pattern %b.patt [concrete]
|
|
|
|
|
// CHECK:STDOUT: }
|
|
|
|
|
// CHECK:STDOUT: %b.var: ref %i32 = var %b.var_patt [concrete]
|
|
|
|
@@ -1351,9 +1351,9 @@ import library "extern_api";
|
|
|
|
|
// CHECK:STDOUT: %int_32.loc53: Core.IntLiteral = int_value 32 [concrete = constants.%int_32]
|
|
|
|
|
// CHECK:STDOUT: %i32.loc53: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32]
|
|
|
|
|
// CHECK:STDOUT: }
|
|
|
|
|
// CHECK:STDOUT: %b: ref %i32 = bind_name b, %b.var [concrete = %b.var]
|
|
|
|
|
// CHECK:STDOUT: %b: ref %i32 = ref_binding b, %b.var [concrete = %b.var]
|
|
|
|
|
// CHECK:STDOUT: name_binding_decl {
|
|
|
|
|
// CHECK:STDOUT: %c.patt: %pattern_type.688 = binding_pattern c [concrete]
|
|
|
|
|
// CHECK:STDOUT: %c.patt: %pattern_type.688 = ref_binding_pattern c [concrete]
|
|
|
|
|
// CHECK:STDOUT: %c.var_patt: %pattern_type.688 = var_pattern %c.patt [concrete]
|
|
|
|
|
// CHECK:STDOUT: }
|
|
|
|
|
// CHECK:STDOUT: %c.var: ref %struct_type.c = var %c.var_patt [concrete]
|
|
|
|
@@ -1362,9 +1362,9 @@ import library "extern_api";
|
|
|
|
|
// CHECK:STDOUT: %i32.loc54: 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: }
|
|
|
|
|
// CHECK:STDOUT: %c: ref %struct_type.c = bind_name c, %c.var [concrete = %c.var]
|
|
|
|
|
// CHECK:STDOUT: %c: ref %struct_type.c = ref_binding c, %c.var [concrete = %c.var]
|
|
|
|
|
// CHECK:STDOUT: name_binding_decl {
|
|
|
|
|
// CHECK:STDOUT: %d.patt: %pattern_type.cb1 = binding_pattern d [concrete]
|
|
|
|
|
// CHECK:STDOUT: %d.patt: %pattern_type.cb1 = ref_binding_pattern d [concrete]
|
|
|
|
|
// CHECK:STDOUT: %d.var_patt: %pattern_type.cb1 = var_pattern %d.patt [concrete]
|
|
|
|
|
// CHECK:STDOUT: }
|
|
|
|
|
// CHECK:STDOUT: %d.var: ref %empty_tuple.type = var %d.var_patt [concrete]
|
|
|
|
@@ -1372,9 +1372,9 @@ import library "extern_api";
|
|
|
|
|
// CHECK:STDOUT: %.loc55_9.2: %empty_tuple.type = tuple_literal ()
|
|
|
|
|
// CHECK:STDOUT: %.loc55_9.3: type = converted %.loc55_9.2, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type]
|
|
|
|
|
// CHECK:STDOUT: }
|
|
|
|
|
// CHECK:STDOUT: %d: ref %empty_tuple.type = bind_name d, %d.var [concrete = %d.var]
|
|
|
|
|
// CHECK:STDOUT: %d: ref %empty_tuple.type = ref_binding d, %d.var [concrete = %d.var]
|
|
|
|
|
// CHECK:STDOUT: name_binding_decl {
|
|
|
|
|
// CHECK:STDOUT: %e.patt: %pattern_type.cb1 = binding_pattern e [concrete]
|
|
|
|
|
// CHECK:STDOUT: %e.patt: %pattern_type.cb1 = ref_binding_pattern e [concrete]
|
|
|
|
|
// CHECK:STDOUT: %e.var_patt: %pattern_type.cb1 = var_pattern %e.patt [concrete]
|
|
|
|
|
// CHECK:STDOUT: }
|
|
|
|
|
// CHECK:STDOUT: %e.var: ref %empty_tuple.type = var %e.var_patt [concrete]
|
|
|
|
@@ -1382,7 +1382,7 @@ import library "extern_api";
|
|
|
|
|
// CHECK:STDOUT: %.loc56_9.2: %empty_tuple.type = tuple_literal ()
|
|
|
|
|
// CHECK:STDOUT: %.loc56_9.3: type = converted %.loc56_9.2, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type]
|
|
|
|
|
// CHECK:STDOUT: }
|
|
|
|
|
// CHECK:STDOUT: %e: ref %empty_tuple.type = bind_name e, %e.var [concrete = %e.var]
|
|
|
|
|
// CHECK:STDOUT: %e: ref %empty_tuple.type = ref_binding e, %e.var [concrete = %e.var]
|
|
|
|
|
// CHECK:STDOUT: }
|
|
|
|
|
// CHECK:STDOUT:
|
|
|
|
|
// CHECK:STDOUT: extern fn @A;
|
|
|
|
|