summaryrefslogtreecommitdiff
path: root/src/glsl/loop_analysis.cpp
AgeCommit message (Collapse)Author
2010-09-07glsl2: Early return with visit_continue in ↵Ian Romanick
loop_analysis::visit(ir_dereference_variable *) Returning early with visit_continue_with_parent prevented the then-statements and else-statements of if-statements such as the following from being processed: if (some_var) { ... } else { ... } Fixes piglit test case glsl-fs-loop-nested-if and bugzilla #30030.
2010-09-03glsl2: Use as_constant some places instead of constant_expression_valueIan Romanick
The places where constant_expression_value are still used in loop analysis are places where a new expression tree is created and constant folding won't have happened. This is used, for example, when we try to determine the maximal loop iteration count. Based on review comments by Eric. "...rely on constant folding to have done its job, instead of going all through the subtree again when it wasn't a constant."
2010-09-03glsl2: Track the number of ir_loop_jump instructions that are in a loopIan Romanick
2010-09-03glsl2: Add module to analyze variables used in loopsIan Romanick
This is the first step eventually leading to loop unrolling.