https://gcc.gnu.org/bugzilla/show_bug.cgi?id=59813
Christophe Lyon <clyon at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |clyon at gcc dot gnu.org --- Comment #9 from Christophe Lyon <clyon at gcc dot gnu.org> --- (In reply to Jakub Jelinek from comment #8) > Author: jakub > Date: Wed May 8 17:06:46 2019 > New Revision: 271013 > > URL: https://gcc.gnu.org/viewcvs?rev=271013&root=gcc&view=rev > Log: > PR c++/59813 > PR tree-optimization/89060 > * tree-ssa-live.h (live_vars_map): New typedef. > (compute_live_vars, live_vars_at_stmt, destroy_live_vars): Declare. > * tree-ssa-live.c: Include gimple-walk.h and cfganal.h. > (struct compute_live_vars_data): New type. > (compute_live_vars_visit, compute_live_vars_1, compute_live_vars, > live_vars_at_stmt, destroy_live_vars): New functions. > * tree-tailcall.c: Include tree-ssa-live.h. > (live_vars, live_vars_vec): New global variables. > (find_tail_calls): Perform variable life analysis before punting. > (tree_optimize_tail_calls_1): Clean up live_vars and live_vars_vec. > * tree-inline.h (struct copy_body_data): Add eh_landing_pad_dest > member. > * tree-inline.c (add_clobbers_to_eh_landing_pad): Remove BB argument. > Perform variable life analysis to select variables that really need > clobbers added. > (copy_edges_for_bb): Don't call add_clobbers_to_eh_landing_pad here, > instead set id->eh_landing_pad_dest and assert it is the same. > (copy_cfg_body): Call it here if id->eh_landing_pad_dest is non-NULL. > > * gcc.dg/tree-ssa/pr89060.c: New test. > > Added: > trunk/gcc/testsuite/gcc.dg/tree-ssa/pr89060.c > Modified: > trunk/gcc/ChangeLog > trunk/gcc/testsuite/ChangeLog > trunk/gcc/tree-inline.c > trunk/gcc/tree-inline.h > trunk/gcc/tree-ssa-live.c > trunk/gcc/tree-ssa-live.h > trunk/gcc/tree-tailcall.c This patch introduced regressions in libstdc++ on aarch64, I'm now seeing these failures: 18_support/exception_ptr/lifespan.cc execution test 18_support/nested_exception/throw_with_nested.cc execution test 18_support/uncaught_exception/14026.cc execution test 20_util/specialized_algorithms/memory_management_tools/1.cc execution test 20_util/unsynchronized_pool_resource/allocate.cc execution test 20_util/variant/exception_safety.cc execution test 20_util/variant/run.cc execution test 21_strings/basic_string/cons/char/69092.cc execution test 22_locale/locale/cons/12438.cc execution test 22_locale/numpunct/members/pod/2.cc execution test 23_containers/deque/cons/2.cc execution test 23_containers/deque/requirements/exception/basic.cc execution test 23_containers/deque/requirements/exception/propagation_consistent.cc execution test 23_containers/forward_list/requirements/exception/basic.cc execution test 23_containers/forward_list/requirements/exception/propagation_consistent.cc execution test 23_containers/list/operations/78389.cc execution test 23_containers/list/requirements/exception/basic.cc execution test 23_containers/list/requirements/exception/propagation_consistent.cc execution test 23_containers/map/requirements/exception/basic.cc execution test 23_containers/map/requirements/exception/propagation_consistent.cc execution test 23_containers/multimap/requirements/exception/basic.cc execution test 23_containers/multimap/requirements/exception/propagation_consistent.cc execution test 23_containers/multiset/requirements/exception/basic.cc execution test 23_containers/multiset/requirements/exception/propagation_consistent.cc execution test 23_containers/set/requirements/exception/basic.cc execution test 23_containers/set/requirements/exception/propagation_consistent.cc execution test 23_containers/unordered_map/requirements/exception/basic.cc execution test 23_containers/unordered_map/requirements/exception/propagation_consistent.cc execution test 23_containers/unordered_multimap/requirements/exception/basic.cc execution test 23_containers/unordered_multimap/requirements/exception/propagation_consistent.cc execution test 23_containers/unordered_multiset/insert/hash_policy.cc execution test 23_containers/unordered_multiset/requirements/exception/basic.cc execution test 23_containers/unordered_multiset/requirements/exception/propagation_consistent.cc execution test 23_containers/unordered_set/insert/hash_policy.cc execution test 23_containers/unordered_set/max_load_factor/robustness.cc execution test 23_containers/unordered_set/requirements/exception/basic.cc execution test 23_containers/unordered_set/requirements/exception/propagation_consistent.cc execution test 23_containers/vector/capacity/2.cc execution test 23_containers/vector/capacity/resize/strong_guarantee.cc execution test 23_containers/vector/cons/4.cc execution test 23_containers/vector/cons/86292.cc execution test 23_containers/vector/modifiers/push_back/strong_guarantee.cc execution test 23_containers/vector/requirements/exception/basic.cc execution test 23_containers/vector/requirements/exception/propagation_consistent.cc execution test 25_algorithms/stable_partition/mem_check.cc execution test 25_algorithms/stable_sort/mem_check.cc execution test 27_io/basic_filebuf/close/81256.cc execution test 27_io/basic_filebuf/cons/wchar_t/10132-1.cc execution test 27_io/basic_filebuf/overflow/char/13858.cc execution test 27_io/basic_filebuf/overflow/wchar_t/13858.cc execution test 27_io/basic_filebuf/seekoff/wchar_t/3.cc execution test 27_io/basic_filebuf/seekpos/wchar_t/1.cc execution test 27_io/basic_filebuf/sync/char/9182-1.cc execution test 27_io/basic_fstream/53984.cc execution test 27_io/basic_istream/exceptions/char/9561.cc execution test 27_io/basic_istream/exceptions/wchar_t/9561.cc execution test 27_io/basic_istream/extractors_arithmetic/char/exceptions_badbit_throw.cc execution test 27_io/basic_istream/extractors_arithmetic/wchar_t/exceptions_badbit_throw.cc execution test 27_io/basic_istream/extractors_other/char/exceptions_failbit_throw.cc execution test 27_io/basic_istream/extractors_other/wchar_t/exceptions_failbit_throw.cc execution test 27_io/basic_istream/seekg/char/exceptions_badbit_throw.cc execution test 27_io/basic_istream/seekg/wchar_t/exceptions_badbit_throw.cc execution test 27_io/basic_istream/tellg/char/exceptions_badbit_throw.cc execution test 27_io/basic_istream/tellg/wchar_t/exceptions_badbit_throw.cc execution test 27_io/basic_ostream/exceptions/char/9561.cc execution test 27_io/basic_ostream/exceptions/wchar_t/9561.cc execution test 27_io/basic_ostream/flush/char/exceptions_badbit_throw.cc execution test 27_io/basic_ostream/flush/wchar_t/exceptions_badbit_throw.cc execution test 27_io/basic_ostream/inserters_arithmetic/char/9555-oa.cc execution test 27_io/basic_ostream/inserters_arithmetic/char/exceptions_badbit_throw.cc execution test 27_io/basic_ostream/inserters_arithmetic/wchar_t/9555-oa.cc execution test 27_io/basic_ostream/inserters_arithmetic/wchar_t/exceptions_badbit_throw.cc execution test 27_io/basic_ostream/inserters_character/char/9555-oc.cc execution test 27_io/basic_ostream/inserters_character/wchar_t/9555-oc.cc execution test 27_io/basic_ostream/inserters_other/char/exceptions_failbit_throw.cc execution test 27_io/basic_ostream/inserters_other/wchar_t/exceptions_failbit_throw.cc execution test 27_io/basic_ostream/put/char/1.cc execution test 27_io/basic_ostream/put/wchar_t/1.cc execution test 27_io/basic_ostream/seekp/char/exceptions_badbit_throw.cc execution test 27_io/basic_ostream/seekp/wchar_t/exceptions_badbit_throw.cc execution test 27_io/basic_ostream/tellp/char/exceptions_badbit_throw.cc execution test 27_io/basic_ostream/tellp/wchar_t/exceptions_badbit_throw.cc execution test 27_io/basic_ostream/write/char/1.cc execution test 27_io/basic_ostream/write/wchar_t/1.cc execution test 27_io/ios_base/failure/dual_abi.cc execution test 30_threads/async/except.cc execution test ext/enc_filebuf/char/13189.cc execution test ext/enc_filebuf/wchar_t/13189.cc execution test ext/pb_ds/example/hash_illegal_resize.cc execution test ext/vstring/requirements/exception/propagation_consistent.cc execution test libstdc++-prettyprinters/cxx17.cc execution test