#ifndef LLVM_CODEGEN_REGALLOCPBQP_H
#define LLVM_CODEGEN_REGALLOCPBQP_H
#include "llvm/ADT/DenseMap.h"
#include "llvm/ADT/Hashing.h"
#include "llvm/CodeGen/PBQP/CostAllocator.h"
#include "llvm/CodeGen/PBQP/Graph.h"
#include "llvm/CodeGen/PBQP/Math.h"
#include "llvm/CodeGen/PBQP/ReductionRules.h"
#include "llvm/CodeGen/PBQP/Solution.h"
#include "llvm/CodeGen/Register.h"
#include "llvm/MC/MCRegister.h"
#include "llvm/Support/ErrorHandling.h"
#include <algorithm>
#include <cassert>
#include <cstddef>
#include <limits>
#include <memory>
#include <set>
#include <vector>
namespace llvm {
class FunctionPass;
class LiveIntervals;
class MachineBlockFrequencyInfo;
class MachineFunction;
class raw_ostream;
namespace PBQP {
namespace RegAlloc {
inline unsigned getSpillOptionIdx() { … }
class MatrixMetadata { … };
class AllowedRegVector { … };
inline hash_code hash_value(const AllowedRegVector &OptRegs) { … }
class GraphMetadata { … };
class NodeMetadata { … };
class RegAllocSolverImpl { … };
class PBQPRAGraph : public PBQP::Graph<RegAllocSolverImpl> { … };
inline Solution solve(PBQPRAGraph& G) { … }
}
}
FunctionPass *
createPBQPRegisterAllocator(char *customPassID = nullptr);
}
#endif