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
This commit is contained in:
hpayer@chromium.org 2013-07-15 16:58:20 +00:00
parent bbb2cf3fac
commit 38a87d2c4a

View File

@ -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.