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

Unified Diff: test/cctest/compiler/test-scheduler.cc

Issue 460633002: Remove duplication in Scheduler and simplify interface. Make ComputeSchedule() and ComputeSpecialRP… (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 6 years, 4 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-instruction.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: test/cctest/compiler/test-scheduler.cc
diff --git a/test/cctest/compiler/test-scheduler.cc b/test/cctest/compiler/test-scheduler.cc
index 43c8ae646e4966b5f82ec89fb0fc41e1bf985d56..ec4e77e1115479b29843ac35171ab473c8de8a5e 100644
--- a/test/cctest/compiler/test-scheduler.cc
+++ b/test/cctest/compiler/test-scheduler.cc
@@ -68,9 +68,8 @@ static void CheckLoopContains(BasicBlock** blocks, int body_size) {
TEST(RPODegenerate1) {
HandleAndZoneScope scope;
Schedule schedule(scope.main_zone());
- Scheduler scheduler(scope.main_zone(), NULL, &schedule);
- BasicBlockVector* order = scheduler.ComputeSpecialRPO();
+ BasicBlockVector* order = Scheduler::ComputeSpecialRPO(&schedule);
CheckRPONumbers(order, 1, false);
CHECK_EQ(schedule.entry(), order->at(0));
}
@@ -79,10 +78,9 @@ TEST(RPODegenerate1) {
TEST(RPODegenerate2) {
HandleAndZoneScope scope;
Schedule schedule(scope.main_zone());
- Scheduler scheduler(scope.main_zone(), NULL, &schedule);
schedule.AddGoto(schedule.entry(), schedule.exit());
- BasicBlockVector* order = scheduler.ComputeSpecialRPO();
+ BasicBlockVector* order = Scheduler::ComputeSpecialRPO(&schedule);
CheckRPONumbers(order, 2, false);
CHECK_EQ(schedule.entry(), order->at(0));
CHECK_EQ(schedule.exit(), order->at(1));
@@ -94,7 +92,6 @@ TEST(RPOLine) {
for (int i = 0; i < 10; i++) {
Schedule schedule(scope.main_zone());
- Scheduler scheduler(scope.main_zone(), NULL, &schedule);
BasicBlock* last = schedule.entry();
for (int j = 0; j < i; j++) {
@@ -102,7 +99,7 @@ TEST(RPOLine) {
schedule.AddGoto(last, block);
last = block;
}
- BasicBlockVector* order = scheduler.ComputeSpecialRPO();
+ BasicBlockVector* order = Scheduler::ComputeSpecialRPO(&schedule);
CheckRPONumbers(order, 1 + i, false);
Schedule::BasicBlocks blocks(schedule.all_blocks());
@@ -120,9 +117,8 @@ TEST(RPOLine) {
TEST(RPOSelfLoop) {
HandleAndZoneScope scope;
Schedule schedule(scope.main_zone());
- Scheduler scheduler(scope.main_zone(), NULL, &schedule);
schedule.AddSuccessor(schedule.entry(), schedule.entry());
- BasicBlockVector* order = scheduler.ComputeSpecialRPO();
+ BasicBlockVector* order = Scheduler::ComputeSpecialRPO(&schedule);
CheckRPONumbers(order, 1, true);
BasicBlock* loop[] = {schedule.entry()};
CheckLoopContains(loop, 1);
@@ -132,10 +128,9 @@ TEST(RPOSelfLoop) {
TEST(RPOEntryLoop) {
HandleAndZoneScope scope;
Schedule schedule(scope.main_zone());
- Scheduler scheduler(scope.main_zone(), NULL, &schedule);
schedule.AddSuccessor(schedule.entry(), schedule.exit());
schedule.AddSuccessor(schedule.exit(), schedule.entry());
- BasicBlockVector* order = scheduler.ComputeSpecialRPO();
+ BasicBlockVector* order = Scheduler::ComputeSpecialRPO(&schedule);
CheckRPONumbers(order, 2, true);
BasicBlock* loop[] = {schedule.entry(), schedule.exit()};
CheckLoopContains(loop, 2);
@@ -145,10 +140,9 @@ TEST(RPOEntryLoop) {
TEST(RPOEndLoop) {
HandleAndZoneScope scope;
Schedule schedule(scope.main_zone());
- Scheduler scheduler(scope.main_zone(), NULL, &schedule);
SmartPointer<TestLoop> loop1(CreateLoop(&schedule, 2));
schedule.AddSuccessor(schedule.entry(), loop1->header());
- BasicBlockVector* order = scheduler.ComputeSpecialRPO();
+ BasicBlockVector* order = Scheduler::ComputeSpecialRPO(&schedule);
CheckRPONumbers(order, 3, true);
CheckLoopContains(loop1->nodes, loop1->count);
}
@@ -157,11 +151,10 @@ TEST(RPOEndLoop) {
TEST(RPOEndLoopNested) {
HandleAndZoneScope scope;
Schedule schedule(scope.main_zone());
- Scheduler scheduler(scope.main_zone(), NULL, &schedule);
SmartPointer<TestLoop> loop1(CreateLoop(&schedule, 2));
schedule.AddSuccessor(schedule.entry(), loop1->header());
schedule.AddSuccessor(loop1->last(), schedule.entry());
- BasicBlockVector* order = scheduler.ComputeSpecialRPO();
+ BasicBlockVector* order = Scheduler::ComputeSpecialRPO(&schedule);
CheckRPONumbers(order, 3, true);
CheckLoopContains(loop1->nodes, loop1->count);
}
@@ -170,7 +163,6 @@ TEST(RPOEndLoopNested) {
TEST(RPODiamond) {
HandleAndZoneScope scope;
Schedule schedule(scope.main_zone());
- Scheduler scheduler(scope.main_zone(), NULL, &schedule);
BasicBlock* A = schedule.entry();
BasicBlock* B = schedule.NewBasicBlock();
@@ -182,7 +174,7 @@ TEST(RPODiamond) {
schedule.AddSuccessor(B, D);
schedule.AddSuccessor(C, D);
- BasicBlockVector* order = scheduler.ComputeSpecialRPO();
+ BasicBlockVector* order = Scheduler::ComputeSpecialRPO(&schedule);
CheckRPONumbers(order, 4, false);
CHECK_EQ(0, A->rpo_number_);
@@ -195,7 +187,6 @@ TEST(RPODiamond) {
TEST(RPOLoop1) {
HandleAndZoneScope scope;
Schedule schedule(scope.main_zone());
- Scheduler scheduler(scope.main_zone(), NULL, &schedule);
BasicBlock* A = schedule.entry();
BasicBlock* B = schedule.NewBasicBlock();
@@ -207,7 +198,7 @@ TEST(RPOLoop1) {
schedule.AddSuccessor(C, B);
schedule.AddSuccessor(C, D);
- BasicBlockVector* order = scheduler.ComputeSpecialRPO();
+ BasicBlockVector* order = Scheduler::ComputeSpecialRPO(&schedule);
CheckRPONumbers(order, 4, true);
BasicBlock* loop[] = {B, C};
CheckLoopContains(loop, 2);
@@ -217,7 +208,6 @@ TEST(RPOLoop1) {
TEST(RPOLoop2) {
HandleAndZoneScope scope;
Schedule schedule(scope.main_zone());
- Scheduler scheduler(scope.main_zone(), NULL, &schedule);
BasicBlock* A = schedule.entry();
BasicBlock* B = schedule.NewBasicBlock();
@@ -229,7 +219,7 @@ TEST(RPOLoop2) {
schedule.AddSuccessor(C, B);
schedule.AddSuccessor(B, D);
- BasicBlockVector* order = scheduler.ComputeSpecialRPO();
+ BasicBlockVector* order = Scheduler::ComputeSpecialRPO(&schedule);
CheckRPONumbers(order, 4, true);
BasicBlock* loop[] = {B, C};
CheckLoopContains(loop, 2);
@@ -241,7 +231,6 @@ TEST(RPOLoopN) {
for (int i = 0; i < 11; i++) {
Schedule schedule(scope.main_zone());
- Scheduler scheduler(scope.main_zone(), NULL, &schedule);
BasicBlock* A = schedule.entry();
BasicBlock* B = schedule.NewBasicBlock();
BasicBlock* C = schedule.NewBasicBlock();
@@ -272,7 +261,7 @@ TEST(RPOLoopN) {
if (i == 9) schedule.AddSuccessor(E, G);
if (i == 10) schedule.AddSuccessor(F, G);
- BasicBlockVector* order = scheduler.ComputeSpecialRPO();
+ BasicBlockVector* order = Scheduler::ComputeSpecialRPO(&schedule);
CheckRPONumbers(order, 7, true);
BasicBlock* loop[] = {B, C, D, E, F};
CheckLoopContains(loop, 5);
@@ -283,7 +272,6 @@ TEST(RPOLoopN) {
TEST(RPOLoopNest1) {
HandleAndZoneScope scope;
Schedule schedule(scope.main_zone());
- Scheduler scheduler(scope.main_zone(), NULL, &schedule);
BasicBlock* A = schedule.entry();
BasicBlock* B = schedule.NewBasicBlock();
@@ -300,7 +288,7 @@ TEST(RPOLoopNest1) {
schedule.AddSuccessor(E, B);
schedule.AddSuccessor(E, F);
- BasicBlockVector* order = scheduler.ComputeSpecialRPO();
+ BasicBlockVector* order = Scheduler::ComputeSpecialRPO(&schedule);
CheckRPONumbers(order, 6, true);
BasicBlock* loop1[] = {B, C, D, E};
CheckLoopContains(loop1, 4);
@@ -313,7 +301,6 @@ TEST(RPOLoopNest1) {
TEST(RPOLoopNest2) {
HandleAndZoneScope scope;
Schedule schedule(scope.main_zone());
- Scheduler scheduler(scope.main_zone(), NULL, &schedule);
BasicBlock* A = schedule.entry();
BasicBlock* B = schedule.NewBasicBlock();
@@ -336,7 +323,7 @@ TEST(RPOLoopNest2) {
schedule.AddSuccessor(F, C);
schedule.AddSuccessor(G, B);
- BasicBlockVector* order = scheduler.ComputeSpecialRPO();
+ BasicBlockVector* order = Scheduler::ComputeSpecialRPO(&schedule);
CheckRPONumbers(order, 8, true);
BasicBlock* loop1[] = {B, C, D, E, F, G};
CheckLoopContains(loop1, 6);
@@ -352,7 +339,6 @@ TEST(RPOLoopNest2) {
TEST(RPOLoopFollow1) {
HandleAndZoneScope scope;
Schedule schedule(scope.main_zone());
- Scheduler scheduler(scope.main_zone(), NULL, &schedule);
SmartPointer<TestLoop> loop1(CreateLoop(&schedule, 1));
SmartPointer<TestLoop> loop2(CreateLoop(&schedule, 1));
@@ -364,7 +350,7 @@ TEST(RPOLoopFollow1) {
schedule.AddSuccessor(loop1->header(), loop2->header());
schedule.AddSuccessor(loop2->last(), E);
- BasicBlockVector* order = scheduler.ComputeSpecialRPO();
+ BasicBlockVector* order = Scheduler::ComputeSpecialRPO(&schedule);
CheckLoopContains(loop1->nodes, loop1->count);
@@ -377,7 +363,6 @@ TEST(RPOLoopFollow1) {
TEST(RPOLoopFollow2) {
HandleAndZoneScope scope;
Schedule schedule(scope.main_zone());
- Scheduler scheduler(scope.main_zone(), NULL, &schedule);
SmartPointer<TestLoop> loop1(CreateLoop(&schedule, 1));
SmartPointer<TestLoop> loop2(CreateLoop(&schedule, 1));
@@ -391,7 +376,7 @@ TEST(RPOLoopFollow2) {
schedule.AddSuccessor(S, loop2->header());
schedule.AddSuccessor(loop2->last(), E);
- BasicBlockVector* order = scheduler.ComputeSpecialRPO();
+ BasicBlockVector* order = Scheduler::ComputeSpecialRPO(&schedule);
CheckLoopContains(loop1->nodes, loop1->count);
@@ -407,7 +392,6 @@ TEST(RPOLoopFollowN) {
for (int size = 1; size < 5; size++) {
for (int exit = 0; exit < size; exit++) {
Schedule schedule(scope.main_zone());
- Scheduler scheduler(scope.main_zone(), NULL, &schedule);
SmartPointer<TestLoop> loop1(CreateLoop(&schedule, size));
SmartPointer<TestLoop> loop2(CreateLoop(&schedule, size));
BasicBlock* A = schedule.entry();
@@ -416,7 +400,7 @@ TEST(RPOLoopFollowN) {
schedule.AddSuccessor(A, loop1->header());
schedule.AddSuccessor(loop1->nodes[exit], loop2->header());
schedule.AddSuccessor(loop2->nodes[exit], E);
- BasicBlockVector* order = scheduler.ComputeSpecialRPO();
+ BasicBlockVector* order = Scheduler::ComputeSpecialRPO(&schedule);
CheckLoopContains(loop1->nodes, loop1->count);
CHECK_EQ(schedule.BasicBlockCount(), static_cast<int>(order->size()));
@@ -430,7 +414,6 @@ TEST(RPOLoopFollowN) {
TEST(RPONestedLoopFollow1) {
HandleAndZoneScope scope;
Schedule schedule(scope.main_zone());
- Scheduler scheduler(scope.main_zone(), NULL, &schedule);
SmartPointer<TestLoop> loop1(CreateLoop(&schedule, 1));
SmartPointer<TestLoop> loop2(CreateLoop(&schedule, 1));
@@ -447,7 +430,7 @@ TEST(RPONestedLoopFollow1) {
schedule.AddSuccessor(C, E);
schedule.AddSuccessor(C, B);
- BasicBlockVector* order = scheduler.ComputeSpecialRPO();
+ BasicBlockVector* order = Scheduler::ComputeSpecialRPO(&schedule);
CheckLoopContains(loop1->nodes, loop1->count);
@@ -467,7 +450,6 @@ TEST(RPOLoopBackedges1) {
for (int i = 0; i < size; i++) {
for (int j = 0; j < size; j++) {
Schedule schedule(scope.main_zone());
- Scheduler scheduler(scope.main_zone(), NULL, &schedule);
BasicBlock* A = schedule.entry();
BasicBlock* E = schedule.exit();
@@ -478,7 +460,7 @@ TEST(RPOLoopBackedges1) {
schedule.AddSuccessor(loop1->nodes[i], loop1->header());
schedule.AddSuccessor(loop1->nodes[j], E);
- BasicBlockVector* order = scheduler.ComputeSpecialRPO();
+ BasicBlockVector* order = Scheduler::ComputeSpecialRPO(&schedule);
CheckRPONumbers(order, schedule.BasicBlockCount(), true);
CheckLoopContains(loop1->nodes, loop1->count);
}
@@ -493,7 +475,6 @@ TEST(RPOLoopOutedges1) {
for (int i = 0; i < size; i++) {
for (int j = 0; j < size; j++) {
Schedule schedule(scope.main_zone());
- Scheduler scheduler(scope.main_zone(), NULL, &schedule);
BasicBlock* A = schedule.entry();
BasicBlock* D = schedule.NewBasicBlock();
BasicBlock* E = schedule.exit();
@@ -506,7 +487,7 @@ TEST(RPOLoopOutedges1) {
schedule.AddSuccessor(loop1->nodes[j], D);
schedule.AddSuccessor(D, E);
- BasicBlockVector* order = scheduler.ComputeSpecialRPO();
+ BasicBlockVector* order = Scheduler::ComputeSpecialRPO(&schedule);
CheckRPONumbers(order, schedule.BasicBlockCount(), true);
CheckLoopContains(loop1->nodes, loop1->count);
}
@@ -520,7 +501,6 @@ TEST(RPOLoopOutedges2) {
int size = 8;
for (int i = 0; i < size; i++) {
Schedule schedule(scope.main_zone());
- Scheduler scheduler(scope.main_zone(), NULL, &schedule);
BasicBlock* A = schedule.entry();
BasicBlock* E = schedule.exit();
@@ -534,7 +514,7 @@ TEST(RPOLoopOutedges2) {
schedule.AddSuccessor(O, E);
}
- BasicBlockVector* order = scheduler.ComputeSpecialRPO();
+ BasicBlockVector* order = Scheduler::ComputeSpecialRPO(&schedule);
CheckRPONumbers(order, schedule.BasicBlockCount(), true);
CheckLoopContains(loop1->nodes, loop1->count);
}
@@ -547,7 +527,6 @@ TEST(RPOLoopOutloops1) {
int size = 8;
for (int i = 0; i < size; i++) {
Schedule schedule(scope.main_zone());
- Scheduler scheduler(scope.main_zone(), NULL, &schedule);
BasicBlock* A = schedule.entry();
BasicBlock* E = schedule.exit();
SmartPointer<TestLoop> loop1(CreateLoop(&schedule, size));
@@ -561,7 +540,7 @@ TEST(RPOLoopOutloops1) {
schedule.AddSuccessor(loopN[j]->last(), E);
}
- BasicBlockVector* order = scheduler.ComputeSpecialRPO();
+ BasicBlockVector* order = Scheduler::ComputeSpecialRPO(&schedule);
CheckRPONumbers(order, schedule.BasicBlockCount(), true);
CheckLoopContains(loop1->nodes, loop1->count);
@@ -577,7 +556,6 @@ TEST(RPOLoopOutloops1) {
TEST(RPOLoopMultibackedge) {
HandleAndZoneScope scope;
Schedule schedule(scope.main_zone());
- Scheduler scheduler(scope.main_zone(), NULL, &schedule);
BasicBlock* A = schedule.entry();
BasicBlock* B = schedule.NewBasicBlock();
@@ -593,7 +571,7 @@ TEST(RPOLoopMultibackedge) {
schedule.AddSuccessor(D, B);
schedule.AddSuccessor(E, B);
- BasicBlockVector* order = scheduler.ComputeSpecialRPO();
+ BasicBlockVector* order = Scheduler::ComputeSpecialRPO(&schedule);
CheckRPONumbers(order, 5, true);
BasicBlock* loop1[] = {B, C, D, E};
@@ -608,8 +586,7 @@ TEST(BuildScheduleEmpty) {
graph.SetStart(graph.NewNode(builder.Start(0)));
graph.SetEnd(graph.NewNode(builder.End(), graph.start()));
- Scheduler scheduler(scope.main_zone());
- USE(scheduler.NewSchedule(&graph));
+ USE(Scheduler::ComputeSchedule(&graph));
}
@@ -624,8 +601,7 @@ TEST(BuildScheduleOneParameter) {
graph.SetEnd(graph.NewNode(builder.End(), ret));
- Scheduler scheduler(scope.main_zone());
- USE(scheduler.NewSchedule(&graph));
+ USE(Scheduler::ComputeSchedule(&graph));
}
@@ -684,8 +660,7 @@ TEST(BuildScheduleIfSplit) {
PrintGraph(&graph);
- Scheduler scheduler(scope.main_zone());
- Schedule* schedule = scheduler.NewSchedule(&graph);
+ Schedule* schedule = Scheduler::ComputeSchedule(&graph);
PrintSchedule(schedule);
@@ -838,8 +813,7 @@ TEST(BuildScheduleIfSplitWithEffects) {
PrintGraph(&graph);
- Scheduler scheduler(scope.main_zone());
- Schedule* schedule = scheduler.NewSchedule(&graph);
+ Schedule* schedule = Scheduler::ComputeSchedule(&graph);
PrintSchedule(schedule);
@@ -958,8 +932,7 @@ TEST(BuildScheduleSimpleLoop) {
PrintGraph(&graph);
- Scheduler scheduler(scope.main_zone());
- Schedule* schedule = scheduler.NewSchedule(&graph);
+ Schedule* schedule = Scheduler::ComputeSchedule(&graph);
PrintSchedule(schedule);
@@ -1213,8 +1186,7 @@ TEST(BuildScheduleComplexLoops) {
PrintGraph(&graph);
- Scheduler scheduler(scope.main_zone());
- Schedule* schedule = scheduler.NewSchedule(&graph);
+ Schedule* schedule = Scheduler::ComputeSchedule(&graph);
PrintSchedule(schedule);
@@ -1550,8 +1522,7 @@ TEST(BuildScheduleBreakAndContinue) {
PrintGraph(&graph);
- Scheduler scheduler(scope.main_zone());
- Schedule* schedule = scheduler.NewSchedule(&graph);
+ Schedule* schedule = Scheduler::ComputeSchedule(&graph);
PrintSchedule(schedule);
@@ -1682,8 +1653,7 @@ TEST(BuildScheduleSimpleLoopWithCodeMotion) {
PrintGraph(&graph);
- Scheduler scheduler(scope.main_zone());
- Schedule* schedule = scheduler.NewSchedule(&graph);
+ Schedule* schedule = Scheduler::ComputeSchedule(&graph);
PrintSchedule(schedule);
@@ -1803,8 +1773,7 @@ TEST(BuildScheduleTrivialLazyDeoptCall) {
PrintGraph(&graph);
- Scheduler scheduler(scope.main_zone());
- Schedule* schedule = scheduler.NewSchedule(&graph);
+ Schedule* schedule = Scheduler::ComputeSchedule(&graph);
PrintSchedule(schedule);
« no previous file with comments | « test/cctest/compiler/test-instruction.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698