commit | fdb807737f56d8de64a827a2e858066d793366f2 | [log] [tgz] |
---|---|---|
author | Santiago Aboy Solanes <solanes@google.com> | Wed Oct 25 14:10:13 2023 +0100 |
committer | Treehugger Robot <android-test-infra-autosubmit@system.gserviceaccount.com> | Fri Nov 24 14:55:36 2023 +0000 |
tree | c5cedc61023a54952d402799ad15709793429472 | |
parent | 8ffa25947213bca36b0d39e94e037d9231f77441 [diff] |
Improve linear induction var range creation We can now detect and remove loops that require an is_taken test e.g. int a = 0; for (int i = 0; i < n; i++) { a += 1; } can be turned into `if (n < 0) then 0 else n`. Part of this logic can be reused in the future to help eliminate BoundsCheck instructions. Bug: 304967775 Fixes: 304967775 Test: art/test/testrunner/testrunner.py --host --64 -b --optimizing Change-Id: I944f3408e623a0652977d4c3f72d29caf9c1f908