From b39346684255c79e2bca5afe28a82a1b8c0372f3 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Sun, 3 Feb 2002 06:58:15 +0000 Subject: * 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 --- include/llvm/Instruction.h | 27 +++------------------------ 1 file changed, 3 insertions(+), 24 deletions(-) (limited to 'include/llvm/Instruction.h') 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; 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); @@ -44,17 +42,6 @@ public: inline BasicBlock *getParent() { return Parent; } 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) { -- cgit v1.2.3