diff options
author | Chris Lattner <sabre@nondot.org> | 2002-02-03 06:58:15 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2002-02-03 06:58:15 +0000 |
commit | b39346684255c79e2bca5afe28a82a1b8c0372f3 (patch) | |
tree | 2610e14a656fa1dab398e87de91d09e17bf70658 /include/llvm/Instruction.h | |
parent | 17a5a1ea38065da7774d109bce358b7e7dbe8964 (diff) | |
download | llvm-b39346684255c79e2bca5afe28a82a1b8c0372f3.tar.gz llvm-b39346684255c79e2bca5afe28a82a1b8c0372f3.tar.bz2 llvm-b39346684255c79e2bca5afe28a82a1b8c0372f3.tar.xz |
* Inline destructor
* Remove MachineCodeForVMInstr support (it's now an annotation)
* Remove dropAllReferences override (just use User's)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1633 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/Instruction.h')
-rw-r--r-- | include/llvm/Instruction.h | 27 |
1 files changed, 3 insertions, 24 deletions
diff --git a/include/llvm/Instruction.h b/include/llvm/Instruction.h index efcecc9303..f0917d381a 100644 --- a/include/llvm/Instruction.h +++ b/include/llvm/Instruction.h @@ -10,23 +10,21 @@ #include "llvm/User.h" -class Type; class BasicBlock; class Method; -class MachineInstr; -class MachineCodeForVMInstr; class Instruction : public User { BasicBlock *Parent; - MachineCodeForVMInstr* machineInstrVec; friend class ValueHolder<Instruction,BasicBlock,Method>; inline void setParent(BasicBlock *P) { Parent = P; } protected: unsigned iType; // InstructionType public: Instruction(const Type *Ty, unsigned iType, const std::string &Name = ""); - virtual ~Instruction(); // Virtual dtor == good. + virtual ~Instruction() { + assert(Parent == 0 && "Instruction still embedded in basic block!"); + } // Specialize setName to handle symbol table majik... virtual void setName(const std::string &name, SymbolTable *ST = 0); @@ -45,17 +43,6 @@ public: virtual bool hasSideEffects() const { return false; } // Memory & Call insts // --------------------------------------------------------------------------- - // Machine code accessors... - // - inline MachineCodeForVMInstr &getMachineInstrVec() const { - return *machineInstrVec; - } - - // Add a machine instruction used to implement this instruction - // - void addMachineInstruction(MachineInstr* minstr); - - // --------------------------------------------------------------------------- // Subclass classification... getInstType() returns a member of // one of the enums that is coming soon (down below)... // @@ -76,14 +63,6 @@ public: return iType >= FirstBinaryOp && iType < NumBinaryOps; } - // dropAllReferences() - This function is in charge of "letting go" of all - // objects that this Instruction refers to. This first lets go of all - // references to hidden values generated code for this instruction, - // and then drops all references to its operands. - // - void dropAllReferences(); - - // Methods for support type inquiry through isa, cast, and dyn_cast: static inline bool classof(const Instruction *I) { return true; } static inline bool classof(const Value *V) { |