diff options
| author | 2023-01-24 18:05:10 +0000 | |
|---|---|---|
| committer | 2023-01-31 13:19:08 +0000 | |
| commit | 10d6870ae4d0a52579fd520e8ee0fdcb4dfcd25a (patch) | |
| tree | e9958cfeb1694c325452b450caad1bbc367424cb /compiler/optimizing/code_generator.cc | |
| parent | fa26b96f2f56ea2380d96922f3c859a2c3b417e8 (diff) | |
Add phis in SimplifyIfs to enable branch redirection
For example it turns:
if(cond)
  /  \
 B1  B2
  \ /
if(cond)
  /  \
 B3  B4
into:
if(cond)
  /  \
 B1  B2
  \ /
if(Phi(1, 0))
  /  \
 B3  B4
Following this, SimplifyIfs is able to connect B1->B3
and B2->B4 effectively skipping an if.
Locally, speed compiling on a Pixel 5:
 * system server: -4.0KB (-0.01%)
 * SystemUIGoogle: -8.0KB (-0.03%)
 * AGSA: -17.75KB (-0.01%)
Test: art/test/testrunner/testrunner.py --host --64 --optimizing -b
Change-Id: I3b2e6a986b4d5e162bec28d72e9b0e2a3de1a4c3
Diffstat (limited to 'compiler/optimizing/code_generator.cc')
0 files changed, 0 insertions, 0 deletions