From 7e97ee1ae9d7cc479b11c022968d25536b19cfaa Mon Sep 17 00:00:00 2001 From: Jan Hubicka Date: Sat, 10 Jul 2010 01:41:10 +0200 Subject: tree-inline.c (declare_return_variable): Fix ICE while inlining DECL_BY_VALUE function not in SSA form * tree-inline.c (declare_return_variable): Fix ICE while inlining DECL_BY_VALUE function not in SSA form From-SVN: r162024 --- gcc/ChangeLog | 5 +++++ gcc/tree-inline.c | 5 ++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index afbbb31..af20304 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2010-07-09 Jan Hubicka + + * tree-inline.c (declare_return_variable): Fix ICE while + inlining DECL_BY_VALUE function not in SSA form + 2010-07-09 Changpeng Fang PR tree-optimization/44576 diff --git a/gcc/tree-inline.c b/gcc/tree-inline.c index 069dcb3..57364e4 100644 --- a/gcc/tree-inline.c +++ b/gcc/tree-inline.c @@ -2903,7 +2903,10 @@ declare_return_variable (copy_body_data *id, tree return_slot, tree modify_dest, add_referenced_var (temp); } insert_decl_map (id, result, temp); - temp = remap_ssa_name (gimple_default_def (id->src_cfun, result), id); + /* When RESULT_DECL is in SSA form, we need to use it's default_def + SSA_NAME. */ + if (gimple_in_ssa_p (id->src_cfun) && gimple_default_def (id->src_cfun, result)) + temp = remap_ssa_name (gimple_default_def (id->src_cfun, result), id); insert_init_stmt (id, entry_bb, gimple_build_assign (temp, var)); } else -- cgit v1.1