Return an iterator to the first BundleOpInfo descriptor for this call.
Synopsis
Declared in <llvm/IR/InstrTypes.h>
bundle_op_iterator
bundle_op_info_begin();
Description
CallBase uses the descriptor area co‐allocated with the host User to store some meta information about which operands are "normal" operands, and which ones belong to some operand bundle.
The layout of an operand bundle user is
+‐‐‐‐‐‐‐‐‐‐‐uint32_t End‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐+ | | | +‐‐‐‐‐‐‐‐uint32_t Begin‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐+ | | | | | ˆ ˆ v v |‐‐‐‐‐‐|‐‐‐‐‐‐|‐‐‐‐|‐‐‐‐|‐‐‐‐|‐‐‐‐|‐‐‐‐|‐‐‐‐‐‐‐‐‐|‐‐‐‐|‐‐‐‐‐‐‐‐‐|‐‐‐‐|‐‐‐‐‐ | BOI0 | BOI1 | .. | DU | U0 | U1 | .. | BOI0_U0 | .. | BOI1_U0 | .. | Un |‐‐‐‐‐‐|‐‐‐‐‐‐|‐‐‐‐|‐‐‐‐|‐‐‐‐|‐‐‐‐|‐‐‐‐|‐‐‐‐‐‐‐‐‐|‐‐‐‐|‐‐‐‐‐‐‐‐‐|‐‐‐‐|‐‐‐‐‐ v v ˆ ˆ | | | | | +‐‐‐‐‐‐‐‐uint32_t Begin‐‐‐‐‐‐‐‐‐‐‐‐+ | | | +‐‐‐‐‐‐‐‐‐‐‐uint32_t End‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐+
BOI0, BOI1 ... are descriptions of operand bundles in this User's use list. These descriptions are installed and managed by this class, and they're all instances of CallBase::BundleOpInfo.
DU is an additional descriptor installed by User's 'operator new' to keep track of the 'BOI0 ... BOIN' co‐allocation. OperandBundleUser does not access or modify DU in any way, it's an implementation detail private to User.
The regular Use& vector for the User starts at U0. The operand bundle uses are part of the Use& vector, just like normal uses. In the diagram above, the operand bundle uses start at BOI0_U0. Each instance of BundleOpInfo has information about a contiguous set of uses constituting an operand bundle, and the total set of operand bundle uses themselves form a contiguous set of uses (i.e. there are no gaps between uses corresponding to individual operand bundles).
This class does not know the location of the set of operand bundle uses within the use list ‐‐ that is decided by the User using this class via the BeginIdx argument in populateBundleOperandInfos.
Currently operand bundle users with hung‐off operands are not supported.
Return Value
Iterator to the first BundleOpInfo, or null if none are present.
Created with MrDocs