PR c++/70594
commit402d7a9016137f127e279883fd901f44463b94b2
authorjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 14 Apr 2016 19:21:31 +0000 (14 19:21 +0000)
committerjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 14 Apr 2016 19:21:31 +0000 (14 19:21 +0000)
tree689f794a5cd438e124194ffde1382c3f023c5bf2
parent4c1007f11e4c4ff880b06488b10117c36c46238e
PR c++/70594
* ipa-utils.h (polymorphic_ctor_dtor_p): New prototype.
* ipa-polymorphic-call.c (polymorphic_ctor_dtor_p): New function.
(inlined_polymorphic_ctor_dtor_block_p): Use it.
* tree-ssa-live.c (remove_unused_scope_block_p): When
in_ctor_dtor_block, avoid discarding not just BLOCKs with
BLOCK_ABSTRACT_ORIGIN being FUNCTION_DECL, but even when
block_ultimate_origin is FUNCTION_DECL.
(remove_unused_locals): If current_function_decl is
polymorphic_ctor_dtor_p, pass initial true to
remove_unused_scope_block_p' is_ctor_dtor_block.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@234987 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/ipa-polymorphic-call.c
gcc/ipa-utils.h
gcc/tree-ssa-live.c