re PR rtl-optimization/82778 (crash: insn does not satisfy its constraints)
authorJakub Jelinek <jakub@gcc.gnu.org>
Wed, 1 Nov 2017 21:52:21 +0000 (22:52 +0100)
committerJakub Jelinek <jakub@gcc.gnu.org>
Wed, 1 Nov 2017 21:52:21 +0000 (22:52 +0100)
commitefc04f78d8a0efb66d9f767ce26aa7d01d19cb0c
tree8e09ee941e9cc82242b067bfc23517090dff25aa
parentfe1447a1d7ed8945404176fc0941a380682e5f11
re PR rtl-optimization/82778 (crash: insn does not satisfy its constraints)

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.collison@arm.com>

PR rtl-optimization/82597
* gcc.dg/pr82597.c: New test.

From-SVN: r254328
gcc/ChangeLog
gcc/compare-elim.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/opt/pr82778.C [new file with mode: 0644]
gcc/testsuite/gcc.dg/pr82597.c [new file with mode: 0644]