mirror of
https://github.com/carbon-language/carbon-lang.git
synced 2026-10-05 22:02:55 +01:00
Remove index fields from ParamPatterns (#6815)
This is a step toward removing the index from `InitForm`, so that equal form values always have equal representations. --------- Co-authored-by: Jon Ross-Perkins <jperkins@google.com>
This commit is contained in:
co-authored by
Jon Ross-Perkins
parent
9ff6b0a682
commit
6dba8ee111
@@ -90,7 +90,7 @@ fn F() -> i32 {
|
||||
// CHECK:STDOUT: %Core.import = import Core
|
||||
// CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [concrete = constants.%F] {
|
||||
// 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: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt [concrete]
|
||||
// CHECK:STDOUT: } {
|
||||
// CHECK:STDOUT: %i32.loc15: type = type_literal constants.%i32 [concrete = constants.%i32]
|
||||
// CHECK:STDOUT: %.loc15: Core.Form = init_form %i32.loc15, call_param0 [concrete = constants.%.437]
|
||||
|
||||
+2
-2
@@ -61,7 +61,7 @@ fn Foo(ptr: C*) {
|
||||
// CHECK:STDOUT: %C.decl: type = class_decl @C [concrete = constants.%C] {} {}
|
||||
// CHECK:STDOUT: %Foo.decl: %Foo.type = fn_decl @Foo [concrete = constants.%Foo] {
|
||||
// CHECK:STDOUT: %ptr.patt: %pattern_type.506 = value_binding_pattern ptr [concrete]
|
||||
// CHECK:STDOUT: %ptr.param_patt: %pattern_type.506 = value_param_pattern %ptr.patt, call_param0 [concrete]
|
||||
// CHECK:STDOUT: %ptr.param_patt: %pattern_type.506 = value_param_pattern %ptr.patt [concrete]
|
||||
// CHECK:STDOUT: } {
|
||||
// CHECK:STDOUT: %ptr.param: %ptr.31e = value_param call_param0
|
||||
// CHECK:STDOUT: %.loc20: type = splice_block %ptr.loc20_14 [concrete = constants.%ptr.31e] {
|
||||
@@ -75,7 +75,7 @@ fn Foo(ptr: C*) {
|
||||
// CHECK:STDOUT: class @C {
|
||||
// CHECK:STDOUT: %C.Member.decl: %C.Member.type = fn_decl @C.Member [concrete = constants.%C.Member] {
|
||||
// CHECK:STDOUT: %self.patt: %pattern_type.7c7 = value_binding_pattern self [concrete]
|
||||
// CHECK:STDOUT: %self.param_patt: %pattern_type.7c7 = value_param_pattern %self.patt, call_param0 [concrete]
|
||||
// CHECK:STDOUT: %self.param_patt: %pattern_type.7c7 = value_param_pattern %self.patt [concrete]
|
||||
// CHECK:STDOUT: } {
|
||||
// CHECK:STDOUT: %self.param: %C = value_param call_param0
|
||||
// CHECK:STDOUT: %Self.ref: type = name_ref Self, constants.%C [concrete = constants.%C]
|
||||
|
||||
+1
-1
@@ -107,7 +107,7 @@ fn F() -> i32 {
|
||||
// CHECK:STDOUT: %Core.import = import Core
|
||||
// CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [concrete = constants.%F] {
|
||||
// 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: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt [concrete]
|
||||
// CHECK:STDOUT: } {
|
||||
// CHECK:STDOUT: %i32.loc15: type = type_literal constants.%i32 [concrete = constants.%i32]
|
||||
// CHECK:STDOUT: %.loc15: Core.Form = init_form %i32.loc15, call_param0 [concrete = constants.%.437]
|
||||
|
||||
@@ -78,7 +78,7 @@ fn Deref(n: i32) {
|
||||
// CHECK:STDOUT: %Core.import = import Core
|
||||
// CHECK:STDOUT: %Deref.decl: %Deref.type = fn_decl @Deref [concrete = constants.%Deref] {
|
||||
// CHECK:STDOUT: %n.patt: %pattern_type.7ce = value_binding_pattern n [concrete]
|
||||
// CHECK:STDOUT: %n.param_patt: %pattern_type.7ce = value_param_pattern %n.patt, call_param0 [concrete]
|
||||
// CHECK:STDOUT: %n.param_patt: %pattern_type.7ce = value_param_pattern %n.patt [concrete]
|
||||
// CHECK:STDOUT: } {
|
||||
// CHECK:STDOUT: %n.param: %i32 = value_param call_param0
|
||||
// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32]
|
||||
|
||||
@@ -58,9 +58,9 @@ fn ConstMismatch(p: const {}*) -> const ({}*) {
|
||||
// CHECK:STDOUT: %Core.import = import Core
|
||||
// CHECK:STDOUT: %ConstMismatch.decl: %ConstMismatch.type = fn_decl @ConstMismatch [concrete = constants.%ConstMismatch] {
|
||||
// CHECK:STDOUT: %p.patt: %pattern_type.db0 = value_binding_pattern p [concrete]
|
||||
// CHECK:STDOUT: %p.param_patt: %pattern_type.db0 = value_param_pattern %p.patt, call_param0 [concrete]
|
||||
// CHECK:STDOUT: %p.param_patt: %pattern_type.db0 = value_param_pattern %p.patt [concrete]
|
||||
// CHECK:STDOUT: %return.patt: %pattern_type.3c6 = return_slot_pattern [concrete]
|
||||
// CHECK:STDOUT: %return.param_patt: %pattern_type.3c6 = out_param_pattern %return.patt, call_param1 [concrete]
|
||||
// CHECK:STDOUT: %return.param_patt: %pattern_type.3c6 = out_param_pattern %return.patt [concrete]
|
||||
// CHECK:STDOUT: } {
|
||||
// CHECK:STDOUT: %.loc15_43: %empty_struct_type = struct_literal () [concrete = constants.%empty_struct]
|
||||
// CHECK:STDOUT: %.loc15_44: type = converted %.loc15_43, constants.%empty_struct_type [concrete = constants.%empty_struct_type]
|
||||
|
||||
+2
-2
@@ -75,9 +75,9 @@ fn F(p: const (const (const i32*)*)) -> const i32 {
|
||||
// CHECK:STDOUT: %Core.import = import Core
|
||||
// CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [concrete = constants.%F] {
|
||||
// CHECK:STDOUT: %p.patt: %pattern_type.800 = value_binding_pattern p [concrete]
|
||||
// CHECK:STDOUT: %p.param_patt: %pattern_type.800 = value_param_pattern %p.patt, call_param0 [concrete]
|
||||
// CHECK:STDOUT: %p.param_patt: %pattern_type.800 = value_param_pattern %p.patt [concrete]
|
||||
// CHECK:STDOUT: %return.patt: %pattern_type.a65 = return_slot_pattern [concrete]
|
||||
// CHECK:STDOUT: %return.param_patt: %pattern_type.a65 = out_param_pattern %return.patt, call_param1 [concrete]
|
||||
// CHECK:STDOUT: %return.param_patt: %pattern_type.a65 = out_param_pattern %return.patt [concrete]
|
||||
// CHECK:STDOUT: } {
|
||||
// CHECK:STDOUT: %i32.loc16_47: type = type_literal constants.%i32 [concrete = constants.%i32]
|
||||
// CHECK:STDOUT: %const.loc16_41: type = const_type %i32.loc16_47 [concrete = constants.%const.20a]
|
||||
|
||||
+4
-4
@@ -80,9 +80,9 @@ fn ConstPtr(p: const i32*) -> (const i32)* {
|
||||
// CHECK:STDOUT: %Core.import = import Core
|
||||
// CHECK:STDOUT: %Ptr.decl: %Ptr.type = fn_decl @Ptr [concrete = constants.%Ptr] {
|
||||
// CHECK:STDOUT: %p.patt: %pattern_type.fe8 = value_binding_pattern p [concrete]
|
||||
// CHECK:STDOUT: %p.param_patt: %pattern_type.fe8 = value_param_pattern %p.patt, call_param0 [concrete]
|
||||
// CHECK:STDOUT: %p.param_patt: %pattern_type.fe8 = value_param_pattern %p.patt [concrete]
|
||||
// CHECK:STDOUT: %return.patt: %pattern_type.fe8 = return_slot_pattern [concrete]
|
||||
// CHECK:STDOUT: %return.param_patt: %pattern_type.fe8 = out_param_pattern %return.patt, call_param1 [concrete]
|
||||
// CHECK:STDOUT: %return.param_patt: %pattern_type.fe8 = out_param_pattern %return.patt [concrete]
|
||||
// CHECK:STDOUT: } {
|
||||
// CHECK:STDOUT: %i32.loc15_20: type = type_literal constants.%i32 [concrete = constants.%i32]
|
||||
// CHECK:STDOUT: %ptr.loc15_23: type = ptr_type %i32.loc15_20 [concrete = constants.%ptr.235]
|
||||
@@ -98,9 +98,9 @@ fn ConstPtr(p: const i32*) -> (const i32)* {
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %ConstPtr.decl: %ConstPtr.type = fn_decl @ConstPtr [concrete = constants.%ConstPtr] {
|
||||
// CHECK:STDOUT: %p.patt: %pattern_type.bff = value_binding_pattern p [concrete]
|
||||
// CHECK:STDOUT: %p.param_patt: %pattern_type.bff = value_param_pattern %p.patt, call_param0 [concrete]
|
||||
// CHECK:STDOUT: %p.param_patt: %pattern_type.bff = value_param_pattern %p.patt [concrete]
|
||||
// CHECK:STDOUT: %return.patt: %pattern_type.bff = return_slot_pattern [concrete]
|
||||
// CHECK:STDOUT: %return.param_patt: %pattern_type.bff = out_param_pattern %return.patt, call_param1 [concrete]
|
||||
// CHECK:STDOUT: %return.param_patt: %pattern_type.bff = out_param_pattern %return.patt [concrete]
|
||||
// CHECK:STDOUT: } {
|
||||
// CHECK:STDOUT: %i32.loc19_38: type = type_literal constants.%i32 [concrete = constants.%i32]
|
||||
// CHECK:STDOUT: %const.loc19_32: type = const_type %i32.loc19_38 [concrete = constants.%const.20a]
|
||||
|
||||
Reference in New Issue
Block a user