chromium/v8/test/unittests/compiler/scheduler-unittest.cc

// 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.

#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);

}  // namespace


TEST_F(SchedulerTest, BuildScheduleEmpty) {}


TEST_F(SchedulerTest, BuildScheduleOneParameter) {}


namespace {

Node* CreateDiamond(Graph* graph, CommonOperatorBuilder* common, Node* cond) {}

}  // namespace


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) {}

}  // namespace compiler
}  // namespace internal
}  // namespace v8