| Index: test/cctest/compiler/test-control-reducer.cc
|
| diff --git a/test/cctest/compiler/test-control-reducer.cc b/test/cctest/compiler/test-control-reducer.cc
|
| index f0efb7ddcd12bfca484cbce344a9d273df62ba43..f6d354767e7f40de5a7b40987fefd18499d5c419 100644
|
| --- a/test/cctest/compiler/test-control-reducer.cc
|
| +++ b/test/cctest/compiler/test-control-reducer.cc
|
| @@ -694,9 +694,9 @@ TEST(CMergeReduce_none1) {
|
| TEST(CMergeReduce_none2) {
|
| ControlReducerTester R;
|
|
|
| - Node* t = R.graph.NewNode(R.common.IfTrue(), R.start);
|
| - Node* f = R.graph.NewNode(R.common.IfFalse(), R.start);
|
| - Node* merge = R.graph.NewNode(R.common.Merge(2), t, f);
|
| + Node* t1 = R.graph.NewNode(R.common.IfTrue(), R.start);
|
| + Node* t2 = R.graph.NewNode(R.common.IfTrue(), R.start);
|
| + Node* merge = R.graph.NewNode(R.common.Merge(2), t1, t2);
|
| R.ReduceMerge(merge, merge);
|
| }
|
|
|
| @@ -744,7 +744,7 @@ TEST(CMergeReduce_dead_rm1b) {
|
| ControlReducerTester R;
|
|
|
| Node* t = R.graph.NewNode(R.common.IfTrue(), R.start);
|
| - Node* f = R.graph.NewNode(R.common.IfFalse(), R.start);
|
| + Node* f = R.graph.NewNode(R.common.IfTrue(), R.start);
|
| for (int i = 0; i < 2; i++) {
|
| Node* merge = R.graph.NewNode(R.common.Merge(3), R.dead, R.dead, R.dead);
|
| for (int j = i + 1; j < 3; j++) {
|
| @@ -1118,7 +1118,7 @@ TEST(CChainedDiamondsReduce_x_false) {
|
| Diamond d2(R, R.zero);
|
| d2.chain(d1);
|
|
|
| - R.ReduceMergeIterative(d1.merge, d2.merge);
|
| + R.ReduceMergeIterative(R.start, d2.merge);
|
| }
|
|
|
|
|
| @@ -1128,8 +1128,7 @@ TEST(CChainedDiamondsReduce_false_x) {
|
| Diamond d2(R, R.p0);
|
| d2.chain(d1);
|
|
|
| - R.ReduceMergeIterative(d2.merge, d2.merge);
|
| - CheckInputs(d2.branch, R.p0, R.start);
|
| + R.ReduceMergeIterative(R.start, d2.merge);
|
| }
|
|
|
|
|
| @@ -1190,6 +1189,14 @@ TEST(CNestedDiamonds_xyz) {
|
| }
|
|
|
|
|
| +TEST(CDeadDiamond) {
|
| + ControlReducerTester R;
|
| + // if (p0) { } else { }
|
| + Diamond d(R, R.p0);
|
| + R.ReduceMergeIterative(R.start, d.merge);
|
| +}
|
| +
|
| +
|
| TEST(CDeadLoop1) {
|
| ControlReducerTester R;
|
|
|
| @@ -1329,9 +1336,7 @@ TEST(Return_nested_diamonds1) {
|
|
|
| CheckInputs(ret, d1.phi, R.start, d1.merge);
|
| CheckInputs(d1.phi, R.one, R.zero, d1.merge);
|
| - CheckInputs(d1.merge, d2.merge, d3.merge);
|
| - CheckLiveDiamond(d2);
|
| - CheckLiveDiamond(d3);
|
| + CheckInputs(d1.merge, d1.if_true, d1.if_false);
|
| }
|
|
|
|
|
| @@ -1348,11 +1353,7 @@ TEST(Return_nested_diamonds_true1) {
|
|
|
| R.ReduceGraph(); // d1 gets folded true.
|
|
|
| - CheckInputs(ret, R.one, R.start, d2.merge);
|
| - CheckInputs(d2.branch, R.p0, R.start);
|
| - CheckDeadDiamond(d1);
|
| - CheckLiveDiamond(d2);
|
| - CheckDeadDiamond(d3);
|
| + CheckInputs(ret, R.one, R.start, R.start);
|
| }
|
|
|
|
|
| @@ -1369,11 +1370,7 @@ TEST(Return_nested_diamonds_false1) {
|
|
|
| R.ReduceGraph(); // d1 gets folded false.
|
|
|
| - CheckInputs(ret, R.zero, R.start, d3.merge);
|
| - CheckInputs(d3.branch, R.p0, R.start);
|
| - CheckDeadDiamond(d1);
|
| - CheckDeadDiamond(d2);
|
| - CheckLiveDiamond(d3);
|
| + CheckInputs(ret, R.zero, R.start, R.start);
|
| }
|
|
|
|
|
|
|