Improve doxygen documentation, patch contributed by Evan Jones!
authorChris Lattner <sabre@nondot.org>
Thu, 21 Apr 2005 16:04:49 +0000 (16:04 +0000)
committerChris Lattner <sabre@nondot.org>
Thu, 21 Apr 2005 16:04:49 +0000 (16:04 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21393 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/Analysis/Interval.h
lib/Transforms/Utils/BasicBlockUtils.cpp
lib/VMCore/BasicBlock.cpp

index 448bcbc803a6fd58f18d00aa54da8a70e7077d1e..91e1da6a016291ce3714c820eb7f8531ff0c4816 100644 (file)
@@ -30,14 +30,14 @@ class BasicBlock;
 
 //===----------------------------------------------------------------------===//
 //
-// Interval Class - An Interval is a set of nodes defined such that every node
-// in the interval has all of its predecessors in the interval (except for the
-// header)
-//
+/// Interval Class - An Interval is a set of nodes defined such that every node
+/// in the interval has all of its predecessors in the interval (except for the
+/// header)
+///
 class Interval {
-  // HeaderNode - The header BasicBlock, which dominates all BasicBlocks in this
-  // interval.  Also, any loops in this interval must go through the HeaderNode.
-  //
+  /// HeaderNode - The header BasicBlock, which dominates all BasicBlocks in this
+  /// interval.  Also, any loops in this interval must go through the HeaderNode.
+  ///
   BasicBlock *HeaderNode;
 public:
   typedef std::vector<BasicBlock*>::iterator succ_iterator;
@@ -53,22 +53,22 @@ public:
 
   inline BasicBlock *getHeaderNode() const { return HeaderNode; }
 
-  // Nodes - The basic blocks in this interval.
-  //
+  /// Nodes - The basic blocks in this interval.
+  ///
   std::vector<BasicBlock*> Nodes;
 
-  // Successors - List of BasicBlocks that are reachable directly from nodes in
-  // this interval, but are not in the interval themselves.
-  // These nodes necessarily must be header nodes for other intervals.
-  //
+  /// Successors - List of BasicBlocks that are reachable directly from nodes in
+  /// this interval, but are not in the interval themselves.
+  /// These nodes necessarily must be header nodes for other intervals.
+  ///
   std::vector<BasicBlock*> Successors;
 
-  // Predecessors - List of BasicBlocks that have this Interval's header block
-  // as one of their successors.
-  //
+  /// Predecessors - List of BasicBlocks that have this Interval's header block
+  /// as one of their successors.
+  ///
   std::vector<BasicBlock*> Predecessors;
 
-  // contains - Find out if a basic block is in this interval
+  /// contains - Find out if a basic block is in this interval
   inline bool contains(BasicBlock *BB) const {
     for (unsigned i = 0; i < Nodes.size(); ++i)
       if (Nodes[i] == BB) return true;
@@ -77,7 +77,7 @@ public:
     //return find(Nodes.begin(), Nodes.end(), BB) != Nodes.end();
   }
 
-  // isSuccessor - find out if a basic block is a successor of this Interval
+  /// isSuccessor - find out if a basic block is a successor of this Interval
   inline bool isSuccessor(BasicBlock *BB) const {
     for (unsigned i = 0; i < Successors.size(); ++i)
       if (Successors[i] == BB) return true;
@@ -86,24 +86,24 @@ public:
     //return find(Successors.begin(), Successors.end(), BB) != Successors.end();
   }
 
-  // Equality operator.  It is only valid to compare two intervals from the same
-  // partition, because of this, all we have to check is the header node for 
-  // equality.
-  //
+  /// Equality operator.  It is only valid to compare two intervals from the same
+  /// partition, because of this, all we have to check is the header node for 
+  /// equality.
+  ///
   inline bool operator==(const Interval &I) const {
     return HeaderNode == I.HeaderNode;
   }
 
-  // isLoop - Find out if there is a back edge in this interval...
+  /// isLoop - Find out if there is a back edge in this interval...
   bool isLoop() const;
 
-  // print - Show contents in human readable format...
+  /// print - Show contents in human readable format...
   void print(std::ostream &O) const;
 };
 
-// succ_begin/succ_end - define methods so that Intervals may be used
-// just like BasicBlocks can with the succ_* functions, and *::succ_iterator.
-//
+/// succ_begin/succ_end - define methods so that Intervals may be used
+/// just like BasicBlocks can with the succ_* functions, and *::succ_iterator.
+///
 inline Interval::succ_iterator succ_begin(Interval *I) {
   return I->Successors.begin();
 }
@@ -111,9 +111,9 @@ inline Interval::succ_iterator succ_end(Interval *I)   {
   return I->Successors.end();
 }
   
-// pred_begin/pred_end - define methods so that Intervals may be used
-// just like BasicBlocks can with the pred_* functions, and *::pred_iterator.
-//
+/// pred_begin/pred_end - define methods so that Intervals may be used
+/// just like BasicBlocks can with the pred_* functions, and *::pred_iterator.
+///
 inline Interval::pred_iterator pred_begin(Interval *I) {
   return I->Predecessors.begin();
 }
@@ -127,7 +127,7 @@ template <> struct GraphTraits<Interval*> {
 
   static NodeType *getEntryNode(Interval *I) { return I; }
 
-  // nodes_iterator/begin/end - Allow iteration over all nodes in the graph
+  /// nodes_iterator/begin/end - Allow iteration over all nodes in the graph
   static inline ChildIteratorType child_begin(NodeType *N) { 
     return succ_begin(N);
   }
index bf1e3612b2617aaa182b9eb254154a870b7c9037..efaf22d459aba641d7c1cf6fb7e035e98cb4a006 100644 (file)
@@ -20,9 +20,9 @@
 #include <algorithm>
 using namespace llvm;
 
-// ReplaceInstWithValue - Replace all uses of an instruction (specified by BI)
-// with a value, then remove and delete the original instruction.
-//
+/// ReplaceInstWithValue - Replace all uses of an instruction (specified by BI)
+/// with a value, then remove and delete the original instruction.
+///
 void llvm::ReplaceInstWithValue(BasicBlock::InstListType &BIL,
                                 BasicBlock::iterator &BI, Value *V) {
   Instruction &I = *BI;
@@ -40,10 +40,10 @@ void llvm::ReplaceInstWithValue(BasicBlock::InstListType &BIL,
 }
 
 
-// ReplaceInstWithInst - Replace the instruction specified by BI with the
-// instruction specified by I.  The original instruction is deleted and BI is
-// updated to point to the new instruction.
-//
+/// ReplaceInstWithInst - Replace the instruction specified by BI with the
+/// instruction specified by I.  The original instruction is deleted and BI is
+/// updated to point to the new instruction.
+///
 void llvm::ReplaceInstWithInst(BasicBlock::InstListType &BIL,
                                BasicBlock::iterator &BI, Instruction *I) {
   assert(I->getParent() == 0 &&
@@ -59,21 +59,21 @@ void llvm::ReplaceInstWithInst(BasicBlock::InstListType &BIL,
   BI = New;
 }
 
-// ReplaceInstWithInst - Replace the instruction specified by From with the
-// instruction specified by To.
-//
+/// ReplaceInstWithInst - Replace the instruction specified by From with the
+/// instruction specified by To.
+///
 void llvm::ReplaceInstWithInst(Instruction *From, Instruction *To) {
   BasicBlock::iterator BI(From);
   ReplaceInstWithInst(From->getParent()->getInstList(), BI, To);
 }
 
-// RemoveSuccessor - Change the specified terminator instruction such that its
-// successor #SuccNum no longer exists.  Because this reduces the outgoing
-// degree of the current basic block, the actual terminator instruction itself
-// may have to be changed.  In the case where the last successor of the block is
-// deleted, a return instruction is inserted in its place which can cause a
-// surprising change in program behavior if it is not expected.
-//
+/// RemoveSuccessor - Change the specified terminator instruction such that its
+/// successor #SuccNum no longer exists.  Because this reduces the outgoing
+/// degree of the current basic block, the actual terminator instruction itself
+/// may have to be changed.  In the case where the last successor of the block is
+/// deleted, a return instruction is inserted in its place which can cause a
+/// surprising change in program behavior if it is not expected.
+///
 void llvm::RemoveSuccessor(TerminatorInst *TI, unsigned SuccNum) {
   assert(SuccNum < TI->getNumSuccessors() &&
          "Trying to remove a nonexistant successor!");
index 95eab23edff4b07e74cb341bcfb00e6512564f95..65ba49a837f2ad4c54b079abf012b955ab8973a6 100644 (file)
@@ -195,17 +195,17 @@ void BasicBlock::removePredecessor(BasicBlock *Pred,
 }
 
 
-// splitBasicBlock - This splits a basic block into two at the specified
-// instruction.  Note that all instructions BEFORE the specified iterator stay
-// as part of the original basic block, an unconditional branch is added to 
-// the new BB, and the rest of the instructions in the BB are moved to the new
-// BB, including the old terminator.  This invalidates the iterator.
-//
-// Note that this only works on well formed basic blocks (must have a 
-// terminator), and 'I' must not be the end of instruction list (which would
-// cause a degenerate basic block to be formed, having a terminator inside of
-// the basic block). 
-//
+/// splitBasicBlock - This splits a basic block into two at the specified
+/// instruction.  Note that all instructions BEFORE the specified iterator stay
+/// as part of the original basic block, an unconditional branch is added to 
+/// the new BB, and the rest of the instructions in the BB are moved to the new
+/// BB, including the old terminator.  This invalidates the iterator.
+///
+/// Note that this only works on well formed basic blocks (must have a 
+/// terminator), and 'I' must not be the end of instruction list (which would
+/// cause a degenerate basic block to be formed, having a terminator inside of
+/// the basic block). 
+///
 BasicBlock *BasicBlock::splitBasicBlock(iterator I, const std::string &BBName) {
   assert(getTerminator() && "Can't use splitBasicBlock on degenerate BB!");
   assert(I != InstList.end() &&