summaryrefslogtreecommitdiff
path: root/lib/IR
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2014-02-14 22:36:16 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2014-02-14 22:36:16 +0000
commitd4762e88fd43fca789ed2016305bd88eb3179aa9 (patch)
treeed957c2073525497a4044b96b7dac6a8fe4c1467 /lib/IR
parent038600b42eae3c09fa14c8ab6e4720bcca702dde (diff)
downloadllvm-d4762e88fd43fca789ed2016305bd88eb3179aa9.tar.gz
llvm-d4762e88fd43fca789ed2016305bd88eb3179aa9.tar.bz2
llvm-d4762e88fd43fca789ed2016305bd88eb3179aa9.tar.xz
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
Diffstat (limited to 'lib/IR')
-rw-r--r--lib/IR/Dominators.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/lib/IR/Dominators.cpp b/lib/IR/Dominators.cpp
index 8fa742f745..baa6019098 100644
--- a/lib/IR/Dominators.cpp
+++ b/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!