OSDN Git Service

load store elimination.
authorMingyao Yang <mingyao@google.com>
Mon, 24 Aug 2015 18:21:42 +0000 (11:21 -0700)
committerMingyao Yang <mingyao@google.com>
Thu, 15 Oct 2015 08:36:34 +0000 (01:36 -0700)
commit589dac7f0ce078d19aad7e35bb0195c47ddf01d2
tree5c77fb845997b21ce1aa97b1fa176c64a76e14f1
parentd2e0dd179fd2e8c6c820194e187fc5e9164154ff
load store elimination.

This adds a pass to eliminate some unnecessary heap loads/stores. It
first collects heap locations and then tracks values stored to those heap
locations. Alias analysis is done based on offset, type, singleton,
pre-existence, etc.

Change-Id: I11a9d8ef20d1b2f245607eb25118e9aff9be472a
14 files changed:
compiler/Android.mk
compiler/optimizing/builder.cc
compiler/optimizing/gvn_test.cc
compiler/optimizing/licm_test.cc
compiler/optimizing/load_store_elimination.cc [new file with mode: 0644]
compiler/optimizing/load_store_elimination.h [new file with mode: 0644]
compiler/optimizing/nodes.h
compiler/optimizing/optimizing_compiler.cc
compiler/optimizing/register_allocator_test.cc
runtime/base/arena_allocator.h
test/530-checker-lse/expected.txt [new file with mode: 0644]
test/530-checker-lse/info.txt [new file with mode: 0644]
test/530-checker-lse/src/Main.java [new file with mode: 0644]
test/532-checker-nonnull-arrayset/src/Main.java