22bf979646
Refinement nodes are retained throughout the optimization pipeline.
GVN can improve refinements, so a new pass after GVN updated references
to use the best refinement in scope. For example:
x.f.g();
x.f.h();
==>
v0 = x.f;
v0.g();
v0.h();
The receiver of h() is known to be non-null after GVN because the two
uses of x.f were proven to be the same value.
BUG=
R=sra@google.com
Review URL: https://codereview.chromium.org/1519513002 .