diff options
author | Gabor Greif <ggreif@gmail.com> | 2008-05-29 22:58:33 +0000 |
---|---|---|
committer | Gabor Greif <ggreif@gmail.com> | 2008-05-29 22:58:33 +0000 |
commit | 07252fd463d2378383ae035e45f6ed3c12959efe (patch) | |
tree | 19a30defdbaeb86bc4c5c54eb09693ca6b61b9ab | |
parent | 6445537c848d99484ead0a10386f8a774147ed06 (diff) |
add doxygen comments
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51712 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | include/llvm/OperandTraits.h | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/include/llvm/OperandTraits.h b/include/llvm/OperandTraits.h index 3811927e57..028d124e46 100644 --- a/include/llvm/OperandTraits.h +++ b/include/llvm/OperandTraits.h @@ -23,6 +23,10 @@ namespace llvm { // FixedNumOperands Trait Class //===----------------------------------------------------------------------===// +/// FixedNumOperandTraits - determine the allocation regime of the Use array +/// when it is a prefix to the User object, and the number of Use objects is +/// known at compile time. + template <unsigned ARITY> struct FixedNumOperandTraits { static Use *op_begin(User* U) { @@ -62,6 +66,10 @@ struct OptionalOperandTraits : FixedNumOperandTraits<ARITY> { // VariadicOperand Trait Class //===----------------------------------------------------------------------===// +/// VariadicOperandTraits - determine the allocation regime of the Use array +/// when it is a prefix to the User object, and the number of Use objects is +/// only known at allocation time. + template <unsigned MINARITY = 0> struct VariadicOperandTraits { static Use *op_begin(User* U) { @@ -80,6 +88,16 @@ struct VariadicOperandTraits { // HungoffOperand Trait Class //===----------------------------------------------------------------------===// +/// HungoffOperandTraits - determine the allocation regime of the Use array +/// when it is not a prefix to the User object, but allocated at an unrelated +/// heap address. +/// Assumes that the User subclass that is determined by this traits class +/// has an OperandList member of type User::op_iterator. [Note: this is now +/// trivially satisfied, because User has that member for historic reasons.] +/// +/// This is the traits class that is needed when the Use array must be +/// resizable. + template <unsigned MINARITY = 1> struct HungoffOperandTraits { static Use *op_begin(User* U) { |