[ https://issues.apache.org/jira/browse/HARMONY-5123?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12547441 ] Mikhail Fursov commented on HARMONY-5123: ----------------------------------------- I've found that this patch breaks InlineInfo structure in LIR (method-end marker is lost). Run eclipse 3.2 with -Xem:opt option in debug mode to reproduce > [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.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.