f4e61eacfd
PushArgument instructions are removed from IL while it is constructed and optimized. Before allocating registers, PushArgument instructions are inserted immediately before call instructions. On ARM/ARM64 subsequent PushArgument instructions are generated using store multiple (STM) / store pair (STP) instructions which reduces size. Flutter gallery in release mode after this CL and https://dart-review.googlesource.com/c/sdk/+/129324: arm: instructions size -1.4%, total size -0.83% arm64: instructions size -1.43%, total size -0.83% Closes https://github.com/dart-lang/sdk/issues/39788 Closes https://github.com/dart-lang/sdk/issues/38354 Change-Id: I61493c72306c3ade4d9850e0dfc17e7e943a14c4 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/128481 Commit-Queue: Alexander Markov <alexmarkov@google.com> Reviewed-by: Martin Kustermann <kustermann@google.com>