[llvm-commits] CVS: llvm/include/llvm/Argument.h BasicBlock.h Function.h GlobalValue.h GlobalVariable.h Instruction.h

Christopher Lattner lattner at cs.uiuc.edu
Fri Sep 6 16:33:01 PDT 2002


Changes in directory llvm/include/llvm:

Argument.h updated: 1.3 -> 1.4
BasicBlock.h updated: 1.26 -> 1.27
Function.h updated: 1.35 -> 1.36
GlobalValue.h updated: 1.6 -> 1.7
GlobalVariable.h updated: 1.14 -> 1.15
Instruction.h updated: 1.32 -> 1.33

---
Log message:

* Clean up some comments
* Move code out of header file to .cpp files, to make future changes easier
* Add arguments to classes so that they can be automatically inserted into their
  parent structure upon creation.


---
Diffs of the changes:

Index: llvm/include/llvm/Argument.h
diff -u llvm/include/llvm/Argument.h:1.3 llvm/include/llvm/Argument.h:1.4
--- llvm/include/llvm/Argument.h:1.3	Sun Aug 25 17:54:54 2002
+++ llvm/include/llvm/Argument.h	Fri Sep  6 16:31:57 2002
@@ -1,7 +1,7 @@
 //===-- llvm/Argument.h - Definition of the Argument class -------*- C++ -*--=//
 //
 // This file defines the Argument class, which represents and incoming formal
-// argument to a function.
+// argument to a Function.
 //
 //===----------------------------------------------------------------------===//
 
@@ -10,20 +10,20 @@
 
 #include "llvm/Value.h"
 
