1618fd965b
Load*Field and Init*Field IL instructions are fused into load instructions with 'calls_initializer' flag. A new, more powerful elimination of lazy initializer calls uses data flow analysis and load forwarding (place numbering). In addition to improved elimination of initializer calls, fusing instructions avoids extra load after field is already loaded for lazy initialization check. Fixes https://github.com/dart-lang/sdk/issues/41417 Change-Id: Ibb2a63f84b9b0c970db67b3d6684ec15384a64e7 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/148283 Commit-Queue: Alexander Markov <alexmarkov@google.com> Reviewed-by: Martin Kustermann <kustermann@google.com>