glsl/loops: Get rid of lower_bounded_loops and ir_loop::normative_bound.

Now that loop_controls no longer creates normatively bound loops,
there is no need for ir_loop::normative_bound or the
lower_bounded_loops pass.

Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
This commit is contained in:
Paul Berry
2013-11-29 00:52:11 -08:00
parent 7ea3baa64d
commit 088494aa03
45 changed files with 35 additions and 221 deletions
+3 -21
View File
@@ -488,34 +488,16 @@ ir_reader::read_if(s_expression *expr, ir_loop *loop_ctx)
ir_loop *
ir_reader::read_loop(s_expression *expr)
{
s_expression *s_bound_expr, *s_body, *s_bound;
s_expression *s_body;
s_pattern loop_pat[] = { "loop", s_bound_expr, s_body };
s_pattern no_bound_pat[] = { };
s_pattern bound_pat[] = { s_bound };
s_pattern loop_pat[] = { "loop", s_body };
if (!MATCH(expr, loop_pat)) {
ir_read_error(expr, "expected (loop <bound> <body>)");
ir_read_error(expr, "expected (loop <body>)");
return NULL;
}
ir_loop *loop = new(mem_ctx) ir_loop;
if (MATCH(s_bound_expr, no_bound_pat)) {
loop->normative_bound = -1;
} else if (MATCH(s_bound_expr, bound_pat)) {
s_int *value = SX_AS_INT(s_bound);
if (value == NULL) {
ir_read_error(s_bound_expr, "malformed loop bound");
delete loop;
return NULL;
}
loop->normative_bound = value->value();
} else {
ir_read_error(s_bound_expr, "malformed loop bound");
delete loop;
return NULL;
}
read_instructions(&loop->body_instructions, s_body, loop);
if (state->error) {
delete loop;