[IR] Add operand bundles to CallInst and InvokeInst.
This change teaches CallInsts and InvokeInsts to maintain a set of
operand bundles as part of its operands. CallInsts and InvokeInsts
with operand bundles co-allocate some space before their Use array to
hold meta information about which of its operands are part of an operand
The strings corresponding to the bundle tags are interned into
This change does not include any parsing / bitcode support. That's the
Depends on D12455.
Reviewers: reames, chandlerc, majnemer, dexonsmith, kmod, JosephTremoulet, rnk, bogner
Subscribers: MatzeB, sanjoy, llvm-commits
Differential Revision: http://reviews.llvm.org/D12456