aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-inline.c
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2009-03-01 12:02:30 +0100
committerJan Hubicka <hubicka@gcc.gnu.org>2009-03-01 11:02:30 +0000
commit1cf5abb382f9dab7203ae6a8d9f2f4421190d1ff (patch)
tree6ef8cf25549c0974186775828a4a93b9f8173240 /gcc/tree-inline.c
parent39ae51e069e55db5c979ee2fe408bfee2d79b533 (diff)
downloadgcc-1cf5abb382f9dab7203ae6a8d9f2f4421190d1ff.zip
gcc-1cf5abb382f9dab7203ae6a8d9f2f4421190d1ff.tar.gz
gcc-1cf5abb382f9dab7203ae6a8d9f2f4421190d1ff.tar.bz2
re PR debug/39267 (gdb testsuite regressions)
PR debug/39267 * tree-inline.c (setup_one_parameter): Do not copy propagate arguments when not optimizing. PR debug/39267 * gcc.dg/debug/dwarf2/inline1.c: New testcase. From-SVN: r144515
Diffstat (limited to 'gcc/tree-inline.c')
-rw-r--r--gcc/tree-inline.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/tree-inline.c b/gcc/tree-inline.c
index a7e25fd..65d5b88 100644
--- a/gcc/tree-inline.c
+++ b/gcc/tree-inline.c
@@ -2048,6 +2048,7 @@ setup_one_parameter (copy_body_data *id, tree p, tree value, tree fn,
We might want to introduce a notion that single SSA_NAME might
represent multiple variables for purposes of debugging. */
if (gimple_in_ssa_p (cfun) && rhs && def && is_gimple_reg (p)
+ && optimize
&& (TREE_CODE (rhs) == SSA_NAME
|| is_gimple_min_invariant (rhs))
&& !SSA_NAME_OCCURS_IN_ABNORMAL_PHI (def))
@@ -2058,7 +2059,7 @@ setup_one_parameter (copy_body_data *id, tree p, tree value, tree fn,
/* If the value of argument is never used, don't care about initializing
it. */
- if (gimple_in_ssa_p (cfun) && !def && is_gimple_reg (p))
+ if (optimize && gimple_in_ssa_p (cfun) && !def && is_gimple_reg (p))
{
gcc_assert (!value || !TREE_SIDE_EFFECTS (value));
return NULL;