#ifndef BOLT_CORE_BINARY_BASIC_BLOCK_H
#define BOLT_CORE_BINARY_BASIC_BLOCK_H
#include "bolt/Core/FunctionLayout.h"
#include "bolt/Core/MCPlus.h"
#include "llvm/ADT/GraphTraits.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/Config/llvm-config.h"
#include "llvm/MC/MCInst.h"
#include "llvm/MC/MCSymbol.h"
#include "llvm/Support/ErrorOr.h"
#include "llvm/Support/raw_ostream.h"
#include <limits>
#include <utility>
namespace llvm {
class MCCodeEmitter;
namespace bolt {
class BinaryFunction;
class JumpTable;
class BinaryBasicBlock { … };
#if defined(LLVM_ON_UNIX)
static_assert …;
#endif
bool operator<(const BinaryBasicBlock &LHS, const BinaryBasicBlock &RHS);
}
template <> struct GraphTraits<bolt::BinaryBasicBlock *> { … };
template <> struct GraphTraits<const bolt::BinaryBasicBlock *> { … };
template <> struct GraphTraits<Inverse<bolt::BinaryBasicBlock *>> { … };
template <> struct GraphTraits<Inverse<const bolt::BinaryBasicBlock *>> { … };
}
#endif