Don't forget to add the declaration of our temporary variable for assigns.

Otherwise, dead code elimination gets confused since it relies on
seeing decls.
This commit is contained in:
Eric Anholt
2010-06-24 09:06:12 -07:00
parent f66ba4f357
commit ae805922b7

View File

@@ -520,6 +520,7 @@ do_assignment(exec_list *instructions, struct _mesa_glsl_parse_state *state,
* ends up not being used, the temp will get copy-propagated out.
*/
ir_variable *var = new ir_variable(rhs->type, "assignment_tmp");
instructions->push_tail(var);
instructions->push_tail(new ir_assignment(new ir_dereference_variable(var),
rhs,
NULL));