glsl: Move ir_type_unset to end of enumeration.

Now that the constructors set a type, ir_type_unset is not very useful.
Move it to the end of the enum (specifically out of position 0) so that
enums checks for dereferences and rvalues can save an instruction.

Reviewed-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
This commit is contained in:
Matt Turner 2014-05-31 16:27:20 -07:00
parent 943cc7ff17
commit 773544f0e9
2 changed files with 3 additions and 7 deletions

View File

@ -59,11 +59,6 @@
* types, this allows writing very straightforward, readable code.
*/
enum ir_node_type {
/**
* Zero is unused so that the IR validator can detect cases where
* \c ir_instruction::ir_type has not been initialized.
*/
ir_type_unset,
ir_type_dereference_array,
ir_type_dereference_record,
ir_type_dereference_variable,
@ -83,7 +78,8 @@ enum ir_node_type {
ir_type_discard,
ir_type_emit_vertex,
ir_type_end_primitive,
ir_type_max /**< maximum ir_type enum number, for validation */
ir_type_max, /**< maximum ir_type enum number, for validation */
ir_type_unset = ir_type_max
};

View File

@ -795,7 +795,7 @@ check_node_type(ir_instruction *ir, void *data)
{
(void) data;
if (ir->ir_type <= ir_type_unset || ir->ir_type >= ir_type_max) {
if (ir->ir_type >= ir_type_max) {
printf("Instruction node with unset type\n");
ir->print(); printf("\n");
}