summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKenneth Graunke <kenneth@whitecape.org>2010-12-01 15:33:56 -0800
committerIan Romanick <ian.d.romanick@intel.com>2010-12-09 16:42:05 -0800
commit13c45c590b69341487acf21f339bf1e502eedee6 (patch)
treea16276002e4996646440e1754fe898257cd6477d
parent528fa8ce329c22d6376d075c2afa69f177423bfa (diff)
glsl: Consider the "else" branch when looking for loop breaks.
Found this bug by code inspection. Based off the comments just before this code, the intent is to find whether the break exists in the "then" branch or the "else" branch. However, the code actually looked at the last instruction in the "then" branch twice.
-rw-r--r--src/glsl/loop_unroll.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/glsl/loop_unroll.cpp b/src/glsl/loop_unroll.cpp
index 4e6acda907e..c5001ba9530 100644
--- a/src/glsl/loop_unroll.cpp
+++ b/src/glsl/loop_unroll.cpp
@@ -104,7 +104,7 @@ loop_unroll_visitor::visit_leave(ir_loop *ir)
if (is_break(last)) {
continue_from_then_branch = false;
} else {
- last = (ir_instruction *) last_if->then_instructions.get_tail();
+ last = (ir_instruction *) last_if->else_instructions.get_tail();
if (is_break(last))
continue_from_then_branch = true;