Remove the 'Parent' pointer from the MDNodeOperand class.
authorBill Wendling <isanbard@gmail.com>
Sun, 8 Apr 2012 10:20:49 +0000 (10:20 +0000)
committerBill Wendling <isanbard@gmail.com>
Sun, 8 Apr 2012 10:20:49 +0000 (10:20 +0000)
commit69b2c71abb3fa17612ebfb1fb804b656ea47ab8f
tree30b93fc4db3a0c187684552a1a665231a8d3fdd9
parent5252c432dd93147fa70a536be58a15ef329de0b7
Remove the 'Parent' pointer from the MDNodeOperand class.

An MDNode has a list of MDNodeOperands allocated directly after it as part of
its allocation. Therefore, the Parent of the MDNodeOperands can be found by
walking back through the operands to the beginning of that list. Mark the first
operand's value pointer as being the 'first' operand so that we know where the
beginning of said list is.

This saves a *lot* of space during LTO with -O0 -g flags.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154280 91177308-0d34-0410-b5e6-96231b3b80d8
lib/VMCore/Metadata.cpp