diff options
author | Chris Lattner <sabre@nondot.org> | 2004-10-11 22:21:13 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2004-10-11 22:21:13 +0000 |
commit | b92f50fe6091a7a12f54f9884529b1127b1a14e5 (patch) | |
tree | 020edb72423cf36bd65161999f41c9f426203482 /include | |
parent | c9b938065aed1d6a613daa296d0cdb9257ee6ffa (diff) | |
download | external_llvm-b92f50fe6091a7a12f54f9884529b1127b1a14e5.zip external_llvm-b92f50fe6091a7a12f54f9884529b1127b1a14e5.tar.gz external_llvm-b92f50fe6091a7a12f54f9884529b1127b1a14e5.tar.bz2 |
Add long overdue methods
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16921 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include')
-rw-r--r-- | include/llvm/BasicBlock.h | 12 | ||||
-rw-r--r-- | include/llvm/Function.h | 11 | ||||
-rw-r--r-- | include/llvm/GlobalVariable.h | 10 | ||||
-rw-r--r-- | include/llvm/Instruction.h | 14 |
4 files changed, 45 insertions, 2 deletions
diff --git a/include/llvm/BasicBlock.h b/include/llvm/BasicBlock.h index 9c82da2..2a18ba8 100644 --- a/include/llvm/BasicBlock.h +++ b/include/llvm/BasicBlock.h @@ -95,6 +95,18 @@ public: TerminatorInst *getTerminator(); const TerminatorInst *const getTerminator() const; + /// removeFromParent - This method unlinks 'this' from the containing + /// function, but does not delete it. + /// + void removeFromParent(); + + /// eraseFromParent - This method unlinks 'this' from the containing function + /// and deletes it. + /// + void eraseFromParent(); + + + //===--------------------------------------------------------------------===// /// Instruction iterator methods /// diff --git a/include/llvm/Function.h b/include/llvm/Function.h index 9e17f26..63b5334 100644 --- a/include/llvm/Function.h +++ b/include/llvm/Function.h @@ -114,6 +114,17 @@ public: setLinkage(ExternalLinkage); } + /// removeFromParent - This method unlinks 'this' from the containing module, + /// but does not delete it. + /// + void removeFromParent(); + + /// eraseFromParent - This method unlinks 'this' from the containing module + /// and deletes it. + /// + void eraseFromParent(); + + // getNext/Prev - Return the next or previous function in the list. These // methods should never be used directly, and are only used to implement the // function list as part of the module. diff --git a/include/llvm/GlobalVariable.h b/include/llvm/GlobalVariable.h index dd6f24d..99c39f1 100644 --- a/include/llvm/GlobalVariable.h +++ b/include/llvm/GlobalVariable.h @@ -97,6 +97,16 @@ public: /// bool isConstant() const { return isConstantGlobal; } void setConstant(bool Value) { isConstantGlobal = Value; } + + /// removeFromParent - This method unlinks 'this' from the containing module, + /// but does not delete it. + /// + void removeFromParent(); + + /// eraseFromParent - This method unlinks 'this' from the containing module + /// and deletes it. + /// + void eraseFromParent(); /// Override Constant's implementation of this method so we can /// replace constant initializers. diff --git a/include/llvm/Instruction.h b/include/llvm/Instruction.h index 85f6cdb..8d49870 100644 --- a/include/llvm/Instruction.h +++ b/include/llvm/Instruction.h @@ -57,6 +57,10 @@ public: // Specialize setName to handle symbol table majik... virtual void setName(const std::string &name, SymbolTable *ST = 0); + /// mayWriteToMemory - Return true if this instruction may modify memory. + /// + virtual bool mayWriteToMemory() const { return false; } + /// clone() - Create a copy of 'this' instruction that is identical in all /// ways except the following: /// * The instruction has no parent @@ -76,9 +80,15 @@ public: Instruction *getPrev() { return Prev; } const Instruction *getPrev() const { return Prev; } - /// mayWriteToMemory - Return true if this instruction may modify memory. + /// removeFromParent - This method unlinks 'this' from the containing basic + /// block, but does not delete it. /// - virtual bool mayWriteToMemory() const { return false; } + void removeFromParent(); + + /// eraseFromParent - This method unlinks 'this' from the containing basic + /// block and deletes it. + /// + void eraseFromParent(); // --------------------------------------------------------------------------- /// Subclass classification... getOpcode() returns a member of |