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:
@@ -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.
|
* ends up not being used, the temp will get copy-propagated out.
|
||||||
*/
|
*/
|
||||||
ir_variable *var = new ir_variable(rhs->type, "assignment_tmp");
|
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),
|
instructions->push_tail(new ir_assignment(new ir_dereference_variable(var),
|
||||||
rhs,
|
rhs,
|
||||||
NULL));
|
NULL));
|
||||||
|
Reference in New Issue
Block a user