From 38a87d2c4a4c4b1016d5b33e13934cc27a621614 Mon Sep 17 00:00:00 2001 From: "hpayer@chromium.org" Date: Mon, 15 Jul 2013 16:58:20 +0000 Subject: [PATCH] Revert r15649 and fix for loop dominator propagation in GVN. BUG= R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/19233002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15680 ce2b1a6d-e550-0410-aec6-3dcde31c8c00 --- src/hydrogen-gvn.cc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/hydrogen-gvn.cc b/src/hydrogen-gvn.cc index 4a946ea221..10826a6023 100644 --- a/src/hydrogen-gvn.cc +++ b/src/hydrogen-gvn.cc @@ -619,7 +619,7 @@ HGlobalValueNumberingPhase::CollectSideEffectsOnPathsToDominatedBlock( GVNFlagSet side_effects; for (int i = 0; i < dominated->predecessors()->length(); ++i) { HBasicBlock* block = dominated->predecessors()->at(i); - if (dominator->block_id() <= block->block_id() && + if (dominator->block_id() < block->block_id() && block->block_id() < dominated->block_id() && visited_on_paths_.Add(block->block_id())) { side_effects.Add(block_side_effects_[block->block_id()]); @@ -773,6 +773,7 @@ void HGlobalValueNumberingPhase::AnalyzeGraph() { // If this is a loop header kill everything killed by the loop. if (block->IsLoopHeader()) { map->Kill(loop_side_effects_[block->block_id()]); + dominators->Kill(loop_side_effects_[block->block_id()]); } // Go through all instructions of the current block.