These constructors are for internal use only. These should have been
authorChris Lattner <sabre@nondot.org>
Tue, 19 Feb 2002 19:22:45 +0000 (19:22 +0000)
committerChris Lattner <sabre@nondot.org>
Tue, 19 Feb 2002 19:22:45 +0000 (19:22 +0000)
protected a long time ago :)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1777 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/InstrTypes.h

index 4aa612af70e1b0f6a67a5eedf0cf66aca03bec59..d37a1713a6f3278353b6413cee87fbf8be31eaf7 100644 (file)
@@ -22,11 +22,11 @@ class SymTabValue;
 // block.  Thus, these are all the flow control type of operations.
 //
 class TerminatorInst : public Instruction {
-public:
+protected:
   TerminatorInst(Instruction::TermOps iType);
   TerminatorInst(const Type *Ty, Instruction::TermOps iType,
                 const std::string &Name = "");
-  inline ~TerminatorInst() {}
+public:
 
   // Terminators must implement the methods required by Instruction...
   virtual Instruction *clone() const = 0;
@@ -59,6 +59,12 @@ public:
 //===----------------------------------------------------------------------===//
 
 class UnaryOperator : public Instruction {
+protected:
+  UnaryOperator(Value *S, UnaryOps iType, const std::string &Name = "")
+      : Instruction(S->getType(), iType, Name) {
+    Operands.reserve(1);
+    Operands.push_back(Use(S, this));
+  }
 public:
 
   // create() - Construct a unary instruction, given the opcode
@@ -66,12 +72,6 @@ public:
   //
   static UnaryOperator *create(UnaryOps Op, Value *Source);
 
-  UnaryOperator(Value *S, UnaryOps iType, const std::string &Name = "")
-      : Instruction(S->getType(), iType, Name) {
-    Operands.reserve(1);
-    Operands.push_back(Use(S, this));
-  }
-
   inline UnaryOps getOpcode() const { 
     return (UnaryOps)Instruction::getOpcode();
   }
@@ -99,14 +99,7 @@ public:
 //===----------------------------------------------------------------------===//
 
 class BinaryOperator : public Instruction {
-public:
-
-  // create() - Construct a binary instruction, given the opcode
-  // and the two operands.
-  //
-  static BinaryOperator *create(BinaryOps Op, Value *S1, Value *S2,
-                               const std::string &Name = "");
-
+protected:
   BinaryOperator(BinaryOps iType, Value *S1, Value *S2, 
                  const std::string &Name = "") 
     : Instruction(S1->getType(), iType, Name) {
@@ -117,6 +110,14 @@ public:
           Operands[0]->getType() == Operands[1]->getType());
   }
 
+public:
+
+  // create() - Construct a binary instruction, given the opcode
+  // and the two operands.
+  //
+  static BinaryOperator *create(BinaryOps Op, Value *S1, Value *S2,
+                               const std::string &Name = "");
+
   inline BinaryOps getOpcode() const { 
     return (BinaryOps)Instruction::getOpcode();
   }