These constructors are for internal use only. These should have been
protected a long time ago :) llvm-svn: 1777
This commit is contained in:
parent
fb55ba00e1
commit
d6970adc6b
|
|
@ -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();
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue