Revert "Revert "More general store elimination""

This reverts commit e97949e878bb364adadc167ac158ffc9660ce996.

A store before an invocation that only has write side effects
(true for some intrinsics) needs to be kept since the store isn't used
to track the heap value anymore.

Test: ART_TEST_OPTIMIZING=true ./test.py -j20 --host --run-test -b
Test: using the device (marlin) with the CL.

Bug: 35745320
Bug: 72440777

Change-Id: I0d1ce499008553e48ecca50f9ad94bb7c8c07583
8 files changed