1717#include " llvm/Pass.h"
1818#include " llvm/PassRegistry.h"
1919#include " llvm/Support/CommandLine.h"
20+ #include " llvm/Support/Compiler.h"
2021#include " llvm/Support/GenericDomTreeConstruction.h"
2122
2223using namespace llvm ;
@@ -35,23 +36,23 @@ static cl::opt<bool, true> VerifyMachineDomInfoX(
3536 cl::desc(" Verify machine dominator info (time consuming)" ));
3637
3738namespace llvm {
38- template class DomTreeNodeBase <MachineBasicBlock>;
39- template class DominatorTreeBase <MachineBasicBlock, false >; // DomTreeBase
39+ template class LLVM_EXPORT_TEMPLATE DomTreeNodeBase<MachineBasicBlock>;
40+ template class LLVM_EXPORT_TEMPLATE DominatorTreeBase<MachineBasicBlock, false >; // DomTreeBase
4041
4142namespace DomTreeBuilder {
42- template void Calculate<MBBDomTree>(MBBDomTree &DT);
43- template void CalculateWithUpdates<MBBDomTree>(MBBDomTree &DT, MBBUpdates U);
43+ template LLVM_EXPORT_TEMPLATE void Calculate<MBBDomTree>(MBBDomTree &DT);
44+ template LLVM_EXPORT_TEMPLATE void CalculateWithUpdates<MBBDomTree>(MBBDomTree &DT, MBBUpdates U);
4445
45- template void InsertEdge<MBBDomTree>(MBBDomTree &DT, MachineBasicBlock *From,
46+ template LLVM_EXPORT_TEMPLATE void InsertEdge<MBBDomTree>(MBBDomTree &DT, MachineBasicBlock *From,
4647 MachineBasicBlock *To);
4748
48- template void DeleteEdge<MBBDomTree>(MBBDomTree &DT, MachineBasicBlock *From,
49+ template LLVM_EXPORT_TEMPLATE void DeleteEdge<MBBDomTree>(MBBDomTree &DT, MachineBasicBlock *From,
4950 MachineBasicBlock *To);
5051
51- template void ApplyUpdates<MBBDomTree>(MBBDomTree &DT, MBBDomTreeGraphDiff &,
52+ template LLVM_EXPORT_TEMPLATE void ApplyUpdates<MBBDomTree>(MBBDomTree &DT, MBBDomTreeGraphDiff &,
5253 MBBDomTreeGraphDiff *);
5354
54- template bool Verify<MBBDomTree>(const MBBDomTree &DT,
55+ template LLVM_EXPORT_TEMPLATE bool Verify<MBBDomTree>(const MBBDomTree &DT,
5556 MBBDomTree::VerificationLevel VL);
5657} // namespace DomTreeBuilder
5758}
0 commit comments