04f3e7a740
Brand types encode an integer as a struct type and allow us to break the equivalence relation between similar types in different rec groups. We now compute equivalence classes at the rec group level reducing the number of brand types we have to assign. We also improves the equivalence class computation by exiting earlier when a group/type is found to be part of an equivalence class. This is enough information to tell us which brand type it needs so we can exit the inner loop early. Change-Id: I8c5e1cfc679f1fcb6b7f0e79bd71719f345784d2 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/381960 Reviewed-by: Martin Kustermann <kustermann@google.com> Commit-Queue: Nate Biggs <natebiggs@google.com> Reviewed-by: Sigmund Cherem <sigmund@google.com>