IR: Move NumOperands from User to Value, NFC

Description

IR: Move NumOperands from User to Value, NFC

Store User::NumOperands (and MDNode::NumOperands) in Value.

On 64-bit host architectures, this reduces sizeof(User) and all
subclasses by 8, and has no effect on sizeof(Value) (or, incidentally,
on sizeof(MDNode)).

On 32-bit host architectures, this increases sizeof(Value) by 4.
However, it has no effect on sizeof(User) and sizeof(MDNode), so the
only concrete subclasses of Value that actually see the increase are
BasicBlock, Argument, InlineAsm, and MDString. Moreover, I'll
be shocked and confused if this causes a tangible memory regression.

This has no functionality change (other than memory footprint).

Details

Committed
dexonsmithOct 15 2014, 1:39 PM
Parents
rL219844: IR: Cleanup comments for Value, User, and MDNode
Branches
Unknown
Tags
Unknown