X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=docs%2FProgrammersManual.html;h=741d66b386847f2cef30f16c5d58af557648b647;hb=4573f1b8cf61890c25f85952221d243e05e5474f;hp=8c678a30c06b2c99a58762d56258dfa12a6d879b;hpb=9a5dc4f7e5821a211eb0c7d04c0afcb8c7d58ee0;p=oota-llvm.git diff --git a/docs/ProgrammersManual.html b/docs/ProgrammersManual.html index 8c678a30c06..741d66b3868 100644 --- a/docs/ProgrammersManual.html +++ b/docs/ProgrammersManual.html @@ -187,9 +187,9 @@ reference - an excellent reference for the STL and other parts of the standard C++ library.
  • C++ In a Nutshell - This is an -O'Reilly book in the making. It has a decent Standard Library -Reference that rivals Dinkumware's, and is actually free until the book is +O'Reilly book in the making. It has a decent +Standard Library +Reference that rivals Dinkumware's, and is unfortunately no longer free since the book has been published.
  • C++ Frequently Asked @@ -222,12 +222,11 @@ to write maintainable code more than where to put your curly braces.

    -

    LLVM is currently using CVS as its source versioning system. You may find -this reference handy:

    -
    1. CVS Branch and Tag Primer
    2. +
    3. Using +static and shared libraries across platforms
    @@ -690,7 +689,7 @@ this, and in other situations, you may find that you want to treat most-specific common base class is Instruction, which includes lots of less closely-related things. For these cases, LLVM provides a handy wrapper class called CallSite. +href="http://llvm.cs.uiuc.edu/doxygen/classllvm_1_1CallSite.html">CallSite. It is essentially a wrapper around an Instruction pointer, with some methods that provide functionality common to CallInsts and InvokeInsts.

    @@ -711,17 +710,18 @@ If you look at its definition, it has only a single pointer member.

    Frequently, we might have an instance of the Value Class and we want to determine which -Users use the Value. The list of all Users of a -particular Value is called a def-use chain. For example, let's -say we have a Function* named F to a particular function -foo. Finding all of the instructions that use foo is as -simple as iterating over the def-use chain of F:

    +href="/doxygen/structllvm_1_1Value.html">Value Class and we want to +determine which Users use the Value. The list of all +Users of a particular Value is called a def-use chain. +For example, let's say we have a Function* named F to a +particular function foo. Finding all of the instructions that +use foo is as simple as iterating over the def-use chain +of F:

    Function* F = ...;

    for (Value::use_iterator i = F->use_begin(), e = F->use_end(); i != e; ++i) {
    if (Instruction *Inst = dyn_cast<Instruction>(*i)) {
    cerr << "F is used in instruction:\n";
    cerr << *Inst << "\n";
    }
    }

    Alternately, it's common to have an instance of the User Class and need to know what +href="/doxygen/classllvm_1_1User.html">User Class and need to know what Values are used by it. The list of all Values used by a User is known as a use-def chain. Instances of class Instruction are common Users, so we might want to iterate over @@ -773,7 +773,7 @@ parameters. For example, an AllocaInst only requires a one integer in the current stack frame, at runtime. Each Instruction subclass is likely to have varying default parameters which change the semantics of the instruction, so refer to the doxygen documentation for the subclass of +href="/doxygen/classllvm_1_1Instruction.html">doxygen documentation for the subclass of Instruction that you're interested in instantiating.

    Naming values

    @@ -912,8 +912,8 @@ and ReplaceInstWithInst.

    You can use Value::replaceAllUsesWith and User::replaceUsesOfWith to change more than one use at a time. See the -doxygen documentation for the Value Class -and User Class, respectively, for more +doxygen documentation for the Value Class +and User Class, respectively, for more information.