diff options
author | Jakub Jelinek <jakub@redhat.com> | 2020-12-06 10:58:10 +0100 |
---|---|---|
committer | Jakub Jelinek <jakub@redhat.com> | 2020-12-06 10:58:10 +0100 |
commit | 8c23434fdadcf4caa1f0e966294c5f67ccf4bcf9 (patch) | |
tree | ab85825958107ecc849c9da1e95a51d2670a545d /gcc/tree-vectorizer.h | |
parent | 9e12b8b1819342ef7efac58cf7f4ba4294abe551 (diff) | |
download | gcc-8c23434fdadcf4caa1f0e966294c5f67ccf4bcf9.zip gcc-8c23434fdadcf4caa1f0e966294c5f67ccf4bcf9.tar.gz gcc-8c23434fdadcf4caa1f0e966294c5f67ccf4bcf9.tar.bz2 |
[PATCH] phiopt: Handle bool in two_value_replacement [PR796232]
The following patch improves code generation on the included testcase by
enabling two_value_replacement on booleans. It does that only for arg0/arg1
values that conditional_replacement doesn't handle. Additionally
it limits two_value_replacement optimization to the late phiopt like
conditional_replacement.
2020-12-06 Jakub Jelinek <jakub@redhat.com>
PR tree-optimization/96232
* tree-ssa-phiopt.c (two_value_replacement): Optimize even boolean lhs
cases as long as arg0 has wider precision and conditional_replacement
doesn't handle that case.
(tree_ssa_phiopt_worker): Don't call two_value_replacement during
early phiopt.
* gcc.dg/tree-ssa/pr96232-2.c: New test.
* gcc.dg/tree-ssa/pr88676-2.c: Check phiopt2 dump rather than phiopt1.
Diffstat (limited to 'gcc/tree-vectorizer.h')
0 files changed, 0 insertions, 0 deletions