aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Guenther <rguenther@suse.de>2012-05-22 09:33:42 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2012-05-22 09:33:42 +0000
commit27eb31c9de20cd2eb1980c49d1dc2e3bc48483f0 (patch)
tree845678aa8f7c5b020aab51aae511af0805a58969 /gcc
parent3efa0725f4e780eb523e10c0b27a3e69fd7b5081 (diff)
downloadgcc-27eb31c9de20cd2eb1980c49d1dc2e3bc48483f0.zip
gcc-27eb31c9de20cd2eb1980c49d1dc2e3bc48483f0.tar.gz
gcc-27eb31c9de20cd2eb1980c49d1dc2e3bc48483f0.tar.bz2
re PR middle-end/53437 (FAIL: gcc.dg/guality/inline-params.c -O0)
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
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/tree-inline.c8
2 files changed, 13 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index fc08283..f73965d 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,11 @@
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.
(add_referenced_var): Define.
* tree-dfa.c (referenced_var_check_and_insert): Avoid one hash
diff --git a/gcc/tree-inline.c b/gcc/tree-inline.c
index 060b6e5..8c116f6 100644
--- a/gcc/tree-inline.c
+++ b/gcc/tree-inline.c
@@ -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);