aboutsummaryrefslogtreecommitdiff
path: root/gcc/range-op-float.cc
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2023-03-28 15:20:22 +0200
committerRichard Biener <rguenther@suse.de>2023-03-29 08:33:00 +0200
commitc9954996cd647daf0ba03e34dd279b97982f671f (patch)
treef51a515351d496e17ae4475d93848c2db3b81c9b /gcc/range-op-float.cc
parent91293ffb6af18705ab7857dc47656bdd74a9ce31 (diff)
downloadgcc-c9954996cd647daf0ba03e34dd279b97982f671f.zip
gcc-c9954996cd647daf0ba03e34dd279b97982f671f.tar.gz
gcc-c9954996cd647daf0ba03e34dd279b97982f671f.tar.bz2
tree-optimization/109154 - improve if-conversion for vectorization
With multi-argument PHIs and now doing VN on the if-converted blocks the optimization of CSEing condition and negated condition doesn't work well anymore. The following restores this a little bit for the case of a single inverted condition into a COND_EXPR where we can instead swap the COND_EXPR arms. The same optimization is already done for the case of two-argument PHIs. This avoids one comparison/mask for the testcase at hand. PR tree-optimization/109154 * tree-if-conv.cc (gen_phi_arg_condition): Handle single inverted condition specially by inverting at the caller. (gen_phi_arg_condition): Swap COND_EXPR arms if requested.
Diffstat (limited to 'gcc/range-op-float.cc')
0 files changed, 0 insertions, 0 deletions