shader: Inline common Opcode and Inst functions
This commit is contained in:
parent
4bbe530337
commit
6944cabb89
4 changed files with 83 additions and 112 deletions
|
@ -221,28 +221,10 @@ Inst* Inst::GetAssociatedPseudoOperation(IR::Opcode opcode) {
|
|||
}
|
||||
}
|
||||
|
||||
size_t Inst::NumArgs() const {
|
||||
return op == Opcode::Phi ? phi_args.size() : NumArgsOf(op);
|
||||
}
|
||||
|
||||
IR::Type Inst::Type() const {
|
||||
return TypeOf(op);
|
||||
}
|
||||
|
||||
Value Inst::Arg(size_t index) const {
|
||||
if (op == Opcode::Phi) {
|
||||
if (index >= phi_args.size()) {
|
||||
throw InvalidArgument("Out of bounds argument index {} in phi instruction", index);
|
||||
}
|
||||
return phi_args[index].second;
|
||||
} else {
|
||||
if (index >= NumArgsOf(op)) {
|
||||
throw InvalidArgument("Out of bounds argument index {} in opcode {}", index, op);
|
||||
}
|
||||
return args[index];
|
||||
}
|
||||
}
|
||||
|
||||
void Inst::SetArg(size_t index, Value value) {
|
||||
if (index >= NumArgs()) {
|
||||
throw InvalidArgument("Out of bounds argument index {} in opcode {}", index, op);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue