Make the MemorySSAUpdater movable.
Details
Diff Detail
- Repository
- rL LLVM
- Build Status
Buildable 21708 Build 21708: arc lint + arc unit
Event Timeline
include/llvm/Analysis/MemorySSAUpdater.h | ||
---|---|---|
76 | You don't zero it out in the move constructor, why do it here? Do we do something in the destructor with it, if so it should be in both? Also, if we do need this, s/0/nullptr/ |
include/llvm/Analysis/MemorySSAUpdater.h | ||
---|---|---|
73 | We shouldn't need to write it at all if that worked.... I think the issue is the SmallSet of AssertingVH's? |
include/llvm/Analysis/MemorySSAUpdater.h | ||
---|---|---|
73 | This does raise the point that as-is, this is a very surprising move constructor. I'd suggest moving all members somewhat pedantically to make it less surprising. And you might need to clear the actual AssertingVH container after that so that, not sure. |
Can we = default;? I'd imagine the associated Small* data structures are really cheap to move/etc. if they're empty.
If not, that's sad, but OK, this works. :)