From: Matt Turner Date: Sat, 31 May 2014 23:27:20 +0000 (-0700) Subject: glsl: Move ir_type_unset to end of enumeration. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=773544f0e95e6732e27ce8f6c4567f221f0d2dac;p=mesa.git 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 --- diff --git a/src/glsl/ir.h b/src/glsl/ir.h index 57552e0f567..585c31c2db6 100644 --- a/src/glsl/ir.h +++ b/src/glsl/ir.h @@ -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 }; diff --git a/src/glsl/ir_validate.cpp b/src/glsl/ir_validate.cpp index 71defc81593..17a74ea55f5 100644 --- a/src/glsl/ir_validate.cpp +++ b/src/glsl/ir_validate.cpp @@ -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"); }