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 <ian.d.romanick@intel.com>
Reviewed-by: Matt Turner <mattst88@gmail.com>
This commit is contained in:
Ian Romanick
2016-07-18 17:38:19 -07:00
parent dd574be54c
commit aee9ab7de7

View File

@@ -103,7 +103,7 @@ constant_template_common = mako.template.Template("""\
break; break;
% endfor % endfor
default: default:
assert(0); unreachable("invalid type");
} }
} }
break;""") break;""")
@@ -134,7 +134,7 @@ constant_template_vector_scalar = mako.template.Template("""\
break; break;
% endfor % endfor
default: default:
assert(0); unreachable("invalid type");
} }
} }
break;""") break;""")
@@ -157,7 +157,7 @@ constant_template_mul = mako.template.Template("""\
break; break;
% endfor % endfor
default: default:
assert(0); unreachable("invalid type");
} }
} }
} else { } else {
@@ -215,7 +215,7 @@ constant_template_horizontal = mako.template.Template("""\
break; break;
% endfor % endfor
default: default:
assert(0); unreachable("invalid type");
} }
break;""") break;""")
@@ -232,7 +232,7 @@ constant_template_vector_extract = mako.template.Template("""\
break; break;
% endfor % endfor
default: default:
assert(0); unreachable("invalid type");
} }
break; break;
}""") }""")
@@ -251,8 +251,7 @@ constant_template_vector_insert = mako.template.Template("""\
break; break;
% endfor % endfor
default: default:
assert(!"Should not get here."); unreachable("invalid type");
break;
} }
break; break;
}""") }""")
@@ -268,7 +267,7 @@ constant_template_vector = mako.template.Template("""\
break; break;
% endfor % endfor
default: default:
assert(0); unreachable("invalid type");
} }
} }
break;""") break;""")
@@ -292,7 +291,7 @@ constant_template_lrp = mako.template.Template("""\
break; break;
% endfor % endfor
default: default:
assert(0); unreachable("invalid type");
} }
} }
break; break;
@@ -311,7 +310,7 @@ constant_template_csel = mako.template.Template("""\
break; break;
% endfor % endfor
default: default:
assert(0); unreachable("invalid type");
} }
} }
break;""") break;""")