9062cf4d75
When the instruction being replaced has many uses, it is beneficial to update them together, rather than one at a time. Also: - Make value_range_analyer output intermediate state for `--dump-ssa`. - Remove bounds checks all together at end of range analysis. - Don't add RangeConversion for the length when the length is a constant. Compiling a method with 5000 assignments of the form `a[N] = N;` is reduced 20x, from 123 seconds to 6 seconds. Bug: #56919 Change-Id: I9ca7b41ca156ee40b96cfed9e18369662053b3b7 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/390824 Reviewed-by: Nate Biggs <natebiggs@google.com> Commit-Queue: Stephen Adams <sra@google.com>