[llvm] r179353 - Add a flag to align all basic blocks in the function.
Shuxin Yang
shuxin.llvm at gmail.com
Fri Apr 12 10:06:59 PDT 2013
IMHO, this is very good flag for stress testing target-alignment
optimization, but it is less so
as a tool to "rule out front-end issues". It dose improve the
instruction-fetch efficiency when
branch is taken; however in the meantime, it reduces the decode
efficiency due to nops in
adjacent blocks. On the other hand, if the working-set is huge, the
increase code size due to
alignment could present another set of problems that are not negligible.
So, all in all, it is
tell if blindly align all blocks is a real win.
On 4/11/13 5:48 PM, Nadav Rotem wrote:
> Author: nadav
> Date: Thu Apr 11 19:48:32 2013
> New Revision: 179353
>
> URL: http://llvm.org/viewvc/llvm-project?rev=179353&view=rev
> Log:
> Add a flag to align all basic blocks in the function.
>
> When debugging performance regressions we often ask ourselves if the regression
> that we see is due to poor isel/sched/ra or due to some micro-architetural
> problem. When comparing two code sequences one good way to rule out front-end
> bottlenecks (and other the issues) is to force code alignment. This pass adds
> a flag that forces the alignment of all of the basic blocks in the program.
>
>
>
More information about the llvm-commits
mailing list