https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82778
--- Comment #4 from Jakub Jelinek <jakub at gcc dot gnu.org> --- Author: jakub Date: Wed Nov 1 21:52:21 2017 New Revision: 254328 URL: https://gcc.gnu.org/viewcvs?rev=254328&root=gcc&view=rev Log: PR rtl-optimization/82778 PR rtl-optimization/82597 * compare-elim.c (struct comparison): Add in_a_setter field. (find_comparison_dom_walker::before_dom_children): Remove killed bitmap and df_simulate_find_defs call, instead walk the defs. Compute last_setter and initialize in_a_setter. Merge definitions with first initialization for a few variables. (try_validate_parallel): Use insn_invalid_p instead of recog_memoized. Return insn rather than just the pattern. (try_merge_compare): Fix up comment. Don't uselessly test if in_a is a REG_P. Use cmp->in_a_setter instead of walking UD chains. (execute_compare_elim_after_reload): Remove df_chain_add_problem call. * g++.dg/opt/pr82778.C: New test. 2017-11-01 Michael Collison <michael.colli...@arm.com> PR rtl-optimization/82597 * gcc.dg/pr82597.c: New test. Added: trunk/gcc/testsuite/g++.dg/opt/pr82778.C trunk/gcc/testsuite/gcc.dg/pr82597.c Modified: trunk/gcc/ChangeLog trunk/gcc/compare-elim.c trunk/gcc/testsuite/ChangeLog