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:
Geoff Romer
2026-03-03 00:19:47 +00:00
committed by GitHub
co-authored by Jon Ross-Perkins
parent 9ff6b0a682
commit 6dba8ee111
298 changed files with 1741 additions and 1747 deletions
@@ -310,9 +310,9 @@ import library "extern_api";
// 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 = value_binding_pattern b [concrete]
// CHECK:STDOUT: %b.param_patt: %pattern_type.7ce = value_param_pattern %b.patt, call_param0 [concrete]
// CHECK:STDOUT: %b.param_patt: %pattern_type.7ce = value_param_pattern %b.patt [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]
// CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt [concrete]
// CHECK:STDOUT: } {
// CHECK:STDOUT: %i32.loc5_17: type = type_literal constants.%i32 [concrete = constants.%i32]
// CHECK:STDOUT: %.loc5: Core.Form = init_form %i32.loc5_17, call_param1 [concrete = constants.%.e54]
@@ -324,9 +324,9 @@ import library "extern_api";
// CHECK:STDOUT: }
// CHECK:STDOUT: %C.decl: %C.type = fn_decl @C [concrete = constants.%C] {
// 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: %c.param_patt: %pattern_type.b74 = value_param_pattern %c.patt [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]
// CHECK:STDOUT: %return.param_patt: %pattern_type.688 = out_param_pattern %return.patt [concrete]
// CHECK:STDOUT: } {
// CHECK:STDOUT: %i32.loc6_25: type = type_literal constants.%i32 [concrete = constants.%i32]
// CHECK:STDOUT: %struct_type.c: type = struct_type {.c: %i32} [concrete = constants.%struct_type.c]
@@ -408,9 +408,9 @@ import library "extern_api";
// 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 = value_binding_pattern b [concrete]
// CHECK:STDOUT: %b.param_patt: %pattern_type.7ce = value_param_pattern %b.patt, call_param0 [concrete]
// CHECK:STDOUT: %b.param_patt: %pattern_type.7ce = value_param_pattern %b.patt [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]
// CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt [concrete]
// CHECK:STDOUT: } {
// CHECK:STDOUT: %i32.loc5_52: type = type_literal constants.%i32 [concrete = constants.%i32]
// CHECK:STDOUT: %.loc5: Core.Form = init_form %i32.loc5_52, call_param1 [concrete = constants.%.e54]
@@ -422,9 +422,9 @@ import library "extern_api";
// CHECK:STDOUT: }
// CHECK:STDOUT: %C.decl: %C.type = fn_decl @C [concrete = constants.%C] {
// 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: %c.param_patt: %pattern_type.b74 = value_param_pattern %c.patt [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]
// CHECK:STDOUT: %return.param_patt: %pattern_type.688 = out_param_pattern %return.patt [concrete]
// CHECK:STDOUT: } {
// CHECK:STDOUT: %i32.loc6_60: type = type_literal constants.%i32 [concrete = constants.%i32]
// CHECK:STDOUT: %struct_type.c: type = struct_type {.c: %i32} [concrete = constants.%struct_type.c]