ART: Fix Quick's DCE+GVN

DCE_GVN does not take into account the following case:
  mov a, b
  mov c, b
when optimization tries to replace a with c it must ensure that
for all uses of a there is no new definition of c before use.
Otherwise that use will incorrectly substituted with new c instead
of original b.

Bug: 23102860
Signed-off-by: Serguei Katkov <>

(cherry picked from commit 2f2f17399f6bdfc5ec94a875152c31ef79620520)

Change-Id: I1f08c99cedbe4fd1b96cad11f17d60ab551c7cf7
2 files changed