diff options
Diffstat (limited to 'deps/v8/test/unittests/compiler/scheduler-unittest.cc')
-rw-r--r-- | deps/v8/test/unittests/compiler/scheduler-unittest.cc | 80 |
1 files changed, 51 insertions, 29 deletions
diff --git a/deps/v8/test/unittests/compiler/scheduler-unittest.cc b/deps/v8/test/unittests/compiler/scheduler-unittest.cc index af43b2efff..523c8ce9d4 100644 --- a/deps/v8/test/unittests/compiler/scheduler-unittest.cc +++ b/deps/v8/test/unittests/compiler/scheduler-unittest.cc @@ -13,6 +13,7 @@ #include "src/compiler/schedule.h" #include "src/compiler/scheduler.h" #include "src/compiler/simplified-operator.h" +#include "src/compiler/source-position.h" #include "src/compiler/verifier.h" #include "test/unittests/compiler/compiler-test-utils.h" #include "test/unittests/test-utils.h" @@ -32,7 +33,8 @@ class SchedulerTest : public TestWithIsolateAndZone { Schedule* ComputeAndVerifySchedule(size_t expected) { if (FLAG_trace_turbo) { OFStream os(stdout); - os << AsDOT(*graph()); + SourcePositionTable table(graph()); + os << AsJSON(*graph(), &table); } Schedule* schedule = @@ -658,7 +660,8 @@ Node* CreateDiamond(Graph* graph, CommonOperatorBuilder* common, Node* cond) { Node* t = graph->NewNode(common->IfTrue(), br); Node* f = graph->NewNode(common->IfFalse(), br); Node* m = graph->NewNode(common->Merge(2), t, f); - Node* phi = graph->NewNode(common->Phi(kMachAnyTagged, 2), tv, fv, m); + Node* phi = + graph->NewNode(common->Phi(MachineRepresentation::kTagged, 2), tv, fv, m); return phi; } @@ -737,12 +740,13 @@ TARGET_TEST_F(SchedulerTest, NestedFloatingDiamonds) { Node* m1 = graph()->NewNode(common()->Merge(2), t1, f1); Node* ttrue = graph()->NewNode(common()->Int32Constant(1)); Node* ffalse = graph()->NewNode(common()->Int32Constant(0)); - Node* phi1 = - graph()->NewNode(common()->Phi(kMachAnyTagged, 2), ttrue, ffalse, m1); + Node* phi1 = graph()->NewNode( + common()->Phi(MachineRepresentation::kTagged, 2), ttrue, ffalse, m1); Node* m = graph()->NewNode(common()->Merge(2), t, f); - Node* phi = graph()->NewNode(common()->Phi(kMachAnyTagged, 2), fv, phi1, m); + Node* phi = graph()->NewNode(common()->Phi(MachineRepresentation::kTagged, 2), + fv, phi1, m); Node* ephi1 = graph()->NewNode(common()->EffectPhi(2), start, map, m); Node* ret = graph()->NewNode(common()->Return(), phi, ephi1, start); @@ -766,27 +770,29 @@ TARGET_TEST_F(SchedulerTest, NestedFloatingDiamondWithChain) { Node* tA1 = graph()->NewNode(common()->IfTrue(), brA1); Node* fA1 = graph()->NewNode(common()->IfFalse(), brA1); Node* mA1 = graph()->NewNode(common()->Merge(2), tA1, fA1); - Node* phiA1 = graph()->NewNode(common()->Phi(kMachAnyTagged, 2), p0, p1, mA1); + Node* phiA1 = graph()->NewNode( + common()->Phi(MachineRepresentation::kTagged, 2), p0, p1, mA1); Node* brB1 = graph()->NewNode(common()->Branch(), p1, graph()->start()); Node* tB1 = graph()->NewNode(common()->IfTrue(), brB1); Node* fB1 = graph()->NewNode(common()->IfFalse(), brB1); Node* mB1 = graph()->NewNode(common()->Merge(2), tB1, fB1); - Node* phiB1 = graph()->NewNode(common()->Phi(kMachAnyTagged, 2), p0, p1, mB1); + Node* phiB1 = graph()->NewNode( + common()->Phi(MachineRepresentation::kTagged, 2), p0, p1, mB1); Node* brA2 = graph()->NewNode(common()->Branch(), phiB1, mA1); Node* tA2 = graph()->NewNode(common()->IfTrue(), brA2); Node* fA2 = graph()->NewNode(common()->IfFalse(), brA2); Node* mA2 = graph()->NewNode(common()->Merge(2), tA2, fA2); - Node* phiA2 = - graph()->NewNode(common()->Phi(kMachAnyTagged, 2), phiB1, c, mA2); + Node* phiA2 = graph()->NewNode( + common()->Phi(MachineRepresentation::kTagged, 2), phiB1, c, mA2); Node* brB2 = graph()->NewNode(common()->Branch(), phiA1, mB1); Node* tB2 = graph()->NewNode(common()->IfTrue(), brB2); Node* fB2 = graph()->NewNode(common()->IfFalse(), brB2); Node* mB2 = graph()->NewNode(common()->Merge(2), tB2, fB2); - Node* phiB2 = - graph()->NewNode(common()->Phi(kMachAnyTagged, 2), phiA1, c, mB2); + Node* phiB2 = graph()->NewNode( + common()->Phi(MachineRepresentation::kTagged, 2), phiA1, c, mB2); Node* add = graph()->NewNode(&kIntAdd, phiA2, phiB2); Node* ret = graph()->NewNode(common()->Return(), add, start, start); @@ -810,7 +816,8 @@ TARGET_TEST_F(SchedulerTest, NestedFloatingDiamondWithLoop) { Node* f = graph()->NewNode(common()->IfFalse(), br); Node* loop = graph()->NewNode(common()->Loop(2), f, start); - Node* ind = graph()->NewNode(common()->Phi(kMachAnyTagged, 2), p0, p0, loop); + Node* ind = graph()->NewNode(common()->Phi(MachineRepresentation::kTagged, 2), + p0, p0, loop); Node* add = graph()->NewNode(&kIntAdd, ind, fv); Node* br1 = graph()->NewNode(common()->Branch(), add, loop); @@ -821,7 +828,8 @@ TARGET_TEST_F(SchedulerTest, NestedFloatingDiamondWithLoop) { ind->ReplaceInput(1, ind); // close induction variable. Node* m = graph()->NewNode(common()->Merge(2), t, f1); - Node* phi = graph()->NewNode(common()->Phi(kMachAnyTagged, 2), fv, ind, m); + Node* phi = graph()->NewNode(common()->Phi(MachineRepresentation::kTagged, 2), + fv, ind, m); Node* ret = graph()->NewNode(common()->Return(), phi, start, start); Node* end = graph()->NewNode(common()->End(1), ret); @@ -840,7 +848,8 @@ TARGET_TEST_F(SchedulerTest, LoopedFloatingDiamond1) { Node* c = graph()->NewNode(common()->Int32Constant(7)); Node* loop = graph()->NewNode(common()->Loop(2), start, start); - Node* ind = graph()->NewNode(common()->Phi(kMachAnyTagged, 2), p0, p0, loop); + Node* ind = graph()->NewNode(common()->Phi(MachineRepresentation::kTagged, 2), + p0, p0, loop); Node* add = graph()->NewNode(&kIntAdd, ind, c); Node* br = graph()->NewNode(common()->Branch(), add, loop); @@ -851,7 +860,8 @@ TARGET_TEST_F(SchedulerTest, LoopedFloatingDiamond1) { Node* t1 = graph()->NewNode(common()->IfTrue(), br1); Node* f1 = graph()->NewNode(common()->IfFalse(), br1); Node* m1 = graph()->NewNode(common()->Merge(2), t1, f1); - Node* phi1 = graph()->NewNode(common()->Phi(kMachAnyTagged, 2), add, p0, m1); + Node* phi1 = graph()->NewNode( + common()->Phi(MachineRepresentation::kTagged, 2), add, p0, m1); loop->ReplaceInput(1, t); // close loop. ind->ReplaceInput(1, phi1); // close induction variable. @@ -873,13 +883,15 @@ TARGET_TEST_F(SchedulerTest, LoopedFloatingDiamond2) { Node* c = graph()->NewNode(common()->Int32Constant(7)); Node* loop = graph()->NewNode(common()->Loop(2), start, start); - Node* ind = graph()->NewNode(common()->Phi(kMachAnyTagged, 2), p0, p0, loop); + Node* ind = graph()->NewNode(common()->Phi(MachineRepresentation::kTagged, 2), + p0, p0, loop); Node* br1 = graph()->NewNode(common()->Branch(), p0, graph()->start()); Node* t1 = graph()->NewNode(common()->IfTrue(), br1); Node* f1 = graph()->NewNode(common()->IfFalse(), br1); Node* m1 = graph()->NewNode(common()->Merge(2), t1, f1); - Node* phi1 = graph()->NewNode(common()->Phi(kMachAnyTagged, 2), c, ind, m1); + Node* phi1 = graph()->NewNode( + common()->Phi(MachineRepresentation::kTagged, 2), c, ind, m1); Node* add = graph()->NewNode(&kIntAdd, ind, phi1); @@ -907,14 +919,16 @@ TARGET_TEST_F(SchedulerTest, LoopedFloatingDiamond3) { Node* c = graph()->NewNode(common()->Int32Constant(7)); Node* loop = graph()->NewNode(common()->Loop(2), start, start); - Node* ind = graph()->NewNode(common()->Phi(kMachAnyTagged, 2), p0, p0, loop); + Node* ind = graph()->NewNode(common()->Phi(MachineRepresentation::kTagged, 2), + p0, p0, loop); Node* br1 = graph()->NewNode(common()->Branch(), p0, graph()->start()); Node* t1 = graph()->NewNode(common()->IfTrue(), br1); Node* f1 = graph()->NewNode(common()->IfFalse(), br1); Node* loop1 = graph()->NewNode(common()->Loop(2), t1, start); - Node* ind1 = graph()->NewNode(common()->Phi(kMachAnyTagged, 2), p0, p0, loop); + Node* ind1 = graph()->NewNode( + common()->Phi(MachineRepresentation::kTagged, 2), p0, p0, loop); Node* add1 = graph()->NewNode(&kIntAdd, ind1, c); Node* br2 = graph()->NewNode(common()->Branch(), add1, loop1); @@ -925,7 +939,8 @@ TARGET_TEST_F(SchedulerTest, LoopedFloatingDiamond3) { ind1->ReplaceInput(1, ind1); // close inner induction variable. Node* m1 = graph()->NewNode(common()->Merge(2), f1, f2); - Node* phi1 = graph()->NewNode(common()->Phi(kMachAnyTagged, 2), c, ind1, m1); + Node* phi1 = graph()->NewNode( + common()->Phi(MachineRepresentation::kTagged, 2), c, ind1, m1); Node* add = graph()->NewNode(&kIntAdd, ind, phi1); @@ -960,15 +975,17 @@ TARGET_TEST_F(SchedulerTest, PhisPushedDownToDifferentBranches) { Node* t = graph()->NewNode(common()->IfTrue(), br); Node* f = graph()->NewNode(common()->IfFalse(), br); Node* m = graph()->NewNode(common()->Merge(2), t, f); - Node* phi = graph()->NewNode(common()->Phi(kMachAnyTagged, 2), v1, v2, m); - Node* phi2 = graph()->NewNode(common()->Phi(kMachAnyTagged, 2), v3, v4, m); + Node* phi = graph()->NewNode(common()->Phi(MachineRepresentation::kTagged, 2), + v1, v2, m); + Node* phi2 = graph()->NewNode( + common()->Phi(MachineRepresentation::kTagged, 2), v3, v4, m); Node* br2 = graph()->NewNode(common()->Branch(), p1, graph()->start()); Node* t2 = graph()->NewNode(common()->IfTrue(), br2); Node* f2 = graph()->NewNode(common()->IfFalse(), br2); Node* m2 = graph()->NewNode(common()->Merge(2), t2, f2); - Node* phi3 = - graph()->NewNode(common()->Phi(kMachAnyTagged, 2), phi, phi2, m2); + Node* phi3 = graph()->NewNode( + common()->Phi(MachineRepresentation::kTagged, 2), phi, phi2, m2); Node* ret = graph()->NewNode(common()->Return(), phi3, start, start); Node* end = graph()->NewNode(common()->End(1), ret); @@ -990,7 +1007,8 @@ TARGET_TEST_F(SchedulerTest, BranchHintTrue) { Node* t = graph()->NewNode(common()->IfTrue(), br); Node* f = graph()->NewNode(common()->IfFalse(), br); Node* m = graph()->NewNode(common()->Merge(2), t, f); - Node* phi = graph()->NewNode(common()->Phi(kMachAnyTagged, 2), tv, fv, m); + Node* phi = graph()->NewNode(common()->Phi(MachineRepresentation::kTagged, 2), + tv, fv, m); Node* ret = graph()->NewNode(common()->Return(), phi, start, start); Node* end = graph()->NewNode(common()->End(1), ret); @@ -1014,7 +1032,8 @@ TARGET_TEST_F(SchedulerTest, BranchHintFalse) { Node* t = graph()->NewNode(common()->IfTrue(), br); Node* f = graph()->NewNode(common()->IfFalse(), br); Node* m = graph()->NewNode(common()->Merge(2), t, f); - Node* phi = graph()->NewNode(common()->Phi(kMachAnyTagged, 2), tv, fv, m); + Node* phi = graph()->NewNode(common()->Phi(MachineRepresentation::kTagged, 2), + tv, fv, m); Node* ret = graph()->NewNode(common()->Return(), phi, start, start); Node* end = graph()->NewNode(common()->End(1), ret); @@ -1042,7 +1061,8 @@ TARGET_TEST_F(SchedulerTest, CallException) { common()->IfException(IfExceptionHint::kLocallyUncaught), c2, c2); Node* hdl = graph()->NewNode(common()->Merge(2), ex1, ex2); Node* m = graph()->NewNode(common()->Merge(2), ok2, hdl); - Node* phi = graph()->NewNode(common()->Phi(kMachAnyTagged, 2), c2, p0, m); + Node* phi = graph()->NewNode(common()->Phi(MachineRepresentation::kTagged, 2), + c2, p0, m); Node* ret = graph()->NewNode(common()->Return(), phi, start, m); Node* end = graph()->NewNode(common()->End(1), ret); @@ -1084,7 +1104,8 @@ TARGET_TEST_F(SchedulerTest, Switch) { Node* d = graph()->NewNode(common()->IfDefault(), sw); Node* vd = graph()->NewNode(common()->Int32Constant(33)); Node* m = graph()->NewNode(common()->Merge(3), c0, c1, d); - Node* phi = graph()->NewNode(common()->Phi(kMachInt32, 3), v0, v1, vd, m); + Node* phi = graph()->NewNode(common()->Phi(MachineRepresentation::kWord32, 3), + v0, v1, vd, m); Node* ret = graph()->NewNode(common()->Return(), phi, start, m); Node* end = graph()->NewNode(common()->End(1), ret); @@ -1107,7 +1128,8 @@ TARGET_TEST_F(SchedulerTest, FloatingSwitch) { Node* d = graph()->NewNode(common()->IfDefault(), sw); Node* vd = graph()->NewNode(common()->Int32Constant(33)); Node* m = graph()->NewNode(common()->Merge(3), c0, c1, d); - Node* phi = graph()->NewNode(common()->Phi(kMachInt32, 3), v0, v1, vd, m); + Node* phi = graph()->NewNode(common()->Phi(MachineRepresentation::kWord32, 3), + v0, v1, vd, m); Node* ret = graph()->NewNode(common()->Return(), phi, start, start); Node* end = graph()->NewNode(common()->End(1), ret); |