#include "src/compiler/scheduler.h"
#include "src/codegen/tick-counter.h"
#include "src/compiler/access-builder.h"
#include "src/compiler/common-operator.h"
#include "src/compiler/compiler-source-position-table.h"
#include "src/compiler/graph-visualizer.h"
#include "src/compiler/graph.h"
#include "src/compiler/js-operator.h"
#include "src/compiler/node-origin-table.h"
#include "src/compiler/node.h"
#include "src/compiler/opcodes.h"
#include "src/compiler/operator.h"
#include "src/compiler/schedule.h"
#include "src/compiler/simplified-operator.h"
#include "src/compiler/verifier.h"
#include "test/unittests/compiler/compiler-test-utils.h"
#include "test/unittests/test-utils.h"
#include "testing/gmock/include/gmock/gmock.h"
AnyOf;
namespace v8 {
namespace internal {
namespace compiler {
class SchedulerTest : public TestWithIsolateAndZone { … };
namespace {
const Operator kHeapConstant(IrOpcode::kHeapConstant, Operator::kPure,
"HeapConstant", 0, 0, 0, 1, 0, 0);
const Operator kIntAdd(IrOpcode::kInt32Add, Operator::kPure, "Int32Add", 2, 0,
0, 1, 0, 0);
const Operator kMockCall(IrOpcode::kCall, Operator::kNoProperties, "MockCall",
0, 0, 1, 1, 1, 2);
const Operator kMockTailCall(IrOpcode::kTailCall, Operator::kNoProperties,
"MockTailCall", 1, 1, 1, 0, 0, 1);
}
TEST_F(SchedulerTest, BuildScheduleEmpty) { … }
TEST_F(SchedulerTest, BuildScheduleOneParameter) { … }
namespace {
Node* CreateDiamond(Graph* graph, CommonOperatorBuilder* common, Node* cond) { … }
}
TARGET_TEST_F(SchedulerTest, FloatingDiamond1) { … }
TARGET_TEST_F(SchedulerTest, FloatingDeadDiamond1) { … }
TARGET_TEST_F(SchedulerTest, FloatingDeadDiamond2) { … }
TARGET_TEST_F(SchedulerTest, FloatingDiamond2) { … }
TARGET_TEST_F(SchedulerTest, FloatingDiamond3) { … }
TARGET_TEST_F(SchedulerTest, NestedFloatingDiamonds) { … }
TARGET_TEST_F(SchedulerTest, NestedFloatingDiamondWithChain) { … }
TARGET_TEST_F(SchedulerTest, NestedFloatingDiamondWithLoop) { … }
TARGET_TEST_F(SchedulerTest, LoopedFloatingDiamond1) { … }
TARGET_TEST_F(SchedulerTest, LoopedFloatingDiamond2) { … }
TARGET_TEST_F(SchedulerTest, LoopedFloatingDiamond3) { … }
TARGET_TEST_F(SchedulerTest, PhisPushedDownToDifferentBranches) { … }
TARGET_TEST_F(SchedulerTest, BranchHintTrue) { … }
TARGET_TEST_F(SchedulerTest, BranchHintFalse) { … }
TARGET_TEST_F(SchedulerTest, CallException) { … }
TARGET_TEST_F(SchedulerTest, TailCall) { … }
TARGET_TEST_F(SchedulerTest, Switch) { … }
TARGET_TEST_F(SchedulerTest, FloatingSwitch) { … }
TARGET_TEST_F(SchedulerTest, Terminate) { … }
}
}
}