OSDN Git Service

Ensure the graph is correctly typed.
authorNicolas Geoffray <ngeoffray@google.com>
Wed, 18 Feb 2015 14:48:53 +0000 (14:48 +0000)
committerNicolas Geoffray <ngeoffray@google.com>
Thu, 19 Feb 2015 14:01:18 +0000 (14:01 +0000)
commitd6138ef1ea13d07ae555542f8898b30d89e9ac9a
treea8ffd5fd966512fd280bc1b3214f4e57a9e1805f
parent92095533ac28879ddd8b44b559d700527ca12b8a
Ensure the graph is correctly typed.

We used to be forgiving because of HIntConstant(0) also being
used for null. We now create a special HNullConstant for such uses.

Also, we need to run the dead phi elimination twice during ssa
building to ensure the correctness.

Change-Id: If479efa3680d3358800aebb1cca692fa2d94f6e5
16 files changed:
compiler/optimizing/code_generator.cc
compiler/optimizing/code_generator.h
compiler/optimizing/code_generator_arm.cc
compiler/optimizing/code_generator_arm64.cc
compiler/optimizing/code_generator_x86.cc
compiler/optimizing/code_generator_x86_64.cc
compiler/optimizing/graph_checker.cc
compiler/optimizing/graph_visualizer.cc
compiler/optimizing/nodes.cc
compiler/optimizing/nodes.h
compiler/optimizing/primitive_type_propagation.cc
compiler/optimizing/reference_type_propagation.cc
compiler/optimizing/ssa_builder.cc
compiler/optimizing/ssa_builder.h
compiler/optimizing/ssa_phi_elimination.cc
compiler/optimizing/ssa_phi_elimination.h