mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-03-18 12:31:26 +00:00
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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@201440 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
038600b42e
commit
d4762e88fd
@ -34,6 +34,17 @@ namespace llvm {
|
||||
EXTERN_TEMPLATE_INSTANTIATION(class DomTreeNodeBase<BasicBlock>);
|
||||
EXTERN_TEMPLATE_INSTANTIATION(class DominatorTreeBase<BasicBlock>);
|
||||
|
||||
#define LLVM_COMMA ,
|
||||
EXTERN_TEMPLATE_INSTANTIATION(
|
||||
void llvm::Calculate<Function LLVM_COMMA BasicBlock *>(
|
||||
DominatorTreeBase<typename GraphTraits<BasicBlock *>::NodeType> &DT
|
||||
LLVM_COMMA Function &F));
|
||||
EXTERN_TEMPLATE_INSTANTIATION(void llvm::Calculate<
|
||||
Function LLVM_COMMA Inverse<BasicBlock *> >(DominatorTreeBase<
|
||||
typename GraphTraits<Inverse<BasicBlock *> >::NodeType> &DT LLVM_COMMA
|
||||
Function &F));
|
||||
#undef LLVM_COMMA
|
||||
|
||||
typedef DomTreeNodeBase<BasicBlock> DomTreeNode;
|
||||
|
||||
class BasicBlockEdge {
|
||||
|
@ -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!
|
||||
|
Loading…
x
Reference in New Issue
Block a user