public:
ControlOperator(IrOpcode::Value opcode, uint16_t properties, int inputs,
int outputs, int controls, const char* mnemonic)
- : Operator1(static_cast<uint8_t>(opcode), properties, inputs, outputs,
- mnemonic, controls) {}
+ : Operator1<int>(opcode, properties, inputs, outputs, mnemonic,
+ controls) {}
virtual OStream& PrintParameter(OStream& os) const { return os; } // NOLINT
int ControlInputCount() const { return parameter(); }
class CallOperator : public Operator1<CallDescriptor*> {
public:
CallOperator(CallDescriptor* descriptor, const char* mnemonic)
- : Operator1(static_cast<uint8_t>(IrOpcode::kCall),
- descriptor->properties(), descriptor->InputCount(),
- descriptor->ReturnCount(), mnemonic, descriptor) {}
+ : Operator1<CallDescriptor*>(
+ IrOpcode::kCall, descriptor->properties(), descriptor->InputCount(),
+ descriptor->ReturnCount(), mnemonic, descriptor) {}
virtual OStream& PrintParameter(OStream& os) const { // NOLINT
return os << "[" << *parameter() << "]";