Index: src/compiler/move-optimizer.h |
diff --git a/src/compiler/move-optimizer.h b/src/compiler/move-optimizer.h |
index c9a3289d6b26ab625f6b13bc4525d857358c3082..8e932a0d730e78378a23456bdb184bdf10b61840 100644 |
--- a/src/compiler/move-optimizer.h |
+++ b/src/compiler/move-optimizer.h |
@@ -26,15 +26,30 @@ class MoveOptimizer final { |
Zone* code_zone() const { return code()->zone(); } |
MoveOpVector& local_vector() { return local_vector_; } |
- void CompressBlock(InstructionBlock* blocke); |
- void CompressMoves(ParallelMove* left, ParallelMove* right); |
+ // Consolidate moves into the first gap. |
+ void CompressGaps(Instruction* instr); |
+ |
+ // Attempt to push down to the last instruction those moves that can. |
+ void CompressBlock(InstructionBlock* block); |
+ |
+ // Consolidate moves into the first gap. |
+ void CompressMoves(ParallelMove* left, MoveOpVector* right); |
+ |
+ // Push down those moves in the gap of from that do not change the |
+ // semantics of the from instruction, nor the semantics of the moves |
+ // that remain behind. |
+ void MigrateMoves(Instruction* to, Instruction* from); |
+ |
+ void RemoveClobberedDestinations(Instruction* instruction); |
+ |
const Instruction* LastInstruction(const InstructionBlock* block) const; |
+ |
+ // Consolidate common moves appearing accross all predecessors of a block. |
void OptimizeMerge(InstructionBlock* block); |
void FinalizeMoves(Instruction* instr); |
Zone* const local_zone_; |
InstructionSequence* const code_; |
- Instructions to_finalize_; |
MoveOpVector local_vector_; |
DISALLOW_COPY_AND_ASSIGN(MoveOptimizer); |