[PM] Make DominatorTrees (corectly) movable so that we can move them
authorChandler Carruth <chandlerc@gmail.com>
Wed, 14 Jan 2015 10:07:19 +0000 (10:07 +0000)
committerChandler Carruth <chandlerc@gmail.com>
Wed, 14 Jan 2015 10:07:19 +0000 (10:07 +0000)
commit4d47479074401fbbc23785a4f42fb590ae40422c
treef56ee5296d8776cf2b61e381a0ab61673e9ca7ed
parentf449c53c898f0460a83f700178cf28d835946d8b
[PM] Make DominatorTrees (corectly) movable so that we can move them
into the new pass manager's analysis cache which stores results
by-value.

Technically speaking, the dom trees were originally not movable but
copyable! This, unsurprisingly, didn't work at all -- the copy was
shallow and just resulted in rampant memory corruption. This change
explicitly forbids copying (as it would need to be a deep copy) and
makes them explicitly movable with the unsurprising boiler plate to
member-wise move them because we can't rely on MSVC to generate this
code for us. =/

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@225966 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/IR/Dominators.h
include/llvm/Support/GenericDomTree.h