diff options
author | Jan Hubicka <jh@suse.cz> | 2010-06-28 23:16:25 +0200 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2010-06-28 21:16:25 +0000 |
commit | 6b5c2d6c5efa1984e10528a37d1d61c9feb06b2e (patch) | |
tree | 8ad4166fea4d3ce322b0bfd5e45b80fd6f5061c6 /gcc/ipa-split.c | |
parent | 7fd7263dc9212bcf694e951327a9b33872158d37 (diff) | |
download | gcc-6b5c2d6c5efa1984e10528a37d1d61c9feb06b2e.zip gcc-6b5c2d6c5efa1984e10528a37d1d61c9feb06b2e.tar.gz gcc-6b5c2d6c5efa1984e10528a37d1d61c9feb06b2e.tar.bz2 |
re PR middle-end/44671 (Partial inlining breaks C++)
PR middle-end/44671
* ipa-split.c (test_nonssa_use, mark_nonssa_use): Check also uses of RESULT_DECL.
From-SVN: r161514
Diffstat (limited to 'gcc/ipa-split.c')
-rw-r--r-- | gcc/ipa-split.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/gcc/ipa-split.c b/gcc/ipa-split.c index 78895d0..ae784b6 100644 --- a/gcc/ipa-split.c +++ b/gcc/ipa-split.c @@ -138,6 +138,7 @@ test_nonssa_use (gimple stmt ATTRIBUTE_UNUSED, tree t, if (t && !is_gimple_reg (t) && ((TREE_CODE (t) == VAR_DECL && auto_var_in_fn_p (t, current_function_decl)) + || (TREE_CODE (t) == RESULT_DECL) || (TREE_CODE (t) == PARM_DECL))) return bitmap_bit_p ((bitmap)data, DECL_UID (t)); return false; @@ -441,7 +442,8 @@ mark_nonssa_use (gimple stmt ATTRIBUTE_UNUSED, tree t, return true; } - if (TREE_CODE (t) == VAR_DECL && auto_var_in_fn_p (t, current_function_decl)) + if ((TREE_CODE (t) == VAR_DECL && auto_var_in_fn_p (t, current_function_decl)) + || (TREE_CODE (t) == RESULT_DECL)) bitmap_set_bit ((bitmap)data, DECL_UID (t)); return false; } |