[PM] As was pointed out in review, I need to define a custom swap in
authorChandler Carruth <chandlerc@gmail.com>
Thu, 13 Mar 2014 10:42:18 +0000 (10:42 +0000)
committerChandler Carruth <chandlerc@gmail.com>
Thu, 13 Mar 2014 10:42:18 +0000 (10:42 +0000)
commit2d74092f5f420bbf10b526835b36d9a521746c2a
treef812fe69b340d8d7b1caa95c9d339b8d19f8dc80
parent04239506f1a69bc30a3b8e986be8f3310810969d
[PM] As was pointed out in review, I need to define a custom swap in
order to use the single assignment. That's probably worth doing for
a lot of these types anyways as they may have non-trivial moves and so
getting copy elision in more places seems worthwhile.

I've tried to add some tests that actually catch this mistake, and one
of the types is now well tested but the others' tests still fail to
catch this. I'll keep working on tests, but this gets the core pattern
right.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@203780 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/IR/PassManager.h
unittests/IR/PassManagerTest.cpp