blob: 305cbf340910905510f49bba4c190bca1b2cc747 [file] [log] [blame]
// Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
#ifndef RUNTIME_VM_COMPILER_BACKEND_BLOCK_SCHEDULER_H_
#define RUNTIME_VM_COMPILER_BACKEND_BLOCK_SCHEDULER_H_
#if defined(DART_PRECOMPILED_RUNTIME)
#error "AOT runtime should not use compiler sources (including header files)"
#endif // defined(DART_PRECOMPILED_RUNTIME)
#include "vm/allocation.h"
namespace dart {
class FlowGraph;
class BlockScheduler : public AllStatic {
public:
static void AssignEdgeWeights(FlowGraph* flow_graph);
static void ReorderBlocks(FlowGraph* flow_graph);
private:
static void ReorderBlocksAOT(FlowGraph* flow_graph);
static void ReorderBlocksJIT(FlowGraph* flow_graph);
};
} // namespace dart
#endif // RUNTIME_VM_COMPILER_BACKEND_BLOCK_SCHEDULER_H_