diff options
author | Timothy Arceri <[email protected]> | 2017-08-09 13:34:03 +1000 |
---|---|---|
committer | Timothy Arceri <[email protected]> | 2017-08-11 10:43:16 +1000 |
commit | 43cbcbfee9ab4a6aa1fbb51a1af7fd9619d3b7f5 (patch) | |
tree | 0a2756508f551d2356d324520f71e14bf4858c32 /src/compiler | |
parent | e2e2c5abd279df1b3aa99c52b81c9cb48fea35fb (diff) |
glsl: tidy up get_num_operands()
Also add a comment that this should only be used by the ir_reader
interface for testing purposes.
v2:
- fix grammar in comment
- use unreachable rather than assert
Reviewed-by: Thomas Helland <[email protected]>
Diffstat (limited to 'src/compiler')
-rw-r--r-- | src/compiler/glsl/ir.cpp | 9 | ||||
-rw-r--r-- | src/compiler/glsl/ir.h | 14 |
2 files changed, 9 insertions, 14 deletions
diff --git a/src/compiler/glsl/ir.cpp b/src/compiler/glsl/ir.cpp index 51b875058b1..98bbd915396 100644 --- a/src/compiler/glsl/ir.cpp +++ b/src/compiler/glsl/ir.cpp @@ -556,7 +556,11 @@ ir_expression::ir_expression(int op, ir_rvalue *op0, ir_rvalue *op1, } } -unsigned int +/** + * This is only here for ir_reader to used for testing purposes. Please use + * the precomputed num_operands field if you need the number of operands. + */ +unsigned ir_expression::get_num_operands(ir_expression_operation op) { assert(op <= ir_last_opcode); @@ -573,8 +577,7 @@ ir_expression::get_num_operands(ir_expression_operation op) if (op <= ir_last_quadop) return 4; - assert(false); - return 0; + unreachable("Could not calculate number of operands"); } #include "ir_expression_operation_strings.h" diff --git a/src/compiler/glsl/ir.h b/src/compiler/glsl/ir.h index 58e6356566f..d53b44304d8 100644 --- a/src/compiler/glsl/ir.h +++ b/src/compiler/glsl/ir.h @@ -1538,18 +1538,10 @@ public: virtual ir_constant *constant_expression_value(struct hash_table *variable_context = NULL); /** - * Determine the number of operands used by an expression + * This is only here for ir_reader to used for testing purposes please use + * the precomputed num_operands field if you need the number of operands. */ - static unsigned int get_num_operands(ir_expression_operation); - - /** - * Determine the number of operands used by an expression - */ - unsigned int get_num_operands() const - { - return (this->operation == ir_quadop_vector) - ? this->type->vector_elements : get_num_operands(operation); - } + static unsigned get_num_operands(ir_expression_operation); /** * Return whether the expression operates on vectors horizontally. |