| Index: src/hydrogen-canonicalize.cc
|
| diff --git a/src/hydrogen-canonicalize.cc b/src/hydrogen-canonicalize.cc
|
| index 4d96415e6a8142b40a2e74ed6c17011bb18bf071..faeba2b4c29568e199f2bd2a973b0a28f56927e2 100644
|
| --- a/src/hydrogen-canonicalize.cc
|
| +++ b/src/hydrogen-canonicalize.cc
|
| @@ -26,6 +26,7 @@
|
| // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
|
| #include "hydrogen-canonicalize.h"
|
| +#include "hydrogen-redundant-phi.h"
|
|
|
| namespace v8 {
|
| namespace internal {
|
| @@ -57,8 +58,13 @@ void HCanonicalizePhase::Run() {
|
| }
|
| }
|
| }
|
| +
|
| // Perform actual Canonicalization pass.
|
| + HRedundantPhiEliminationPhase redundant_phi_eliminator(graph());
|
| for (int i = 0; i < blocks->length(); ++i) {
|
| + // Eliminate redundant phis in the block first.
|
| + redundant_phi_eliminator.ProcessBlock(blocks->at(i));
|
| + // Now canonicalize each instruction.
|
| for (HInstructionIterator it(blocks->at(i)); !it.Done(); it.Advance()) {
|
| HInstruction* instr = it.Current();
|
| HValue* value = instr->Canonicalize();
|
|
|