Add "extern template" declarations now that we use explicit instantiation.
authorAndrew Trick <atrick@apple.com>
Wed, 20 Jun 2012 20:17:20 +0000 (20:17 +0000)
committerAndrew Trick <atrick@apple.com>
Wed, 20 Jun 2012 20:17:20 +0000 (20:17 +0000)
commit60c7d5bc2cbeff9eff16716295ffd6a5374dc6bc
treea04289fffab73f2728e2d6da2f609d1e72065949
parent3affd9e8f366f241adbbc57ef53489ff2052db4f
Add "extern template" declarations now that we use explicit instantiation.

This is supported by gcc and clang, but guarded by a macro for MSVC 2008.

The extern template declaration is not necessary but generally good
form. It can avoid extra instantiations of the template methods
defined inline.

The EXTERN_TEMPLATE_INSTANTIATION macro could probably be generalized to
handle multiple template parameters if someone thinks it's worthwhile.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158840 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/Analysis/LoopInfo.h
include/llvm/CodeGen/MachineLoopInfo.h