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:
@@ -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;""")
|
||||
|
Reference in New Issue
Block a user