OSDN Git Service

Reduce memory usage of SSA Phi elimination and make it faster.
authorVladimir Marko <vmarko@google.com>
Tue, 10 May 2016 12:31:23 +0000 (13:31 +0100)
committerVladimir Marko <vmarko@google.com>
Tue, 10 May 2016 13:50:41 +0000 (14:50 +0100)
commit63347bbb6d25b762eaa67c67d78a019d28e94321
treef34f0fa4c714f59ac87a57c102d7a277cd0376ab
parenta26b3c51bfd97be1100d267f20c46535913e6bb7
Reduce memory usage of SSA Phi elimination and make it faster.

Use an ArenaBitVector instead of an ArenaSet<> that leaks
its allocated memory on clear(). We were also erroneously
using the O(n) helper ContainsElement() for the ArenaSet<>
instead of the O(log n) ArenaSet<>::find() which made the
methods with large number of processed Phis also very slow
to compile in addition to the enormous memory usage.

Bug: 28684584

(cherry picked from commit c9ef168bfabd118d112a054dffe2c27d4d4db4fc)

Change-Id: I6115006259a9f697ea70e31d4478966fc601e24b
compiler/optimizing/ssa_phi_elimination.cc