harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Dmitry Pronichkin (JIRA)" <j...@apache.org>
Subject [jira] Created: (HARMONY-5837) [drlvm][jit][opt] Code layout and alignment improvements
Date Thu, 22 May 2008 10:23:55 GMT
[drlvm][jit][opt] Code layout and alignment improvements

                 Key: HARMONY-5837
                 URL: https://issues.apache.org/jira/browse/HARMONY-5837
             Project: Harmony
          Issue Type: Improvement
         Environment: IA32
            Reporter: Dmitry Pronichkin
         Attachments: alignment.patch, Ia32LayoutOpt.cpp

Code layout (control flow graph linearization) "bottom-up" algorithm was optimized. Less probable
branches were carried out of main code layout order by algorithm and it was not always good
(tested on microbenches). New codegen pass "layout_opt" inserts such branches back depending
on branch probability and block size (these parameters are set through configuration).

Code alignment improvements include two heuristics. First is to align basic blocks that are
much hotter than their layout predecessors (threshold is set in configuration). Second is
to align basic blocks unreachable from their layout predecessors. These heuristics are implemented
in emitter and alignment for loop headers was eliminated because it's a special case of first
alignment heuristic.

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message