Add long overdue methods

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16921 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner 2004-10-11 22:21:13 +00:00
parent c9b938065a
commit b92f50fe60
4 changed files with 45 additions and 2 deletions

View File

@ -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
///

View File

@ -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.

View File

@ -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.

View File

@ -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