#ifndef LLVM_CODEGEN_MACHINEPOSTDOMINATORS_H
#define LLVM_CODEGEN_MACHINEPOSTDOMINATORS_H
#include "llvm/CodeGen/MachineDominators.h"
namespace llvm {
extern template class DominatorTreeBase<MachineBasicBlock, true>;
namespace DomTreeBuilder {
MBBPostDomTree;
MBBPostDomTreeGraphDiff;
extern template void Calculate<MBBPostDomTree>(MBBPostDomTree &DT);
extern template void InsertEdge<MBBPostDomTree>(MBBPostDomTree &DT,
MachineBasicBlock *From,
MachineBasicBlock *To);
extern template void DeleteEdge<MBBPostDomTree>(MBBPostDomTree &DT,
MachineBasicBlock *From,
MachineBasicBlock *To);
extern template void ApplyUpdates<MBBPostDomTree>(MBBPostDomTree &DT,
MBBPostDomTreeGraphDiff &,
MBBPostDomTreeGraphDiff *);
extern template bool
Verify<MBBPostDomTree>(const MBBPostDomTree &DT,
MBBPostDomTree::VerificationLevel VL);
}
class MachinePostDominatorTree : public PostDomTreeBase<MachineBasicBlock> { … };
class MachinePostDominatorTreeAnalysis
: public AnalysisInfoMixin<MachinePostDominatorTreeAnalysis> { … };
class MachinePostDominatorTreePrinterPass
: public PassInfoMixin<MachinePostDominatorTreePrinterPass> { … };
class MachinePostDominatorTreeWrapperPass : public MachineFunctionPass { … };
}
#endif