diff options
| author | Richard Biener <rguenther@suse.de> | 2026-02-10 09:46:08 +0100 |
|---|---|---|
| committer | Richard Biener <rguenth@gcc.gnu.org> | 2026-02-10 10:59:32 +0100 |
| commit | e55de74d50d236db0472431fe242f3244e41b884 (patch) | |
| tree | 2bc5da2db945daf314c1a6e6840ba13c11dedddd /libjava/classpath/gnu | |
| parent | 9eabc86fc6c9b5bba2844ebd6c83ad27026e0766 (diff) | |
| download | gcc-e55de74d50d236db0472431fe242f3244e41b884.zip gcc-e55de74d50d236db0472431fe242f3244e41b884.tar.gz gcc-e55de74d50d236db0472431fe242f3244e41b884.tar.bz2 | |
tree-optimization/107690 - avoid creating un-analyzable loop exits
The following adds a heuristic to ifcombine that avoids turning
analyzable loop exits into unanalyzable ones. This allows vectorizing
the testcase in the PR again. I've refrained from actually
analyzing niters but instead used a cheaper heuristic. I believe
we'll only ever attempt to combine two ifs if they are in the same
loop and if either both exit the loop or stay within.
PR tree-optimization/107690
* tree-ssa-ifcombine.cc (ifcombine_ifandif): Do not merge
possibly analyzable exit conditions.
* g++.dg/vect/vect-pr107690.cc: New testcase.
Diffstat (limited to 'libjava/classpath/gnu')
0 files changed, 0 insertions, 0 deletions