-class Argument : public Value {  // Defined in the InstrType.cpp file
+class Argument : public Value {  // Defined in the Function.cpp file
   Function *Parent;
 
   Argument *Prev, *Next; // Next and Prev links for our intrusive linked list
   void setNext(Argument *N) { Next = N; }
   void setPrev(Argument *N) { Prev = N; }
   friend class SymbolTableListTraits<Argument, Function, Function>;
-  inline void setParent(Function *parent) { Parent = parent; }
+  void setParent(Function *parent);
 
 public:
-  Argument(const Type *Ty, const std::string &Name = "") 
-    : Value(Ty, Value::ArgumentVal, Name) {
-    Parent = 0;
-  }
+  /// Argument ctor - If Function argument is specified, this argument is
+  /// inserted at the end of the argument list for the function.
+  ///
+  Argument(const Type *Ty, const std::string &Name = "", Function *F = 0);
 
   /// setName - Specialize setName to handle symbol table majik...
   virtual void setName(const std::string &name, SymbolTable *ST = 0);


Index: llvm/include/llvm/BasicBlock.h
diff -u llvm/include/llvm/BasicBlock.h:1.26 llvm/include/llvm/BasicBlock.h:1.27
--- llvm/include/llvm/BasicBlock.h:1.26	Sun Aug 25 17:54:54 2002
+++ llvm/include/llvm/BasicBlock.h	Fri Sep  6 16:31:57 2002
@@ -44,7 +44,7 @@
   InstListType InstList;
   BasicBlock *Prev, *Next; // Next and Prev links for our intrusive linked list
 
-  void setParent(Function *parent) { InstList.setParent(parent); }
+  void setParent(Function *parent);
   void setNext(BasicBlock *N) { Next = N; }
   void setPrev(BasicBlock *N) { Prev = N; }
   friend class SymbolTableListTraits<BasicBlock, Function, Function>;
@@ -53,20 +53,23 @@
   void operator=(const BasicBlock &); // Do not implement
 
 public:
-  // Instruction iterators...
+  /// Instruction iterators...
   typedef InstListType::iterator iterator;
   typedef InstListType::const_iterator const_iterator;
   typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
   typedef std::reverse_iterator<iterator>             reverse_iterator;
 
-  // Ctor, dtor
+  /// BasicBlock ctor - If the function parameter is specified, the basic block
+  /// is automatically inserted at the end of the function.
+  ///
   BasicBlock(const std::string &Name = "", Function *Parent = 0);
   ~BasicBlock();
 
   // Specialize setName to take care of symbol table majik
   virtual void setName(const std::string &name, SymbolTable *ST = 0);
 
-  // getParent - Return the enclosing method, or null if none
+  /// getParent - Return the enclosing method, or null if none
+  ///
   const Function *getParent() const { return InstList.getParent(); }
         Function *getParent()       { return InstList.getParent(); }
 
@@ -94,8 +97,8 @@
   
   
   //===--------------------------------------------------------------------===//
-  // Instruction iterator methods
-  //
+  /// Instruction iterator methods
+  ///
   inline iterator                begin()       { return InstList.begin(); }
   inline const_iterator          begin() const { return InstList.begin(); }
   inline iterator                end  ()       { return InstList.end();   }


Index: llvm/include/llvm/Function.h
diff -u llvm/include/llvm/Function.h:1.35 llvm/include/llvm/Function.h:1.36
--- llvm/include/llvm/Function.h:1.35	Fri Sep  6 15:47:31 2002
+++ llvm/include/llvm/Function.h	Fri Sep  6 16:31:57 2002
@@ -22,7 +22,7 @@
   : public SymbolTableListTraits<BasicBlock, Function, Function> {
 
   // createNode is used to create a node that marks the end of the list...
-  static BasicBlock *createNode() { return new BasicBlock(); }
+  static BasicBlock *createNode();
 
   static iplist<BasicBlock> &getList(Function *F);
 };


Index: llvm/include/llvm/GlobalValue.h
diff -u llvm/include/llvm/GlobalValue.h:1.6 llvm/include/llvm/GlobalValue.h:1.7
--- llvm/include/llvm/GlobalValue.h:1.6	Sat Apr 27 23:45:05 2002
+++ llvm/include/llvm/GlobalValue.h	Fri Sep  6 16:31:57 2002
@@ -1,7 +1,7 @@
 //===-- llvm/GlobalValue.h - Class to represent a global value ---*- C++ -*--=//
 //
 // This file is a common base class of all globally definable objects.  As such,
-// it is subclassed by GlobalVariable and by Method.  This is used because you
+// it is subclassed by GlobalVariable and by Function.  This is used because you
 // can do certain things with these global objects that you can't do to anything
 // else.  For example, use the address of one as a constant.
 //


Index: llvm/include/llvm/GlobalVariable.h
diff -u llvm/include/llvm/GlobalVariable.h:1.14 llvm/include/llvm/GlobalVariable.h:1.15
--- llvm/include/llvm/GlobalVariable.h:1.14	Tue Jun 25 11:10:40 2002
+++ llvm/include/llvm/GlobalVariable.h	Fri Sep  6 16:31:57 2002
@@ -24,7 +24,7 @@
 class GlobalVariable : public GlobalValue {
   friend class SymbolTableListTraits<GlobalVariable, Module, Module,
                                      ilist_traits<GlobalVariable> >;
-  void setParent(Module *parent) { Parent = parent; }
+  void setParent(Module *parent);
 
   GlobalVariable *Prev, *Next;
   void setNext(GlobalVariable *N) { Next = N; }
@@ -32,9 +32,12 @@
 
   bool isConstantGlobal;               // Is this a global constant?
 public:
+  /// GlobalVariable ctor - If a parent module is specified, the global is
+  /// automatically inserted into the end of the specified modules global list.
+  ///
   GlobalVariable(const Type *Ty, bool isConstant, bool isInternal,
-		 Constant *Initializer = 0, const std::string &Name = "");
-  ~GlobalVariable() {}
+		 Constant *Initializer = 0, const std::string &Name = "",
+                 Module *Parent = 0);
 
   // Specialize setName to handle symbol table majik...
   virtual void setName(const std::string &name, SymbolTable *ST = 0);


Index: llvm/include/llvm/Instruction.h
diff -u llvm/include/llvm/Instruction.h:1.32 llvm/include/llvm/Instruction.h:1.33
--- llvm/include/llvm/Instruction.h:1.32	Sun Aug 25 17:54:55 2002
+++ llvm/include/llvm/Instruction.h	Fri Sep  6 16:31:57 2002
@@ -1,7 +1,7 @@
 //===-- llvm/Instruction.h - Instruction class definition --------*- C++ -*--=//
 //
 // This file contains the declaration of the Instruction class, which is the
-// base class for all of the VM instructions.
+// base class for all of the LLVM instructions.
 //
 //===----------------------------------------------------------------------===//
 
@@ -22,9 +22,9 @@
 
   friend class SymbolTableListTraits<Instruction, BasicBlock, Function,
                                      ilist_traits<Instruction> >;
-  inline void setParent(BasicBlock *P) { Parent = P; }
+  void setParent(BasicBlock *P);
 protected:
-  unsigned iType;      // InstructionType
+  unsigned iType;      // InstructionType: The opcode of the instruction
 public:
   Instruction(const Type *Ty, unsigned iType, const std::string &Name = "");
   virtual ~Instruction() {





More information about the llvm-commits mailing list