From e05dbf4e22b5e3387907e9850fa4e5c33802a7fa Mon Sep 17 00:00:00 2001 From: "bmeurer@chromium.org" Date: Mon, 10 Feb 2014 08:59:51 +0000 Subject: [PATCH] Drop unused accumulated first time changes/depends. R=svenpanne@chromium.org Review URL: https://codereview.chromium.org/135503004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19213 ce2b1a6d-e550-0410-aec6-3dcde31c8c00 --- src/hydrogen-gvn.cc | 28 ++-------------------------- src/hydrogen-gvn.h | 4 +--- 2 files changed, 3 insertions(+), 29 deletions(-) diff --git a/src/hydrogen-gvn.cc b/src/hydrogen-gvn.cc index e491ef5..bc83689 100644 --- a/src/hydrogen-gvn.cc +++ b/src/hydrogen-gvn.cc @@ -535,13 +535,9 @@ void HGlobalValueNumberingPhase::LoopInvariantCodeMotion() { block->block_id(), GetGVNFlagsString(side_effects).get()); - GVNFlagSet accumulated_first_time_depends; - GVNFlagSet accumulated_first_time_changes; HBasicBlock* last = block->loop_information()->GetLastBackEdge(); for (int j = block->block_id(); j <= last->block_id(); ++j) { - ProcessLoopBlock(graph()->blocks()->at(j), block, side_effects, - &accumulated_first_time_depends, - &accumulated_first_time_changes); + ProcessLoopBlock(graph()->blocks()->at(j), block, side_effects); } } } @@ -551,9 +547,7 @@ void HGlobalValueNumberingPhase::LoopInvariantCodeMotion() { void HGlobalValueNumberingPhase::ProcessLoopBlock( HBasicBlock* block, HBasicBlock* loop_header, - GVNFlagSet loop_kills, - GVNFlagSet* first_time_depends, - GVNFlagSet* first_time_changes) { + GVNFlagSet loop_kills) { HBasicBlock* pre_header = loop_header->predecessors()->at(0); GVNFlagSet depends_flags = HValue::ConvertChangesToDependsFlags(loop_kills); TRACE_GVN_2("Loop invariant motion for B%d %s\n", @@ -562,7 +556,6 @@ void HGlobalValueNumberingPhase::ProcessLoopBlock( HInstruction* instr = block->first(); while (instr != NULL) { HInstruction* next = instr->next(); - bool hoisted = false; if (instr->CheckFlag(HValue::kUseGVN)) { TRACE_GVN_4("Checking instruction %d (%s) %s. Loop %s\n", instr->id(), @@ -589,26 +582,9 @@ void HGlobalValueNumberingPhase::ProcessLoopBlock( instr->Unlink(); instr->InsertBefore(pre_header->end()); if (instr->HasSideEffects()) removed_side_effects_ = true; - hoisted = true; } } } - if (!hoisted) { - // If an instruction is not hoisted, we have to account for its side - // effects when hoisting later HTransitionElementsKind instructions. - GVNFlagSet previous_depends = *first_time_depends; - GVNFlagSet previous_changes = *first_time_changes; - first_time_depends->Add(instr->DependsOnFlags()); - first_time_changes->Add(instr->ChangesFlags()); - if (!(previous_depends == *first_time_depends)) { - TRACE_GVN_1("Updated first-time accumulated %s\n", - GetGVNFlagsString(*first_time_depends).get()); - } - if (!(previous_changes == *first_time_changes)) { - TRACE_GVN_1("Updated first-time accumulated %s\n", - GetGVNFlagsString(*first_time_changes).get()); - } - } instr = next; } } diff --git a/src/hydrogen-gvn.h b/src/hydrogen-gvn.h index 4e4f349..30333cc 100644 --- a/src/hydrogen-gvn.h +++ b/src/hydrogen-gvn.h @@ -52,9 +52,7 @@ class HGlobalValueNumberingPhase : public HPhase { void LoopInvariantCodeMotion(); void ProcessLoopBlock(HBasicBlock* block, HBasicBlock* before_loop, - GVNFlagSet loop_kills, - GVNFlagSet* accumulated_first_time_depends, - GVNFlagSet* accumulated_first_time_changes); + GVNFlagSet loop_kills); bool AllowCodeMotion(); bool ShouldMove(HInstruction* instr, HBasicBlock* loop_header); -- 2.7.4