diff options
| author | 2024-11-19 14:30:41 +0000 | |
|---|---|---|
| committer | 2024-11-21 09:44:41 +0000 | |
| commit | 70cb3b60e2b62ce2ca604032570618987f590e2f (patch) | |
| tree | a6716dad4bc64a18b802ca411a4dc7e5359ee0b5 /compiler/optimizing/loop_analysis.h | |
| parent | 8ef719ad4c07cb1f27b55f3c9c6fbf9b5941bb90 (diff) | |
Fix LoopElimination mistakenly eliminating a loop
This resulted in a crash for debug builds, and mistakes in the
optimizations for release builds.
It requires a variable to be used in the loop we are unrolling
as well as in a catch phi that it is not part of the loop we
are unrolling.
We could potentially fully unroll that loop, but this requires
a refactor on how SuperblockCloner works. This CL makes it so
that we won't optimize such loops, which should be rare enough
to not cause any visible regressions.
Test: art/test/testrunner/testrunner.py --host --64 --optimizing -b
Bug: 368984521
Fixes: 368984521
Change-Id: I39f88586358573bbe76d9369d4ec67a942fd3eec
Diffstat (limited to 'compiler/optimizing/loop_analysis.h')
0 files changed, 0 insertions, 0 deletions