X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=docs%2FProgrammersManual.html;h=cfcce4d8d21bb874b1c080032bc609e10073e75b;hb=c8e41c591741b3da1077f7000274ad040bef8002;hp=bc09ca957d059b01a228cab581debcc852975bce;hpb=ccd279d057a2401be6bd39207d3a3bead9ca54f6;p=oota-llvm.git diff --git a/docs/ProgrammersManual.html b/docs/ProgrammersManual.html index bc09ca957d0..cfcce4d8d21 100644 --- a/docs/ProgrammersManual.html +++ b/docs/ProgrammersManual.html @@ -4,13 +4,13 @@ LLVM Programmer's Manual - + -
+

LLVM Programmer's Manual -

+
  1. Introduction
  2. @@ -56,26 +56,38 @@ option
    SequentialType
    -
    This is subclassed by ArrayType and PointerType +
    This is subclassed by ArrayType, PointerType and VectorType.
    • const Type * getElementType() const: Returns the type of each of the elements in the sequential type.
    • @@ -3105,25 +3278,17 @@ the lib/VMCore directory.

      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.
    - + - + -
    +

    #include "llvm/Module.h"
    doxygen info: @@ -3138,23 +3303,20 @@ href="#GlobalVariable">GlobalVariables, and a SymbolTable. Additionally, it contains a few helpful member functions that try to make common operations easy.

    -
    - - + -
    +
      -
    • Module::Module(std::string name = "")
    • -
    +
  3. Module::Module(std::string name = "") -

    Constructing a Module is easy. You can optionally +

    Constructing a Module is easy. You can optionally provide a name for it (probably based on the name of the translation unit).

    +
  4. -
    • Module::iterator - Typedef for function list iterator
      Module::const_iterator - Typedef for const_iterator.
      @@ -3212,8 +3374,9 @@ provide a name for it (probably based on the name of the translation unit).


        -
      • Function *getFunction(const std::string - &Name, const FunctionType *Ty) + +
      • Function *getFunction(StringRef Name) const +

        Look up the specified function in the Module SymbolTable. If it does not exist, return @@ -3244,13 +3407,14 @@ provide a name for it (probably based on the name of the translation unit).

    +
    - + -
    +

    #include "llvm/Value.h"
    @@ -3301,14 +3465,12 @@ the class that represents this value. Although this may take some getting used to, it simplifies the representation and makes it easier to manipulate.

    -
    - - + -
    +
    • Value::use_iterator - Typedef for iterator over the @@ -3355,12 +3517,14 @@ Inst->replaceAllUsesWith(ConstVal);
    +
    + - + -
    +

    #include "llvm/User.h"
    @@ -3379,14 +3543,12 @@ Single Assignment (SSA) form, there can only be one definition referred to, allowing this direct connection. This connection provides the use-def information in LLVM.

    -
    - - + -
    +

    The User class exposes the operand list in two ways: through an index access interface and through an iterator based interface.

    @@ -3409,12 +3571,14 @@ the operands of a User.

    +
    + - + -
    +

    #include "llvm/Instruction.h"
    @@ -3445,14 +3609,13 @@ href="#CmpInst">CmpInst). Unfortunately, the use of macros in this file confuses doxygen, so these enum values don't show up correctly in the doxygen output.

    -
    - - -
    +

    + + Important Subclasses of the Instruction class + +

    +
    • BinaryOperator

      This subclasses represents all two operand instructions whose operands @@ -3471,12 +3634,13 @@ this file confuses doxygen, so these enum values don't show up correctly in the

    - +

    + + Important Public Members of the Instruction class + +

    -
    +
    • BasicBlock *getParent() @@ -3496,12 +3660,14 @@ and it has no name

    +
    + - + -
    +

    Constant represents a base class for different types of constants. It is subclassed by ConstantInt, ConstantArray, etc. for representing @@ -3509,11 +3675,9 @@ the various types of Constants. GlobalValue is also a subclass, which represents the address of a global variable or function.

    -
    - -
    Important Subclasses of Constant
    -
    +

    Important Subclasses of Constant

    +
    • ConstantInt : This subclass of Constant represents an integer constant of any width. @@ -3561,13 +3725,14 @@ a subclass, which represents the address of a global variable or function.
    +
    - + -
    +

    #include "llvm/GlobalValue.h"
    @@ -3607,15 +3772,14 @@ dereference the pointer with GetElementPtrInst first, then its elements can be accessed. This is explained in the LLVM Language Reference Manual.

    -
    - - +

    + + Important Public Members of the GlobalValue class + +

    -
    +
    • bool hasInternalLinkage() const
      @@ -3631,12 +3795,14 @@ GlobalValue is currently embedded into.

    +
    + - + -
    +

    #include "llvm/Function.h"
    doxygen @@ -3683,22 +3849,22 @@ href="#Argument">Arguments in the function body.

    Note that Function is a GlobalValue and therefore also a Constant. The value of the function is its address (after linking) which is guaranteed to be constant.

    -
    - +

    + + Important Public Members of the Function class + +

    -
    +
    • Function(const FunctionType *Ty, LinkageTypes Linkage, const std::string &N = "", Module* Parent = 0)

      Constructor used when you need to create new Functions to add - the the program. The constructor must specify the type of the function to + the program. The constructor must specify the type of the function to create and what type of linkage the function should have. The FunctionType argument specifies the formal arguments and return value for the function. The same @@ -3769,12 +3935,14 @@ iterator

    +
    + - + -
    +

    #include "llvm/GlobalVariable.h" @@ -3796,15 +3964,15 @@ variables may have an initial value (which must be a Constant), and if they have an initializer, they may be marked as "constant" themselves (indicating that their contents never change at runtime).

    -
    - +

    + + Important Public Members of the GlobalVariable class + +

    -
    +
    • GlobalVariable(const Type *Ty, bool @@ -3842,13 +4010,14 @@ never change at runtime).

    +
    - + -
    +

    #include "llvm/BasicBlock.h"
    @@ -3873,15 +4042,14 @@ href="#Value">Values, because they are referenced by instructions like branches and can go in the switch tables. BasicBlocks have type label.

    -
    - - +

    + + Important Public Members of the BasicBlock class + +

    -
    +
    • BasicBlock(const std::string &Name = "",
    +
    - + -
    +

    This subclass of Value defines the interface for incoming formal arguments to a function. A Function maintains a list of its formal @@ -3947,6 +4116,8 @@ arguments. An argument has a pointer to the parent Function.

    +
    +
    @@ -3957,7 +4128,7 @@ arguments. An argument has a pointer to the parent Function.

    Dinakar Dhurjati and Chris Lattner
    - The LLVM Compiler Infrastructure
    + The LLVM Compiler Infrastructure
    Last modified: $Date$