PR rtl-optimization/82778
commit81ba46decc8bcc042ef43a9d43da97b23c5f5e9b
authorjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 1 Nov 2017 21:52:21 +0000 (1 21:52 +0000)
committerjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 1 Nov 2017 21:52:21 +0000 (1 21:52 +0000)
tree8e09ee941e9cc82242b067bfc23517090dff25aa
parent4ec31dd2d69fdc138608922608b643384f02154a
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@254328 138bc75d-0d04-0410-961f-82ee72b054a4
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]