[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