You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by "Dmitry Pronichkin (JIRA)" <ji...@apache.org> on 2007/12/04 16:57:43 UTC
[jira] Updated: (HARMONY-5123) [drlvm][jit][opt][perf] More
peephole optimizations for Jitrino.OPT compiler
[ https://issues.apache.org/jira/browse/HARMONY-5123?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Dmitry Pronichkin updated HARMONY-5123:
---------------------------------------
Attachment: peephole-v3.patch
Work with method markers is corrected at peephole-v3.
> [drlvm][jit][opt][perf] More peephole optimizations for Jitrino.OPT compiler
> ----------------------------------------------------------------------------
>
> Key: HARMONY-5123
> URL: https://issues.apache.org/jira/browse/HARMONY-5123
> Project: Harmony
> Issue Type: Improvement
> Components: DRLVM
> Environment: IA32
> Reporter: Dmitry Pronichkin
> Assignee: Mikhail Fursov
> Attachments: peephole-v2.patch, peephole-v3.patch, peephole.patch
>
>
> The following optimizations are added to peephole pass:
> 1. AND -> TEST replacing if result is not used further;
> 2. { MOV x, y
> MOV z, x };
> pattern replacing with { MOV z, y } if x is not used further;
> 3. { MOV x, 0
> SETcc x
> MOV y, x }
> pattern replacing with { MOV y, 0
> SETcc y } if x is not used further;
> 4. { MOV x, 0/1
> CMP x, 0
> Jcc ..}
> pattern replacing with { JMP .. } (jump in the right direction);
> 5. { MOV x, 0
> SETcc1 x
> CMP x, 0 (TEST x, x)
> Jcc2 .. }
> pattern replacing with { Jcc3 ..} (possibly saving the CMP-Jcc block).
> Also there is a suggestion to carry "code layout" pass after the "peephole" pass, because peephole may need to make graph transformations, which need adding changes to code layout.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.