diff --git a/docs/ProgrammersManual.html b/docs/ProgrammersManual.html index 9a09c9bb484..81e37f7e1b5 100644 --- a/docs/ProgrammersManual.html +++ b/docs/ProgrammersManual.html @@ -99,6 +99,7 @@ with another Value
  • The Core LLVM Class Hierarchy Reference
  • @@ -1602,6 +1602,8 @@ will loop infinitely.

    +

    #include "llvm/Type.h" +
    doxygen info: Type Class

    The Core LLVM classes are the primary means of representing the program being inspected or transformed. The core LLVM classes are defined in @@ -1610,6 +1612,120 @@ the lib/VMCore directory.

    + +
    + The Type class and Derived Types +
    + +
    + +

    Type is a superclass of all type classes. Every Value has + a Type. Type cannot be instantiated directly but only + through its subclasses. Certain primitive types (VoidType, + LabelType, FloatType and DoubleType) have hidden + subclasses. They are hidden because they offer no useful functionality beyond + what the Type class offers except to distinguish themselves from + other subclasses of Type.

    +

    All other types are subclasses of DerivedType. Types can be + named, but this is not a requirement. There exists exactly + one instance of a given shape at any one time. This allows type equality to + be performed with address equality of the Type Instance. That is, given two + Type* values, the types are identical if the pointers are identical. +

    +
    + + +
    + Important Public Methods +
    + +
    + + +
    + + +
    + Important Derived Types +
    +
    +
    +
    IntegerType
    +
    Subclass of DerivedType that represents integer types of any bit width. + Any bit width between IntegerType::MIN_INT_BITS (1) and + IntegerType::MAX_INT_BITS (~8 million) can be represented. +
      +
    • static const IntegerType* get(unsigned NumBits): get an integer + type of a specific bit width.
    • +
    • unsigned getBitWidth() const: Get the bit width of an integer + type.
    • +
    +
    +
    SequentialType
    +
    This is subclassed by ArrayType and PointerType +
      +
    • const Type * getElementType() const: Returns the type of each + of the elements in the sequential type.
    • +
    +
    +
    ArrayType
    +
    This is a subclass of SequentialType and defines the interface for array + types. +
      +
    • unsigned getNumElements() const: Returns the number of + elements in the array.
    • +
    +
    +
    PointerType
    +
    Subclass of SequentialType for pointer types. +
    PackedType
    +
    Subclass of SequentialType for packed (vector) types. A + packed type is similar to an ArrayType but is distinguished because it is + a first class type wherease ArrayType is not. Packed types are used for + vector operations and are usually small vectors of of an integer or floating + point type.
    +
    StructType
    +
    Subclass of DerivedTypes for struct types.
    +
    FunctionType
    +
    Subclass of DerivedTypes for function types. +
      +
    • bool isVarArg() const: Returns true if its a vararg + function
    • +
    • const Type * getReturnType() const: Returns the + return type of the function.
    • +
    • const Type * getParamType (unsigned i): Returns + the type of the ith parameter.
    • +
    • const unsigned getNumParams() const: Returns the + number of formal parameters.
    • +
    +
    +
    OpaqueType
    +
    Sublcass of DerivedType for abstract types. This class + defines no content and is used as a placeholder for some other type. Note + that OpaqueType is used (temporarily) during type resolution for forward + references of types. Once the referenced type is resolved, the OpaqueType + is replaced with the actual type. OpaqueType can also be used for data + abstraction. At link time opaque types can be resolved to actual types + of the same name.
    +
    +
    +
    The Value class @@ -2421,113 +2537,6 @@ the various types of Constants.

    - - -
    - The Type class and Derived Types -
    - -
    - -

    Type is a superclass of all type classes. Every Value has - a Type. Type cannot be instantiated directly but only - through its subclasses. Certain primitive types (VoidType, - LabelType, FloatType and DoubleType) have hidden - subclasses. They are hidden because they offer no useful functionality beyond - what the Type class offers except to distinguish themselves from - other subclasses of Type.

    -

    All other types are subclasses of DerivedType. Types can be - named, but this is not a requirement. There exists exactly - one instance of a given shape at any one time. This allows type equality to - be performed with address equality of the Type Instance. That is, given two - Type* values, the types are identical if the pointers are identical. -

    -
    - - -
    - Important Public Methods -
    - -
    - - -
    - - -
    - Important Derived Types -
    -
    - -
    -
    The Argument class