-
- Downloads
re PR middle-end/44813 (ipa-split causes ice in ptr_deref_may_alias_decl_p, at...
re PR middle-end/44813 (ipa-split causes ice in ptr_deref_may_alias_decl_p, at tree-ssa-alias.c:173) PR middle-end/44813 * tree-ssa-uninit.c (ssa_undefined_value_p): Result decl is defined for functions passed by reference. * tree.c (needs_to_live_in_memory): RESULT_DECL don't need to live in memory when passed by reference. * tree-ssa-ccp.c (get_default_value): Only VAR_DECL is undefined at beggining. * ipa-split.c (split_function): Cleanup way return value is passed; handle SSA DECL_BY_REFERENCE retvals. * tree-ssa.c (verify_def): Verify that RESULT_DECL is read only when DECL_BY_REFERENCE is set. * tree-ssa-structalias.c (get_constraint_for_ssa_var, get_fi_for_callee, find_what_p_points_to): Handle RESULT_DECL. * tree-inline.c (declare_return_variable): Get new entry_block argument; when passing by reference ensure that RESULT_DECL is gimple_val. (remap_gimple_op_r): Remap RESULT_DECL ssa name. (remap_gimple_stmt): Handle SSA DECL_BY_REFERENCE returns. * g++.dg/torture/pr44813.C: New testcase. * g++.dg/torture/pr44826.C: New testcase. From-SVN: r161898
Showing
- gcc/ChangeLog 22 additions, 0 deletionsgcc/ChangeLog
- gcc/ipa-split.c 52 additions, 12 deletionsgcc/ipa-split.c
- gcc/testsuite/ChangeLog 6 additions, 0 deletionsgcc/testsuite/ChangeLog
- gcc/testsuite/g++.dg/torture/pr44813.C 60 additions, 0 deletionsgcc/testsuite/g++.dg/torture/pr44813.C
- gcc/testsuite/g++.dg/torture/pr44826.C 44 additions, 0 deletionsgcc/testsuite/g++.dg/torture/pr44826.C
- gcc/tree-inline.c 28 additions, 6 deletionsgcc/tree-inline.c
- gcc/tree-ssa-ccp.c 2 additions, 1 deletiongcc/tree-ssa-ccp.c
- gcc/tree-ssa-structalias.c 6 additions, 3 deletionsgcc/tree-ssa-structalias.c
- gcc/tree-ssa-uninit.c 6 additions, 0 deletionsgcc/tree-ssa-uninit.c
- gcc/tree-ssa.c 7 additions, 0 deletionsgcc/tree-ssa.c
- gcc/tree.c 1 addition, 0 deletionsgcc/tree.c
Loading
Please register or sign in to comment