Interface to target-specific routines that support machine code optimization.
[oota-llvm.git] / include / llvm / Instruction.h
index 805371bd157172e88523bbbff81be3e7fcc71be3..0674f0ed1ab34193f6170df3c3b7939ef486e081 100644 (file)
@@ -1,7 +1,7 @@
-//===-- llvm/Instruction.h - Instruction class definition --------*- C++ -*--=//
+//===-- 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,11 +22,13 @@ class Instruction : public User {
 
   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
+
+  Instruction(const Type *Ty, unsigned iType, const std::string &Name = "",
+              Instruction *InsertBefore = 0);
 public:
-  Instruction(const Type *Ty, unsigned iType, const std::string &Name = "");
   virtual ~Instruction() {
     assert(Parent == 0 && "Instruction still embedded in basic block!");
   }