mirror of
https://github.com/carbon-language/carbon-lang.git
synced 2026-10-05 22:02:55 +01:00
Add evaluation for conversion instructions. (#3594)
Also some finessing of evaluation for other instruction kinds and some additional testing.
This commit is contained in:
@@ -73,7 +73,7 @@ fn F() {
|
||||
// CHECK:STDOUT: %.loc12_17: i32* = addr_of %.loc12_19
|
||||
// CHECK:STDOUT: assign %r.var, %.loc12_17
|
||||
// CHECK:STDOUT: %.loc14_19.1: (type, type) = tuple_literal (i32, i32)
|
||||
// CHECK:STDOUT: %.loc14_19.2: type = converted %.loc14_19.1, constants.%.loc14_19.2
|
||||
// CHECK:STDOUT: %.loc14_19.2: type = converted %.loc14_19.1, constants.%.loc14_19.2, const = constants.%.loc14_19.2
|
||||
// CHECK:STDOUT: %t.var: ref (i32, i32) = var t
|
||||
// CHECK:STDOUT: %t: ref (i32, i32) = bind_name t, %t.var
|
||||
// CHECK:STDOUT: %.loc14_24: i32 = int_literal 1, const = constants.%.loc14_24
|
||||
|
||||
@@ -202,7 +202,7 @@ fn AddressOfParam(param: i32) {
|
||||
// CHECK:STDOUT: %.loc75_10.1: (i32, i32) = tuple_literal (%.loc75_6, %.loc75_9)
|
||||
// CHECK:STDOUT: %.loc75_12: i32 = int_literal 0, const = constants.%.loc75_12
|
||||
// CHECK:STDOUT: %.loc75_10.2: (i32, i32) = tuple_value (%.loc75_6, %.loc75_9), const = constants.%.loc75_10
|
||||
// CHECK:STDOUT: %.loc75_10.3: (i32, i32) = converted %.loc75_10.1, %.loc75_10.2
|
||||
// CHECK:STDOUT: %.loc75_10.3: (i32, i32) = converted %.loc75_10.1, %.loc75_10.2, const = constants.%.loc75_10
|
||||
// CHECK:STDOUT: %.loc75_13: i32 = tuple_index %.loc75_10.3, %.loc75_12
|
||||
// CHECK:STDOUT: %.loc75_3: i32* = addr_of %.loc75_13
|
||||
// CHECK:STDOUT: return
|
||||
|
||||
@@ -39,11 +39,11 @@ fn Deref(n: i32) {
|
||||
// CHECK:STDOUT: %.loc11: ref <error> = deref %n.ref
|
||||
// CHECK:STDOUT: %.loc15_5.1: () = tuple_literal ()
|
||||
// CHECK:STDOUT: %.loc15_5.2: () = tuple_value (), const = constants.%.loc15_5.2
|
||||
// CHECK:STDOUT: %.loc15_5.3: () = converted %.loc15_5.1, %.loc15_5.2
|
||||
// CHECK:STDOUT: %.loc15_5.3: () = converted %.loc15_5.1, %.loc15_5.2, const = constants.%.loc15_5.2
|
||||
// CHECK:STDOUT: %.loc15_3: ref <error> = deref %.loc15_5.3
|
||||
// CHECK:STDOUT: %.loc19_5.1: {} = struct_literal ()
|
||||
// CHECK:STDOUT: %.loc19_5.2: {} = struct_value (), const = constants.%.loc19_5.2
|
||||
// CHECK:STDOUT: %.loc19_5.3: {} = converted %.loc19_5.1, %.loc19_5.2
|
||||
// CHECK:STDOUT: %.loc19_5.3: {} = converted %.loc19_5.1, %.loc19_5.2, const = constants.%.loc19_5.2
|
||||
// CHECK:STDOUT: %.loc19_3: ref <error> = deref %.loc19_5.3
|
||||
// CHECK:STDOUT: return
|
||||
// CHECK:STDOUT: }
|
||||
|
||||
Reference in New Issue
Block a user