7b33409ba3
An AdvancedReducer is basically a regular Reducer with an editor that can perform graph editing operations beyond changing or replacing the node that is currently being reduced. The GraphReducer is the default implementation of the AdvancedReducer::Editor interface. The ControlReducerImpl is now just an AdvancedReducer, which temporarily requires a Finish method in the reducer to implement the dead node trimming until we move that to the GraphReducer (which in turn requires that all loops are connected to End). Review URL: https://codereview.chromium.org/1122423003 Cr-Commit-Position: refs/heads/master@{#28251}
25 lines
711 B
C++
25 lines
711 B
C++
// Copyright 2015 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.
|
|
|
|
#ifndef V8_UNITTESTS_COMPILER_GRAPH_REDUCER_UNITTEST_H_
|
|
#define V8_UNITTESTS_COMPILER_GRAPH_REDUCER_UNITTEST_H_
|
|
|
|
#include "src/compiler/graph-reducer.h"
|
|
#include "testing/gmock/include/gmock/gmock.h"
|
|
|
|
namespace v8 {
|
|
namespace internal {
|
|
namespace compiler {
|
|
|
|
struct MockAdvancedReducerEditor : public AdvancedReducer::Editor {
|
|
MOCK_METHOD1(Revisit, void(Node*));
|
|
MOCK_METHOD2(Replace, void(Node*, Node*));
|
|
};
|
|
|
|
} // namespace compiler
|
|
} // namespace internal
|
|
} // namespace v8
|
|
|
|
#endif // V8_UNITTESTS_COMPILER_GRAPH_REDUCER_UNITTEST_H_
|