diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2014-02-14 22:36:16 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2014-02-14 22:36:16 +0000 |
commit | 30616362d3a55592ec12abd7152af370ed1df709 (patch) | |
tree | b5accf44e246d59d15337baf3f3af15d962afa57 /llvm/lib/IR/Dominators.cpp | |
parent | 867c550947e941d99ffb7b9485f14c787942e7d5 (diff) | |
download | llvm-30616362d3a55592ec12abd7152af370ed1df709.zip llvm-30616362d3a55592ec12abd7152af370ed1df709.tar.gz llvm-30616362d3a55592ec12abd7152af370ed1df709.tar.bz2 |
Add extern template instantiations of llvm::Calculate.
This should be a small build time improvement in general and fixes
the build on OS X with -DBUILD_SHARED_LIBS=ON.
The issue is that not all users are including GenericDomTreeConstruction.h,
causing undefined references when ld64 managed to hide the
linkonce_odr symbols.
llvm-svn: 201440
Diffstat (limited to 'llvm/lib/IR/Dominators.cpp')
-rw-r--r-- | llvm/lib/IR/Dominators.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/llvm/lib/IR/Dominators.cpp b/llvm/lib/IR/Dominators.cpp index 8fa742f..baa6019 100644 --- a/llvm/lib/IR/Dominators.cpp +++ b/llvm/lib/IR/Dominators.cpp @@ -64,6 +64,16 @@ bool BasicBlockEdge::isSingleEdge() const { TEMPLATE_INSTANTIATION(class llvm::DomTreeNodeBase<BasicBlock>); TEMPLATE_INSTANTIATION(class llvm::DominatorTreeBase<BasicBlock>); +#define LLVM_COMMA , +TEMPLATE_INSTANTIATION(void llvm::Calculate<Function LLVM_COMMA BasicBlock *>( + DominatorTreeBase<typename GraphTraits<BasicBlock *>::NodeType> &DT + LLVM_COMMA Function &F)); +TEMPLATE_INSTANTIATION(void llvm::Calculate< + Function LLVM_COMMA Inverse<BasicBlock *> >(DominatorTreeBase< + typename GraphTraits<Inverse<BasicBlock *> >::NodeType> &DT LLVM_COMMA + Function &F)); +#undef LLVM_COMMA + // dominates - Return true if Def dominates a use in User. This performs // the special checks necessary if Def and User are in the same basic block. // Note that Def doesn't dominate a use in Def itself! |