Make inlined function variables auto, not in/out.
authorEric Anholt <eric@anholt.net>
Thu, 24 Jun 2010 22:03:05 +0000 (15:03 -0700)
committerEric Anholt <eric@anholt.net>
Thu, 24 Jun 2010 22:05:11 +0000 (15:05 -0700)
ir_function_inlining.cpp

index d74de65..851c0dd 100644 (file)
@@ -146,11 +146,12 @@ ir_call::generate_inline(ir_instruction *next_ir)
 
       /* Generate a new variable for the parameter. */
       parameters[i] = (ir_variable *)sig_param->clone(ht);
+      parameters[i]->mode = ir_var_auto;
       next_ir->insert_before(parameters[i]);
 
       /* Move the actual param into our param variable if it's an 'in' type. */
-      if (parameters[i]->mode == ir_var_in ||
-         parameters[i]->mode == ir_var_inout) {
+      if (sig_param->mode == ir_var_in ||
+         sig_param->mode == ir_var_inout) {
         ir_assignment *assign;
 
         assign = new ir_assignment(new ir_dereference_variable(parameters[i]),