]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
re PR middle-end/53437 (FAIL: gcc.dg/guality/inline-params.c -O0)
authorRichard Guenther <rguenther@suse.de>
Tue, 22 May 2012 09:33:42 +0000 (09:33 +0000)
committerRichard Biener <rguenth@gcc.gnu.org>
Tue, 22 May 2012 09:33:42 +0000 (09:33 +0000)
2012-05-22  Richard Guenther  <rguenther@suse.de>

PR middle-end/53437
* tree-inline.c (setup_one_parameter): Create a dummy init
statement for unused parameters when not optimizing.

From-SVN: r187767

gcc/ChangeLog
gcc/tree-inline.c

index fc082836fbc34a88a606f498a0ad3a90bea0d28a..f73965d36670611ef479bee553e403bc537c5f6e 100644 (file)
@@ -1,3 +1,9 @@
+2012-05-22  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/53437
+       * tree-inline.c (setup_one_parameter): Create a dummy init
+       statement for unused parameters when not optimizing.
+
 2012-05-22  Richard Guenther  <rguenther@suse.de>
 
        * tree-flow.h (add_referenced_var_1): Declare.
index 060b6e5442feef3965af158684e2f73c61ee0204..8c116f641be343ae1c415e73fda51ce5ec841a5d 100644 (file)
@@ -2701,7 +2701,8 @@ setup_one_parameter (copy_body_data *id, tree p, tree value, tree fn,
       STRIP_USELESS_TYPE_CONVERSION (rhs);
 
       /* If we are in SSA form properly remap the default definition
-         or omit the initialization if the parameter is unused.  */
+         or assign to a dummy SSA name if the parameter is unused and
+        we are not optimizing.  */
       if (gimple_in_ssa_p (cfun) && is_gimple_reg (p))
        {
          if (def)
@@ -2711,6 +2712,11 @@ setup_one_parameter (copy_body_data *id, tree p, tree value, tree fn,
              SSA_NAME_IS_DEFAULT_DEF (def) = 0;
              set_default_def (var, NULL);
            }
+         else if (!optimize)
+           {
+             def = make_ssa_name (var, NULL);
+             init_stmt = gimple_build_assign (def, rhs);
+           }
        }
       else
         init_stmt = gimple_build_assign (var, rhs);