compare-elim.c (struct comparison): Add not_in_a field.
commit0ea52812a8a6c60c580529d1d3dbe144f8e6fc2f
authorEric Botcazou <ebotcazou@adacore.com>
Mon, 19 Nov 2018 10:25:35 +0000 (19 10:25 +0000)
committerEric Botcazou <ebotcazou@gcc.gnu.org>
Mon, 19 Nov 2018 10:25:35 +0000 (19 10:25 +0000)
tree6c9ca6f8eaa675d23da1de4346ac91ba6454a6bb
parentfc315b476948df23d6d9594b0d0107daafeaf8a7
compare-elim.c (struct comparison): Add not_in_a field.

* compare-elim.c (struct comparison): Add not_in_a field.
(is_not): New static function.
(strip_not): Likewise.
(conforming_compare): Handle a NOT in the first operand.
(can_eliminate_compare): Likewise.
(find_comparison_dom_walker::before_dom_children): Likewise.
(try_eliminate_compare): Likewise.
* config/visium/visium.md (negsi2_insn_set_carry): Turn into...
(neg<mode>2_insn_set_carry): ...this and add missing NEG operation.

From-SVN: r266268
gcc/ChangeLog
gcc/compare-elim.c
gcc/config/visium/visium.md
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/visium/overflow16.c
gcc/testsuite/gcc.target/visium/overflow32.c
gcc/testsuite/gcc.target/visium/overflow8.c