Change InstId dumping to hex numbers that include the tag (#6175)

This change makes dumping and debugging work again with InstIds that are
now tagged with the CheckIRId. The textual representation of an InstId
is changed from `irN.instM` back to `instM` but the `M` is now a hex
value with the tag as part of it, which is the same number that is
physically in the `InstId::index` field. This prevents any cases where
we would potentially print incorrect values for large InstIds.

We teach the `dump` command in lldb to parse hex values for InstId so
that we can paste these numbers back into the debugger.
This commit is contained in:
Dana Jansens
2025-10-08 18:45:35 +00:00
committed by GitHub
parent c254e9fd75
commit 93b79f159e
84 changed files with 2513 additions and 2472 deletions
@@ -233,7 +233,7 @@ fn CallFAndGIncomplete() {
// CHECK:STDOUT: import Core//prelude/...
// CHECK:STDOUT: }
// CHECK:STDOUT: %Main.import_ref.8f2: <witness> = import_ref Main//incomplete_return, loc37_10, loaded [concrete = constants.%complete_type.357]
// CHECK:STDOUT: %Main.import_ref.cab = import_ref Main//incomplete_return, inst{{\d+}} [no loc], unloaded
// CHECK:STDOUT: %Main.import_ref.cab = import_ref Main//incomplete_return, inst{{[0-9A-F]+}} [no loc], unloaded
// CHECK:STDOUT: %Core.Destroy: type = import_ref Core//prelude/parts/destroy, Destroy, loaded [concrete = constants.%Destroy.type]
// CHECK:STDOUT: }
// CHECK:STDOUT: