66c53b9428
When we detect a static switch, the optimizer finds the matching switch- case and eliminates all the other switch-cases. It handles case fall-through by scanning forward and looking for an unconditional break. However, the inliner has an interesting quirk--it can replace `return` statements inside of a switch with `continue` statements, since the body of the inlined function has been wrapped with a for-loop to allow for early exits. The optimizer does not recognize these continue statements as exits from the switch (although they certainly qualify), so it treats continues as fallen-through and keeps emitting switch-cases. The dead-code elimination pass was actually doing us a favor here and eliminating the excess code later. A flag was added to disable DCE in order to reveal the problem in a test. Change-Id: I8ff19fde5e32d0ab73d7c5411da40cb953a446f5 Bug: skia:11352 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/372956 Auto-Submit: John Stiles <johnstiles@google.com> Reviewed-by: Ethan Nicholas <ethannicholas@google.com> |
||
---|---|---|
.. | ||
android_fonts | ||
diff_canvas_traces | ||
empty_images | ||
fonts | ||
icc_profiles | ||
images | ||
invalid_images | ||
nima | ||
particles | ||
skottie | ||
sksl | ||
text | ||
Cowboy.svg | ||
crbug769134.fil | ||
nov-talk-sequence.txt | ||
pdf_command_stream.txt | ||
README |
The resources directory includes some third party content used by Skia. Licenses for that code are included in this file. Openclipart Openclipart uses the Creative Commons Zero 1.0 Public Domain License every time an artist uploads a piece of clipart to Openclipart to make it clear the artist is releasing the creative work for anyone to use for any reason, even commercially. This act of "sharing" is the foundation Openclipart is based upon. More details on the license can be found at https://creativecommons.org/publicdomain/zero/1.0/. LGPL or compatible (as implied by inclusion in KDE SVN) http://websvn.kde.org/trunk/tests/ksvgtests/custom/cowboy.svg