From 773544f0e95e6732e27ce8f6c4567f221f0d2dac Mon Sep 17 00:00:00 2001 From: Matt Turner Date: Sat, 31 May 2014 16:27:20 -0700 Subject: [PATCH] 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 --- src/glsl/ir.h | 8 ++------ src/glsl/ir_validate.cpp | 2 +- 2 files changed, 3 insertions(+), 7 deletions(-) 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"); } -- 2.30.2