Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1141)

Unified Diff: test/unittests/compiler/move-optimizer-unittest.cc

Issue 1041163002: [turbofan] smash GapInstruction into Instruction (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: arm compile Created 5 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « test/cctest/compiler/test-jump-threading.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: test/unittests/compiler/move-optimizer-unittest.cc
diff --git a/test/unittests/compiler/move-optimizer-unittest.cc b/test/unittests/compiler/move-optimizer-unittest.cc
index da887fe88a4a40f370cb4551f19ac120f35824d9..26afc7837bc4886a57ea09c25fea97691355e70e 100644
--- a/test/unittests/compiler/move-optimizer-unittest.cc
+++ b/test/unittests/compiler/move-optimizer-unittest.cc
@@ -11,13 +11,11 @@ namespace compiler {
class MoveOptimizerTest : public InstructionSequenceTest {
public:
- GapInstruction* LastGap() {
- return GapInstruction::cast(*(sequence()->instructions().rbegin() + 1));
- }
+ Instruction* LastInstruction() { return sequence()->instructions().back(); }
- void AddMove(GapInstruction* gap, TestOperand from, TestOperand to,
- GapInstruction::InnerPosition pos = GapInstruction::START) {
- auto parallel_move = gap->GetOrCreateParallelMove(pos, zone());
+ void AddMove(Instruction* instr, TestOperand from, TestOperand to,
+ Instruction::GapPosition pos = Instruction::START) {
+ auto parallel_move = instr->GetOrCreateParallelMove(pos, zone());
parallel_move->AddMove(ConvertMoveArg(from), ConvertMoveArg(to), zone());
}
@@ -86,16 +84,16 @@ class MoveOptimizerTest : public InstructionSequenceTest {
TEST_F(MoveOptimizerTest, RemovesRedundant) {
StartBlock();
- EmitNop();
- AddMove(LastGap(), Reg(0), Reg(1));
- EmitNop();
- AddMove(LastGap(), Reg(1), Reg(0));
+ auto first_instr = EmitNop();
+ AddMove(first_instr, Reg(0), Reg(1));
+ auto last_instr = EmitNop();
+ AddMove(last_instr, Reg(1), Reg(0));
EndBlock(Last());
Optimize();
- auto gap = LastGap();
- auto move = gap->parallel_moves()[0];
+ CHECK_EQ(0, NonRedundantSize(first_instr->parallel_moves()[0]));
+ auto move = last_instr->parallel_moves()[0];
CHECK_EQ(1, NonRedundantSize(move));
CHECK(Contains(move, Reg(0), Reg(1)));
}
@@ -105,7 +103,7 @@ TEST_F(MoveOptimizerTest, SplitsConstants) {
StartBlock();
EndBlock(Last());
- auto gap = LastGap();
+ auto gap = LastInstruction();
AddMove(gap, Const(1), Slot(0));
AddMove(gap, Const(1), Slot(1));
AddMove(gap, Const(1), Reg(0));
@@ -131,18 +129,18 @@ TEST_F(MoveOptimizerTest, SimpleMerge) {
StartBlock();
EndBlock(Jump(2));
- AddMove(LastGap(), Reg(0), Reg(1));
+ AddMove(LastInstruction(), Reg(0), Reg(1));
StartBlock();
EndBlock(Jump(1));
- AddMove(LastGap(), Reg(0), Reg(1));
+ AddMove(LastInstruction(), Reg(0), Reg(1));
StartBlock();
EndBlock(Last());
Optimize();
- auto move = LastGap()->parallel_moves()[0];
+ auto move = LastInstruction()->parallel_moves()[0];
CHECK_EQ(1, NonRedundantSize(move));
CHECK(Contains(move, Reg(0), Reg(1)));
}
@@ -154,13 +152,13 @@ TEST_F(MoveOptimizerTest, SimpleMergeCycle) {
StartBlock();
EndBlock(Jump(2));
- auto gap_0 = LastGap();
+ auto gap_0 = LastInstruction();
AddMove(gap_0, Reg(0), Reg(1));
- AddMove(LastGap(), Reg(1), Reg(0));
+ AddMove(LastInstruction(), Reg(1), Reg(0));
StartBlock();
EndBlock(Jump(1));
- auto gap_1 = LastGap();
+ auto gap_1 = LastInstruction();
AddMove(gap_1, Reg(0), Reg(1));
AddMove(gap_1, Reg(1), Reg(0));
@@ -169,9 +167,9 @@ TEST_F(MoveOptimizerTest, SimpleMergeCycle) {
Optimize();
- CHECK(gap_0->IsRedundant());
- CHECK(gap_1->IsRedundant());
- auto move = LastGap()->parallel_moves()[0];
+ CHECK(gap_0->AreMovesRedundant());
+ CHECK(gap_1->AreMovesRedundant());
+ auto move = LastInstruction()->parallel_moves()[0];
CHECK_EQ(2, NonRedundantSize(move));
CHECK(Contains(move, Reg(0), Reg(1)));
CHECK(Contains(move, Reg(1), Reg(0)));
« no previous file with comments | « test/cctest/compiler/test-jump-threading.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698