diff options
author | Chris Lattner <sabre@nondot.org> | 2005-04-22 04:49:59 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2005-04-22 04:49:59 +0000 |
commit | 53f72b3bab0e8b474f6ded9ee46957fd89d01cda (patch) | |
tree | dca142f69a31e506886a69b4d5d7ab9fc3cb326f /docs/ProgrammersManual.html | |
parent | ea3e5e56fdc56e5c2ddafb36eab26676e137dfa0 (diff) |
remove 'another common example', which doesn't work with VC++, and indent
another example properly
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21442 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'docs/ProgrammersManual.html')
-rw-r--r-- | docs/ProgrammersManual.html | 16 |
1 files changed, 4 insertions, 12 deletions
diff --git a/docs/ProgrammersManual.html b/docs/ProgrammersManual.html index 0af3a9dac2..eb3bde98a8 100644 --- a/docs/ProgrammersManual.html +++ b/docs/ProgrammersManual.html @@ -292,8 +292,9 @@ file (note that you very rarely have to include this file directly).</p> if (isa<<a href="#Constant">Constant</a>>(V) || isa<<a href="#Argument">Argument</a>>(V) || isa<<a href="#GlobalValue">GlobalValue</a>>(V)) return true; - <i>// Otherwise, it must be an instruction...</i> - return !L->contains(cast<<a href="#Instruction">Instruction</a>>(V)->getParent()); + <i>// Otherwise, it must be an instruction...</i> + return !L->contains(cast<<a href="#Instruction">Instruction</a>>(V)->getParent()); + } </pre> <p>Note that you should <b>not</b> use an <tt>isa<></tt> test followed @@ -322,21 +323,12 @@ file (note that you very rarely have to include this file directly).</p> call to <tt>isa<></tt> and a call to <tt>cast<></tt> into one statement, which is very convenient.</p> - <p> Another common example is:</p> - - <pre> - <i>// Loop over all of the phi nodes in a basic block</i> - BasicBlock::iterator BBI = BB->begin(); - for (; <a href="#PhiNode">PHINode</a> *PN = dyn_cast<<a href="#PHINode">PHINode</a>>(BBI); ++BBI) - std::cerr << *PN; - </pre> - <p>Note that the <tt>dyn_cast<></tt> operator, like C++'s <tt>dynamic_cast</tt> or Java's <tt>instanceof</tt> operator, can be abused. In particular you should not use big chained <tt>if/then/else</tt> blocks to check for lots of different variants of classes. If you find yourself wanting to do this, it is much cleaner and more efficient to use the - InstVisitor class to dispatch over the instruction type directly.</p> + <tt>InstVisitor</tt> class to dispatch over the instruction type directly.</p> </dd> |