Chromium Code Reviews
DescriptionImprove aliasing info for load elimination of array loads.
The optimizer can now track side effects to array locations
at a constant index when eliminating array loads. Stores to
arrays with a constant index affect loads from arrays
at the same constant index _and_ loads from an unknown (non-constant)
index. Stores to an array with an unknown index affect all array loads.
For instance code like
var a = new List(2);
a[0] = 123;
a[1] = 456;
print(a[0] + a[1]);
we can now eliminate both loads from a[0] and a[1], where before
only the loads from a[1] was eliminated.
I changed the internal encoding of Alias to use BitField instead of
plain integers. This makes it a little easire to extend.
R=johnmccutchan@google.com
Committed: https://code.google.com/p/dart/source/detail?r=32014
Patch Set 1 #
Total comments: 6
Messages
Total messages: 4 (0 generated)
|
||||||||||||||||||||||||||||