aboutsummaryrefslogtreecommitdiffstats
path: root/include/llvm/BasicBlock.h
diff options
context:
space:
mode:
authorReid Spencer <rspencer@reidspencer.com>2006-06-05 16:29:06 +0000
committerReid Spencer <rspencer@reidspencer.com>2006-06-05 16:29:06 +0000
commitbddcb9427cb36ac6609fef233eaac3c9b5e5a8f4 (patch)
tree2560e148ff31e45331953aabbabe61335f1b5186 /include/llvm/BasicBlock.h
parentfcadfbbdef6c87cf3952142e396e5872e30da8a3 (diff)
downloadexternal_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.h30
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;