[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)
commit5e10e21d28496ba40ccd385740d7d1b4bb1368e4
tree02b3e53c8ff56f7c21c341385089c74d1522f868
parent16dbe0bc4427e7b92b34d156603e60a89fd5f6ff
[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. =/

llvm-svn: 225966
llvm/include/llvm/IR/Dominators.h
llvm/include/llvm/Support/GenericDomTree.h