diff options
author | Reid Spencer <rspencer@reidspencer.com> | 2006-06-05 16:29:06 +0000 |
---|---|---|
committer | Reid Spencer <rspencer@reidspencer.com> | 2006-06-05 16:29:06 +0000 |
commit | bddcb9427cb36ac6609fef233eaac3c9b5e5a8f4 (patch) | |
tree | 2560e148ff31e45331953aabbabe61335f1b5186 /include/llvm/BasicBlock.h | |
parent | fcadfbbdef6c87cf3952142e396e5872e30da8a3 (diff) | |
download | external_llvm-bddcb9427cb36ac6609fef233eaac3c9b5e5a8f4.zip external_llvm-bddcb9427cb36ac6609fef233eaac3c9b5e5a8f4.tar.gz external_llvm-bddcb9427cb36ac6609fef233eaac3c9b5e5a8f4.tar.bz2 |
For PR778:
Move file-scoped documentation to class-scoped so it is more readily
accessible.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28689 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/BasicBlock.h')
-rw-r--r-- | include/llvm/BasicBlock.h | 30 |
1 files changed, 15 insertions, 15 deletions
diff --git a/include/llvm/BasicBlock.h b/include/llvm/BasicBlock.h index 55ecd40..7fcf884 100644 --- a/include/llvm/BasicBlock.h +++ b/include/llvm/BasicBlock.h @@ -8,21 +8,7 @@ //===----------------------------------------------------------------------===// // // -// This file contains the declaration of the BasicBlock class, which represents -// a single basic block in the VM. -// -// Note that basic blocks themselves are Value's, because they are referenced -// by instructions like branches and can go in switch tables and stuff... -// -///===---------------------------------------------------------------------===// -// -// Note that well formed basic blocks are formed of a list of instructions -// followed by a single TerminatorInst instruction. TerminatorInst's may not -// occur in the middle of basic blocks, and must terminate the blocks. -// -// This code allows malformed basic blocks to occur, because it may be useful -// in the intermediate stage modification to a program. -// +// This file contains the declaration of the BasicBlock class. //===----------------------------------------------------------------------===// #ifndef LLVM_BASICBLOCK_H @@ -46,6 +32,20 @@ template<> struct ilist_traits<Instruction> static iplist<Instruction> &getList(BasicBlock *BB); }; +/// This represents a single basic block in LLVM. A basic block is simply a +/// container of instructions that execute sequentially. Basic blocks are Values +/// because they are referenced by instructions such as branches and switch +/// tables. The type of a BasicBlock is "Type::LabelTy" because the basic block +/// represents a label to which a branch can jump. +/// +/// A well formed basic block is formed of a list of non-terminating +/// instructions followed by a single TerminatorInst instruction. +/// TerminatorInst's may not occur in the middle of basic blocks, and must +/// terminate the blocks. The BasicBlock class allows malformed basic blocks to +/// occur because it may be useful in the intermediate stage of constructing or +/// modifying a program. However, the verifier will ensure that basic blocks +/// are "well formed". +/// @brief LLVM Basic Block Representation class BasicBlock : public Value { // Basic blocks are data objects also public: typedef iplist<Instruction> InstListType; |