|
|
@@ -2,6 +2,7 @@
|
|
|
// Exceptions. See /LICENSE for license information.
|
|
|
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
|
|
//
|
|
|
+// INCLUDE-FILE: toolchain/testing/testdata/min_prelude/primitives.carbon
|
|
|
// TODO: Add ranges and switch to "--dump-sem-ir-ranges=only".
|
|
|
// EXTRA-ARGS: --dump-sem-ir-ranges=if-present
|
|
|
//
|
|
|
@@ -46,25 +47,25 @@ fn EnclosingButAfter(b: bool) -> i32 {
|
|
|
// CHECK:STDOUT: %ImplicitAs.generic: %ImplicitAs.type.cc7 = struct_value () [concrete]
|
|
|
// CHECK:STDOUT: %ImplicitAs.type.205: type = facet_type <@ImplicitAs, @ImplicitAs(%i32)> [concrete]
|
|
|
// CHECK:STDOUT: %Convert.type.1b6: type = fn_type @Convert.1, @ImplicitAs(%i32) [concrete]
|
|
|
-// CHECK:STDOUT: %To.c80: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic]
|
|
|
-// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.3, @impl.4f9(%To.c80) [symbolic]
|
|
|
+// CHECK:STDOUT: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic]
|
|
|
+// CHECK:STDOUT: %Convert.type.0f9: type = fn_type @Convert.2, @impl.4f9(%To) [symbolic]
|
|
|
// CHECK:STDOUT: %Convert.f06: %Convert.type.0f9 = struct_value () [symbolic]
|
|
|
-// CHECK:STDOUT: %pattern_type.831: type = pattern_type bool [concrete]
|
|
|
-// CHECK:STDOUT: %int_1.5b8: Core.IntLiteral = int_value 1 [concrete]
|
|
|
// CHECK:STDOUT: %ImplicitAs.impl_witness.c75: <witness> = impl_witness imports.%ImplicitAs.impl_witness_table.a2f, @impl.4f9(%int_32) [concrete]
|
|
|
-// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.3, @impl.4f9(%int_32) [concrete]
|
|
|
+// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @impl.4f9(%int_32) [concrete]
|
|
|
// CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [concrete]
|
|
|
-// CHECK:STDOUT: %ImplicitAs.facet.921: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete]
|
|
|
-// CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet.921 [concrete]
|
|
|
+// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.205 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.c75) [concrete]
|
|
|
+// CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %Convert.type.1b6, %ImplicitAs.facet [concrete]
|
|
|
// CHECK:STDOUT: %Convert.bound.d04: <bound method> = bound_method %int_0.5c6, %Convert.956 [concrete]
|
|
|
-// CHECK:STDOUT: %Convert.specific_fn: <specific function> = specific_function %Convert.956, @Convert.3(%int_32) [concrete]
|
|
|
+// CHECK:STDOUT: %Convert.specific_fn: <specific function> = specific_function %Convert.956, @Convert.2(%int_32) [concrete]
|
|
|
// CHECK:STDOUT: %bound_method.b6e: <bound method> = bound_method %int_0.5c6, %Convert.specific_fn [concrete]
|
|
|
// CHECK:STDOUT: %int_0.6a9: %i32 = int_value 0 [concrete]
|
|
|
+// CHECK:STDOUT: %int_1.5b8: Core.IntLiteral = int_value 1 [concrete]
|
|
|
// CHECK:STDOUT: %Convert.bound.ab5: <bound method> = bound_method %int_1.5b8, %Convert.956 [concrete]
|
|
|
// CHECK:STDOUT: %bound_method.9a1: <bound method> = bound_method %int_1.5b8, %Convert.specific_fn [concrete]
|
|
|
// CHECK:STDOUT: %int_1.5d2: %i32 = int_value 1 [concrete]
|
|
|
// CHECK:STDOUT: %Bool.type: type = fn_type @Bool [concrete]
|
|
|
// CHECK:STDOUT: %Bool: %Bool.type = struct_value () [concrete]
|
|
|
+// CHECK:STDOUT: %pattern_type.831: type = pattern_type bool [concrete]
|
|
|
// CHECK:STDOUT: %EnclosingButAfter.type: type = fn_type @EnclosingButAfter [concrete]
|
|
|
// CHECK:STDOUT: %EnclosingButAfter: %EnclosingButAfter.type = struct_value () [concrete]
|
|
|
// CHECK:STDOUT: }
|
|
|
@@ -77,11 +78,11 @@ fn EnclosingButAfter(b: bool) -> i32 {
|
|
|
// CHECK:STDOUT: import Core//prelude
|
|
|
// CHECK:STDOUT: import Core//prelude/...
|
|
|
// CHECK:STDOUT: }
|
|
|
-// CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/types/int, Int, loaded [concrete = constants.%Int.generic]
|
|
|
-// CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.cc7 = import_ref Core//prelude/operators/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic]
|
|
|
-// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/types/int, loc19_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)]
|
|
|
+// CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic]
|
|
|
+// CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.cc7 = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic]
|
|
|
+// CHECK:STDOUT: %Core.import_ref.a5b: @impl.4f9.%Convert.type (%Convert.type.0f9) = import_ref Core//prelude/parts/int, loc16_39, loaded [symbolic = @impl.4f9.%Convert (constants.%Convert.f06)]
|
|
|
// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a2f = impl_witness_table (%Core.import_ref.a5b), @impl.4f9 [concrete]
|
|
|
-// CHECK:STDOUT: %Core.Bool: %Bool.type = import_ref Core//prelude/types/bool, Bool, loaded [concrete = constants.%Bool]
|
|
|
+// CHECK:STDOUT: %Core.Bool: %Bool.type = import_ref Core//prelude/parts/bool, Bool, loaded [concrete = constants.%Bool]
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: file {
|
|
|
@@ -95,8 +96,8 @@ fn EnclosingButAfter(b: bool) -> i32 {
|
|
|
// 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_param0 [concrete]
|
|
|
// CHECK:STDOUT: } {
|
|
|
-// CHECK:STDOUT: %int_32.loc14: Core.IntLiteral = int_value 32 [concrete = constants.%int_32]
|
|
|
-// CHECK:STDOUT: %i32.loc14: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32]
|
|
|
+// CHECK:STDOUT: %int_32.loc15: Core.IntLiteral = int_value 32 [concrete = constants.%int_32]
|
|
|
+// CHECK:STDOUT: %i32.loc15: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32]
|
|
|
// CHECK:STDOUT: %return.param: ref %i32 = out_param call_param0
|
|
|
// CHECK:STDOUT: %return: ref %i32 = return_slot %return.param
|
|
|
// CHECK:STDOUT: }
|
|
|
@@ -106,13 +107,13 @@ fn EnclosingButAfter(b: bool) -> i32 {
|
|
|
// 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]
|
|
|
// CHECK:STDOUT: } {
|
|
|
-// CHECK:STDOUT: %int_32.loc24: Core.IntLiteral = int_value 32 [concrete = constants.%int_32]
|
|
|
-// CHECK:STDOUT: %i32.loc24: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32]
|
|
|
+// CHECK:STDOUT: %int_32.loc25: Core.IntLiteral = int_value 32 [concrete = constants.%int_32]
|
|
|
+// CHECK:STDOUT: %i32.loc25: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32]
|
|
|
// CHECK:STDOUT: %b.param: bool = value_param call_param0
|
|
|
-// CHECK:STDOUT: %.loc24_25.1: type = splice_block %.loc24_25.3 [concrete = bool] {
|
|
|
+// CHECK:STDOUT: %.loc25_25.1: type = splice_block %.loc25_25.3 [concrete = bool] {
|
|
|
// CHECK:STDOUT: %bool.make_type: init type = call constants.%Bool() [concrete = bool]
|
|
|
-// CHECK:STDOUT: %.loc24_25.2: type = value_of_initializer %bool.make_type [concrete = bool]
|
|
|
-// CHECK:STDOUT: %.loc24_25.3: type = converted %bool.make_type, %.loc24_25.2 [concrete = bool]
|
|
|
+// CHECK:STDOUT: %.loc25_25.2: type = value_of_initializer %bool.make_type [concrete = bool]
|
|
|
+// CHECK:STDOUT: %.loc25_25.3: type = converted %bool.make_type, %.loc25_25.2 [concrete = bool]
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT: %b: bool = bind_name b, %b.param
|
|
|
// CHECK:STDOUT: %return.param: ref %i32 = out_param call_param1
|
|
|
@@ -122,65 +123,65 @@ fn EnclosingButAfter(b: bool) -> i32 {
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: fn @UnrelatedScopes() -> %i32 {
|
|
|
// CHECK:STDOUT: !entry:
|
|
|
-// CHECK:STDOUT: %true.loc15: bool = bool_literal true [concrete = constants.%true]
|
|
|
-// CHECK:STDOUT: if %true.loc15 br !if.then.loc15 else br !if.else.loc15
|
|
|
+// CHECK:STDOUT: %true.loc16: bool = bool_literal true [concrete = constants.%true]
|
|
|
+// CHECK:STDOUT: if %true.loc16 br !if.then.loc16 else br !if.else.loc16
|
|
|
// CHECK:STDOUT:
|
|
|
-// CHECK:STDOUT: !if.then.loc15:
|
|
|
+// CHECK:STDOUT: !if.then.loc16:
|
|
|
// CHECK:STDOUT: name_binding_decl {
|
|
|
// CHECK:STDOUT: %v.patt: %pattern_type.7ce = binding_pattern v [concrete]
|
|
|
// CHECK:STDOUT: %v.var_patt: %pattern_type.7ce = var_pattern %v.patt [concrete]
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT: %v.var: ref %i32 = var %v.var_patt
|
|
|
-// CHECK:STDOUT: %int_0.loc16: Core.IntLiteral = int_value 0 [concrete = constants.%int_0.5c6]
|
|
|
-// CHECK:STDOUT: %impl.elem0.loc16: %.9c3 = impl_witness_access constants.%ImplicitAs.impl_witness.c75, element0 [concrete = constants.%Convert.956]
|
|
|
-// CHECK:STDOUT: %bound_method.loc16_14.1: <bound method> = bound_method %int_0.loc16, %impl.elem0.loc16 [concrete = constants.%Convert.bound.d04]
|
|
|
-// CHECK:STDOUT: %specific_fn.loc16: <specific function> = specific_function %impl.elem0.loc16, @Convert.3(constants.%int_32) [concrete = constants.%Convert.specific_fn]
|
|
|
-// CHECK:STDOUT: %bound_method.loc16_14.2: <bound method> = bound_method %int_0.loc16, %specific_fn.loc16 [concrete = constants.%bound_method.b6e]
|
|
|
-// CHECK:STDOUT: %int.convert_checked.loc16: init %i32 = call %bound_method.loc16_14.2(%int_0.loc16) [concrete = constants.%int_0.6a9]
|
|
|
-// CHECK:STDOUT: %.loc16_14: init %i32 = converted %int_0.loc16, %int.convert_checked.loc16 [concrete = constants.%int_0.6a9]
|
|
|
-// CHECK:STDOUT: assign %v.var, %.loc16_14
|
|
|
-// CHECK:STDOUT: %.loc16_21: type = splice_block %i32.loc16 [concrete = constants.%i32] {
|
|
|
-// CHECK:STDOUT: %int_32.loc16: Core.IntLiteral = int_value 32 [concrete = constants.%int_32]
|
|
|
-// CHECK:STDOUT: %i32.loc16: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32]
|
|
|
+// CHECK:STDOUT: %int_0.loc17: Core.IntLiteral = int_value 0 [concrete = constants.%int_0.5c6]
|
|
|
+// CHECK:STDOUT: %impl.elem0.loc17: %.9c3 = impl_witness_access constants.%ImplicitAs.impl_witness.c75, element0 [concrete = constants.%Convert.956]
|
|
|
+// CHECK:STDOUT: %bound_method.loc17_14.1: <bound method> = bound_method %int_0.loc17, %impl.elem0.loc17 [concrete = constants.%Convert.bound.d04]
|
|
|
+// CHECK:STDOUT: %specific_fn.loc17: <specific function> = specific_function %impl.elem0.loc17, @Convert.2(constants.%int_32) [concrete = constants.%Convert.specific_fn]
|
|
|
+// CHECK:STDOUT: %bound_method.loc17_14.2: <bound method> = bound_method %int_0.loc17, %specific_fn.loc17 [concrete = constants.%bound_method.b6e]
|
|
|
+// CHECK:STDOUT: %int.convert_checked.loc17: init %i32 = call %bound_method.loc17_14.2(%int_0.loc17) [concrete = constants.%int_0.6a9]
|
|
|
+// CHECK:STDOUT: %.loc17_14: init %i32 = converted %int_0.loc17, %int.convert_checked.loc17 [concrete = constants.%int_0.6a9]
|
|
|
+// CHECK:STDOUT: assign %v.var, %.loc17_14
|
|
|
+// CHECK:STDOUT: %.loc17_21: type = splice_block %i32.loc17 [concrete = constants.%i32] {
|
|
|
+// CHECK:STDOUT: %int_32.loc17: Core.IntLiteral = int_value 32 [concrete = constants.%int_32]
|
|
|
+// CHECK:STDOUT: %i32.loc17: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32]
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT: %v: ref %i32 = bind_name v, %v.var
|
|
|
-// CHECK:STDOUT: br !if.else.loc15
|
|
|
+// CHECK:STDOUT: br !if.else.loc16
|
|
|
// CHECK:STDOUT:
|
|
|
-// CHECK:STDOUT: !if.else.loc15:
|
|
|
-// CHECK:STDOUT: %true.loc18: bool = bool_literal true [concrete = constants.%true]
|
|
|
-// CHECK:STDOUT: if %true.loc18 br !if.then.loc18 else br !if.else.loc18
|
|
|
+// CHECK:STDOUT: !if.else.loc16:
|
|
|
+// CHECK:STDOUT: %true.loc19: bool = bool_literal true [concrete = constants.%true]
|
|
|
+// CHECK:STDOUT: if %true.loc19 br !if.then.loc19 else br !if.else.loc19
|
|
|
// CHECK:STDOUT:
|
|
|
-// CHECK:STDOUT: !if.then.loc18:
|
|
|
+// CHECK:STDOUT: !if.then.loc19:
|
|
|
// CHECK:STDOUT: name_binding_decl {
|
|
|
// CHECK:STDOUT: %w.patt: %pattern_type.7ce = binding_pattern w [concrete]
|
|
|
// CHECK:STDOUT: %w.var_patt: %pattern_type.7ce = var_pattern %w.patt [concrete]
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT: %w.var: ref %i32 = var %w.var_patt
|
|
|
// CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8]
|
|
|
-// CHECK:STDOUT: %impl.elem0.loc19: %.9c3 = impl_witness_access constants.%ImplicitAs.impl_witness.c75, element0 [concrete = constants.%Convert.956]
|
|
|
-// CHECK:STDOUT: %bound_method.loc19_14.1: <bound method> = bound_method %int_1, %impl.elem0.loc19 [concrete = constants.%Convert.bound.ab5]
|
|
|
-// CHECK:STDOUT: %specific_fn.loc19: <specific function> = specific_function %impl.elem0.loc19, @Convert.3(constants.%int_32) [concrete = constants.%Convert.specific_fn]
|
|
|
-// CHECK:STDOUT: %bound_method.loc19_14.2: <bound method> = bound_method %int_1, %specific_fn.loc19 [concrete = constants.%bound_method.9a1]
|
|
|
-// CHECK:STDOUT: %int.convert_checked.loc19: init %i32 = call %bound_method.loc19_14.2(%int_1) [concrete = constants.%int_1.5d2]
|
|
|
-// CHECK:STDOUT: %.loc19_14: init %i32 = converted %int_1, %int.convert_checked.loc19 [concrete = constants.%int_1.5d2]
|
|
|
-// CHECK:STDOUT: assign %w.var, %.loc19_14
|
|
|
-// CHECK:STDOUT: %.loc19_21: type = splice_block %i32.loc19 [concrete = constants.%i32] {
|
|
|
-// CHECK:STDOUT: %int_32.loc19: Core.IntLiteral = int_value 32 [concrete = constants.%int_32]
|
|
|
-// CHECK:STDOUT: %i32.loc19: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32]
|
|
|
+// CHECK:STDOUT: %impl.elem0.loc20: %.9c3 = impl_witness_access constants.%ImplicitAs.impl_witness.c75, element0 [concrete = constants.%Convert.956]
|
|
|
+// CHECK:STDOUT: %bound_method.loc20_14.1: <bound method> = bound_method %int_1, %impl.elem0.loc20 [concrete = constants.%Convert.bound.ab5]
|
|
|
+// CHECK:STDOUT: %specific_fn.loc20: <specific function> = specific_function %impl.elem0.loc20, @Convert.2(constants.%int_32) [concrete = constants.%Convert.specific_fn]
|
|
|
+// CHECK:STDOUT: %bound_method.loc20_14.2: <bound method> = bound_method %int_1, %specific_fn.loc20 [concrete = constants.%bound_method.9a1]
|
|
|
+// CHECK:STDOUT: %int.convert_checked.loc20: init %i32 = call %bound_method.loc20_14.2(%int_1) [concrete = constants.%int_1.5d2]
|
|
|
+// CHECK:STDOUT: %.loc20_14: init %i32 = converted %int_1, %int.convert_checked.loc20 [concrete = constants.%int_1.5d2]
|
|
|
+// CHECK:STDOUT: assign %w.var, %.loc20_14
|
|
|
+// CHECK:STDOUT: %.loc20_21: type = splice_block %i32.loc20 [concrete = constants.%i32] {
|
|
|
+// CHECK:STDOUT: %int_32.loc20: Core.IntLiteral = int_value 32 [concrete = constants.%int_32]
|
|
|
+// CHECK:STDOUT: %i32.loc20: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32]
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT: %w: ref %i32 = bind_name w, %w.var
|
|
|
-// CHECK:STDOUT: br !if.else.loc18
|
|
|
+// CHECK:STDOUT: br !if.else.loc19
|
|
|
// CHECK:STDOUT:
|
|
|
-// CHECK:STDOUT: !if.else.loc18:
|
|
|
-// CHECK:STDOUT: %int_0.loc21: Core.IntLiteral = int_value 0 [concrete = constants.%int_0.5c6]
|
|
|
-// CHECK:STDOUT: %impl.elem0.loc21: %.9c3 = impl_witness_access constants.%ImplicitAs.impl_witness.c75, element0 [concrete = constants.%Convert.956]
|
|
|
-// CHECK:STDOUT: %bound_method.loc21_11.1: <bound method> = bound_method %int_0.loc21, %impl.elem0.loc21 [concrete = constants.%Convert.bound.d04]
|
|
|
-// CHECK:STDOUT: %specific_fn.loc21: <specific function> = specific_function %impl.elem0.loc21, @Convert.3(constants.%int_32) [concrete = constants.%Convert.specific_fn]
|
|
|
-// CHECK:STDOUT: %bound_method.loc21_11.2: <bound method> = bound_method %int_0.loc21, %specific_fn.loc21 [concrete = constants.%bound_method.b6e]
|
|
|
-// CHECK:STDOUT: %int.convert_checked.loc21: init %i32 = call %bound_method.loc21_11.2(%int_0.loc21) [concrete = constants.%int_0.6a9]
|
|
|
-// CHECK:STDOUT: %.loc21_11.1: %i32 = value_of_initializer %int.convert_checked.loc21 [concrete = constants.%int_0.6a9]
|
|
|
-// CHECK:STDOUT: %.loc21_11.2: %i32 = converted %int_0.loc21, %.loc21_11.1 [concrete = constants.%int_0.6a9]
|
|
|
-// CHECK:STDOUT: return %.loc21_11.2
|
|
|
+// CHECK:STDOUT: !if.else.loc19:
|
|
|
+// CHECK:STDOUT: %int_0.loc22: Core.IntLiteral = int_value 0 [concrete = constants.%int_0.5c6]
|
|
|
+// CHECK:STDOUT: %impl.elem0.loc22: %.9c3 = impl_witness_access constants.%ImplicitAs.impl_witness.c75, element0 [concrete = constants.%Convert.956]
|
|
|
+// CHECK:STDOUT: %bound_method.loc22_11.1: <bound method> = bound_method %int_0.loc22, %impl.elem0.loc22 [concrete = constants.%Convert.bound.d04]
|
|
|
+// CHECK:STDOUT: %specific_fn.loc22: <specific function> = specific_function %impl.elem0.loc22, @Convert.2(constants.%int_32) [concrete = constants.%Convert.specific_fn]
|
|
|
+// CHECK:STDOUT: %bound_method.loc22_11.2: <bound method> = bound_method %int_0.loc22, %specific_fn.loc22 [concrete = constants.%bound_method.b6e]
|
|
|
+// CHECK:STDOUT: %int.convert_checked.loc22: init %i32 = call %bound_method.loc22_11.2(%int_0.loc22) [concrete = constants.%int_0.6a9]
|
|
|
+// CHECK:STDOUT: %.loc22_11.1: %i32 = value_of_initializer %int.convert_checked.loc22 [concrete = constants.%int_0.6a9]
|
|
|
+// CHECK:STDOUT: %.loc22_11.2: %i32 = converted %int_0.loc22, %.loc22_11.1 [concrete = constants.%int_0.6a9]
|
|
|
+// CHECK:STDOUT: return %.loc22_11.2
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: fn @EnclosingButAfter(%b.param: bool) -> %i32 {
|
|
|
@@ -195,20 +196,20 @@ fn EnclosingButAfter(b: bool) -> i32 {
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT: %v.var: ref %i32 = var %v.var_patt
|
|
|
// CHECK:STDOUT: %int_0: Core.IntLiteral = int_value 0 [concrete = constants.%int_0.5c6]
|
|
|
-// CHECK:STDOUT: %impl.elem0.loc26: %.9c3 = impl_witness_access constants.%ImplicitAs.impl_witness.c75, element0 [concrete = constants.%Convert.956]
|
|
|
-// CHECK:STDOUT: %bound_method.loc26_14.1: <bound method> = bound_method %int_0, %impl.elem0.loc26 [concrete = constants.%Convert.bound.d04]
|
|
|
-// CHECK:STDOUT: %specific_fn.loc26: <specific function> = specific_function %impl.elem0.loc26, @Convert.3(constants.%int_32) [concrete = constants.%Convert.specific_fn]
|
|
|
-// CHECK:STDOUT: %bound_method.loc26_14.2: <bound method> = bound_method %int_0, %specific_fn.loc26 [concrete = constants.%bound_method.b6e]
|
|
|
-// CHECK:STDOUT: %int.convert_checked.loc26: init %i32 = call %bound_method.loc26_14.2(%int_0) [concrete = constants.%int_0.6a9]
|
|
|
-// CHECK:STDOUT: %.loc26_14: init %i32 = converted %int_0, %int.convert_checked.loc26 [concrete = constants.%int_0.6a9]
|
|
|
-// CHECK:STDOUT: assign %v.var, %.loc26_14
|
|
|
-// CHECK:STDOUT: %.loc26_21: type = splice_block %i32.loc26 [concrete = constants.%i32] {
|
|
|
-// CHECK:STDOUT: %int_32.loc26: Core.IntLiteral = int_value 32 [concrete = constants.%int_32]
|
|
|
-// CHECK:STDOUT: %i32.loc26: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32]
|
|
|
+// CHECK:STDOUT: %impl.elem0.loc27: %.9c3 = impl_witness_access constants.%ImplicitAs.impl_witness.c75, element0 [concrete = constants.%Convert.956]
|
|
|
+// CHECK:STDOUT: %bound_method.loc27_14.1: <bound method> = bound_method %int_0, %impl.elem0.loc27 [concrete = constants.%Convert.bound.d04]
|
|
|
+// CHECK:STDOUT: %specific_fn.loc27: <specific function> = specific_function %impl.elem0.loc27, @Convert.2(constants.%int_32) [concrete = constants.%Convert.specific_fn]
|
|
|
+// CHECK:STDOUT: %bound_method.loc27_14.2: <bound method> = bound_method %int_0, %specific_fn.loc27 [concrete = constants.%bound_method.b6e]
|
|
|
+// CHECK:STDOUT: %int.convert_checked.loc27: init %i32 = call %bound_method.loc27_14.2(%int_0) [concrete = constants.%int_0.6a9]
|
|
|
+// CHECK:STDOUT: %.loc27_14: init %i32 = converted %int_0, %int.convert_checked.loc27 [concrete = constants.%int_0.6a9]
|
|
|
+// CHECK:STDOUT: assign %v.var, %.loc27_14
|
|
|
+// CHECK:STDOUT: %.loc27_21: type = splice_block %i32.loc27 [concrete = constants.%i32] {
|
|
|
+// CHECK:STDOUT: %int_32.loc27: Core.IntLiteral = int_value 32 [concrete = constants.%int_32]
|
|
|
+// CHECK:STDOUT: %i32.loc27: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32]
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT: %v: ref %i32 = bind_name v, %v.var
|
|
|
-// CHECK:STDOUT: %.loc26_18: %i32 = bind_value %v
|
|
|
-// CHECK:STDOUT: return %.loc26_18
|
|
|
+// CHECK:STDOUT: %.loc27_18: %i32 = bind_value %v
|
|
|
+// CHECK:STDOUT: return %.loc27_18
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: !if.else:
|
|
|
// CHECK:STDOUT: name_binding_decl {
|
|
|
@@ -217,19 +218,19 @@ fn EnclosingButAfter(b: bool) -> i32 {
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT: %w.var: ref %i32 = var %w.var_patt
|
|
|
// CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8]
|
|
|
-// CHECK:STDOUT: %impl.elem0.loc29: %.9c3 = impl_witness_access constants.%ImplicitAs.impl_witness.c75, element0 [concrete = constants.%Convert.956]
|
|
|
-// CHECK:STDOUT: %bound_method.loc29_12.1: <bound method> = bound_method %int_1, %impl.elem0.loc29 [concrete = constants.%Convert.bound.ab5]
|
|
|
-// CHECK:STDOUT: %specific_fn.loc29: <specific function> = specific_function %impl.elem0.loc29, @Convert.3(constants.%int_32) [concrete = constants.%Convert.specific_fn]
|
|
|
-// CHECK:STDOUT: %bound_method.loc29_12.2: <bound method> = bound_method %int_1, %specific_fn.loc29 [concrete = constants.%bound_method.9a1]
|
|
|
-// CHECK:STDOUT: %int.convert_checked.loc29: init %i32 = call %bound_method.loc29_12.2(%int_1) [concrete = constants.%int_1.5d2]
|
|
|
-// CHECK:STDOUT: %.loc29_12: init %i32 = converted %int_1, %int.convert_checked.loc29 [concrete = constants.%int_1.5d2]
|
|
|
-// CHECK:STDOUT: assign %w.var, %.loc29_12
|
|
|
-// CHECK:STDOUT: %.loc29_19: type = splice_block %i32.loc29 [concrete = constants.%i32] {
|
|
|
-// CHECK:STDOUT: %int_32.loc29: Core.IntLiteral = int_value 32 [concrete = constants.%int_32]
|
|
|
-// CHECK:STDOUT: %i32.loc29: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32]
|
|
|
+// CHECK:STDOUT: %impl.elem0.loc30: %.9c3 = impl_witness_access constants.%ImplicitAs.impl_witness.c75, element0 [concrete = constants.%Convert.956]
|
|
|
+// CHECK:STDOUT: %bound_method.loc30_12.1: <bound method> = bound_method %int_1, %impl.elem0.loc30 [concrete = constants.%Convert.bound.ab5]
|
|
|
+// CHECK:STDOUT: %specific_fn.loc30: <specific function> = specific_function %impl.elem0.loc30, @Convert.2(constants.%int_32) [concrete = constants.%Convert.specific_fn]
|
|
|
+// CHECK:STDOUT: %bound_method.loc30_12.2: <bound method> = bound_method %int_1, %specific_fn.loc30 [concrete = constants.%bound_method.9a1]
|
|
|
+// CHECK:STDOUT: %int.convert_checked.loc30: init %i32 = call %bound_method.loc30_12.2(%int_1) [concrete = constants.%int_1.5d2]
|
|
|
+// CHECK:STDOUT: %.loc30_12: init %i32 = converted %int_1, %int.convert_checked.loc30 [concrete = constants.%int_1.5d2]
|
|
|
+// CHECK:STDOUT: assign %w.var, %.loc30_12
|
|
|
+// CHECK:STDOUT: %.loc30_19: type = splice_block %i32.loc30 [concrete = constants.%i32] {
|
|
|
+// CHECK:STDOUT: %int_32.loc30: Core.IntLiteral = int_value 32 [concrete = constants.%int_32]
|
|
|
+// CHECK:STDOUT: %i32.loc30: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32]
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT: %w: ref %i32 = bind_name w, %w.var
|
|
|
-// CHECK:STDOUT: %.loc29_16: %i32 = bind_value %w
|
|
|
-// CHECK:STDOUT: return %.loc29_16
|
|
|
+// CHECK:STDOUT: %.loc30_16: %i32 = bind_value %w
|
|
|
+// CHECK:STDOUT: return %.loc30_16
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT:
|