| Index: src/compiler/graph-reducer-unittest.cc
|
| diff --git a/src/compiler/graph-reducer-unittest.cc b/src/compiler/graph-reducer-unittest.cc
|
| deleted file mode 100644
|
| index 2729d5803a9079e1238d98f7f5a2fa5504ba99ca..0000000000000000000000000000000000000000
|
| --- a/src/compiler/graph-reducer-unittest.cc
|
| +++ /dev/null
|
| @@ -1,115 +0,0 @@
|
| -// Copyright 2014 the V8 project authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -#include "src/compiler/graph.h"
|
| -#include "src/compiler/graph-reducer.h"
|
| -#include "src/compiler/operator.h"
|
| -#include "src/test/test-utils.h"
|
| -#include "testing/gmock/include/gmock/gmock.h"
|
| -
|
| -using testing::_;
|
| -using testing::DefaultValue;
|
| -using testing::Return;
|
| -using testing::Sequence;
|
| -using testing::StrictMock;
|
| -
|
| -namespace v8 {
|
| -namespace internal {
|
| -namespace compiler {
|
| -
|
| -namespace {
|
| -
|
| -SimpleOperator OP0(0, Operator::kNoWrite, 0, 1, "op0");
|
| -SimpleOperator OP1(1, Operator::kNoProperties, 1, 1, "op1");
|
| -
|
| -
|
| -struct MockReducer : public Reducer {
|
| - MOCK_METHOD1(Reduce, Reduction(Node*));
|
| -};
|
| -
|
| -} // namespace
|
| -
|
| -
|
| -class GraphReducerTest : public TestWithZone {
|
| - public:
|
| - GraphReducerTest() : graph_(zone()) {}
|
| -
|
| - static void SetUpTestCase() {
|
| - TestWithZone::SetUpTestCase();
|
| - DefaultValue<Reduction>::Set(Reducer::NoChange());
|
| - }
|
| -
|
| - static void TearDownTestCase() {
|
| - DefaultValue<Reduction>::Clear();
|
| - TestWithZone::TearDownTestCase();
|
| - }
|
| -
|
| - protected:
|
| - void ReduceNode(Node* node, Reducer* r) {
|
| - GraphReducer reducer(graph());
|
| - reducer.AddReducer(r);
|
| - reducer.ReduceNode(node);
|
| - }
|
| -
|
| - void ReduceNode(Node* node, Reducer* r1, Reducer* r2) {
|
| - GraphReducer reducer(graph());
|
| - reducer.AddReducer(r1);
|
| - reducer.AddReducer(r2);
|
| - reducer.ReduceNode(node);
|
| - }
|
| -
|
| - void ReduceNode(Node* node, Reducer* r1, Reducer* r2, Reducer* r3) {
|
| - GraphReducer reducer(graph());
|
| - reducer.AddReducer(r1);
|
| - reducer.AddReducer(r2);
|
| - reducer.AddReducer(r3);
|
| - reducer.ReduceNode(node);
|
| - }
|
| -
|
| - Graph* graph() { return &graph_; }
|
| -
|
| - private:
|
| - Graph graph_;
|
| -};
|
| -
|
| -
|
| -TEST_F(GraphReducerTest, NodeIsDeadAfterReplace) {
|
| - StrictMock<MockReducer> r;
|
| - Node* node0 = graph()->NewNode(&OP0);
|
| - Node* node1 = graph()->NewNode(&OP1, node0);
|
| - Node* node2 = graph()->NewNode(&OP1, node0);
|
| - EXPECT_CALL(r, Reduce(node1)).WillOnce(Return(Reducer::Replace(node2)));
|
| - ReduceNode(node1, &r);
|
| - EXPECT_FALSE(node0->IsDead());
|
| - EXPECT_TRUE(node1->IsDead());
|
| - EXPECT_FALSE(node2->IsDead());
|
| -}
|
| -
|
| -
|
| -TEST_F(GraphReducerTest, ReduceOnceForEveryReducer) {
|
| - StrictMock<MockReducer> r1, r2;
|
| - Node* node0 = graph()->NewNode(&OP0);
|
| - EXPECT_CALL(r1, Reduce(node0));
|
| - EXPECT_CALL(r2, Reduce(node0));
|
| - ReduceNode(node0, &r1, &r2);
|
| -}
|
| -
|
| -
|
| -TEST_F(GraphReducerTest, ReduceAgainAfterChanged) {
|
| - Sequence s1, s2, s3;
|
| - StrictMock<MockReducer> r1, r2, r3;
|
| - Node* node0 = graph()->NewNode(&OP0);
|
| - EXPECT_CALL(r1, Reduce(node0));
|
| - EXPECT_CALL(r2, Reduce(node0));
|
| - EXPECT_CALL(r3, Reduce(node0)).InSequence(s1, s2, s3).WillOnce(
|
| - Return(Reducer::Changed(node0)));
|
| - EXPECT_CALL(r1, Reduce(node0)).InSequence(s1);
|
| - EXPECT_CALL(r2, Reduce(node0)).InSequence(s2);
|
| - EXPECT_CALL(r3, Reduce(node0)).InSequence(s3);
|
| - ReduceNode(node0, &r1, &r2, &r3);
|
| -}
|
| -
|
| -} // namespace compiler
|
| -} // namespace internal
|
| -} // namespace v8
|
|
|