diff options
Diffstat (limited to 'dist/Mesa/src/glsl/opt_copy_propagation.cpp')
-rw-r--r-- | dist/Mesa/src/glsl/opt_copy_propagation.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/dist/Mesa/src/glsl/opt_copy_propagation.cpp b/dist/Mesa/src/glsl/opt_copy_propagation.cpp index efa3afda3..7282b611e 100644 --- a/dist/Mesa/src/glsl/opt_copy_propagation.cpp +++ b/dist/Mesa/src/glsl/opt_copy_propagation.cpp @@ -38,6 +38,8 @@ #include "ir_optimization.h" #include "glsl_types.h" +namespace { + class acp_entry : public exec_node { public: @@ -107,6 +109,8 @@ public: void *mem_ctx; }; +} /* unnamed namespace */ + ir_visitor_status ir_copy_propagation_visitor::visit_enter(ir_function_signature *ir) { @@ -181,11 +185,12 @@ ir_visitor_status ir_copy_propagation_visitor::visit_enter(ir_call *ir) { /* Do copy propagation on call parameters, but skip any out params */ - exec_list_iterator sig_param_iter = ir->get_callee()->parameters.iterator(); + exec_list_iterator sig_param_iter = ir->callee->parameters.iterator(); foreach_iter(exec_list_iterator, iter, ir->actual_parameters) { ir_variable *sig_param = (ir_variable *)sig_param_iter.get(); ir_instruction *ir = (ir_instruction *)iter.get(); - if (sig_param->mode != ir_var_out && sig_param->mode != ir_var_inout) { + if (sig_param->mode != ir_var_function_out + && sig_param->mode != ir_var_function_inout) { ir->accept(this); } sig_param_iter.next(); |