From aee9ab7de7079d849ed28519fe4e9de7e8eb96e0 Mon Sep 17 00:00:00 2001 From: Ian Romanick Date: Mon, 18 Jul 2016 17:38:19 -0700 Subject: [PATCH] glsl: Replace most assertions with unreachable() text data bss dec hex filename 7669233 277176 28624 7975033 79b079 i965_dri.so before generated code 7647081 277176 28624 7952881 7959f1 i965_dri.so before this commit 7669289 277176 28624 7975089 79b0b1 i965_dri.so with this commit Looking at the generated assembly, it appears that some of changes made in the generated code prevent some loops from being unrolled. Removing the default cases (via unreachable()) allows these loops to unroll again. Signed-off-by: Ian Romanick Reviewed-by: Matt Turner --- src/compiler/glsl/ir_expression_operation.py | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/src/compiler/glsl/ir_expression_operation.py b/src/compiler/glsl/ir_expression_operation.py index d5a06f8..43ba46e 100644 --- a/src/compiler/glsl/ir_expression_operation.py +++ b/src/compiler/glsl/ir_expression_operation.py @@ -103,7 +103,7 @@ constant_template_common = mako.template.Template("""\ break; % endfor default: - assert(0); + unreachable("invalid type"); } } break;""") @@ -134,7 +134,7 @@ constant_template_vector_scalar = mako.template.Template("""\ break; % endfor default: - assert(0); + unreachable("invalid type"); } } break;""") @@ -157,7 +157,7 @@ constant_template_mul = mako.template.Template("""\ break; % endfor default: - assert(0); + unreachable("invalid type"); } } } else { @@ -215,7 +215,7 @@ constant_template_horizontal = mako.template.Template("""\ break; % endfor default: - assert(0); + unreachable("invalid type"); } break;""") @@ -232,7 +232,7 @@ constant_template_vector_extract = mako.template.Template("""\ break; % endfor default: - assert(0); + unreachable("invalid type"); } break; }""") @@ -251,8 +251,7 @@ constant_template_vector_insert = mako.template.Template("""\ break; % endfor default: - assert(!"Should not get here."); - break; + unreachable("invalid type"); } break; }""") @@ -268,7 +267,7 @@ constant_template_vector = mako.template.Template("""\ break; % endfor default: - assert(0); + unreachable("invalid type"); } } break;""") @@ -292,7 +291,7 @@ constant_template_lrp = mako.template.Template("""\ break; % endfor default: - assert(0); + unreachable("invalid type"); } } break; @@ -311,7 +310,7 @@ constant_template_csel = mako.template.Template("""\ break; % endfor default: - assert(0); + unreachable("invalid type"); } } break;""") -- 2.7.4