See the discussion in D124548.
This patch depends on D125994 (the copy/move constructors and assignment ops for MDOperand).
Some notes:
- I have a slight preference for the term "resizable" over "dynamic", but I'd be happy to change it if you feel strongly about it.
- I only introduced a push_back() instead of append() for now. Could be introduced incrementally.
- Don't know if more tests are needed at a deeper level, but it seems all of the code is exercised except perhaps some assertions that are difficult to enfore (e.g. alignment).
- @dexonsmith You mentioned that phabricator reviews can be linked. I'm having trouble finding out how.
Nit: I suggest naming these Is{Resizable,Large}.