[llvm] r291609 - CodeGen: Allow small copyable blocks to "break" the CFG.

Matt Arsenault via llvm-commits llvm-commits at lists.llvm.org
Tue Jan 10 18:29:33 PST 2017


> On Jan 10, 2017, at 15:04, Kyle Butt via llvm-commits <llvm-commits at lists.llvm.org> wrote:
> 
> Author: iteratee
> Date: Tue Jan 10 17:04:30 2017
> New Revision: 291609
> 
> URL: http://llvm.org/viewvc/llvm-project?rev=291609&view=rev
> Log:
> CodeGen: Allow small copyable blocks to "break" the CFG.
> 
> When choosing the best successor for a block, ordinarily we would have preferred
> a block that preserves the CFG unless there is a strong probability the other
> direction. For small blocks that can be duplicated we now skip that requirement
> as well.
> 
> Differential revision: https://reviews.llvm.org/D27742

Hi,

This has caused a code quality regression for me. Attached is a reduced testcase. This patch caused a net gain of 2 branches and a compare instruction. Any idea on how to fix it?

-Matt

-------------- next part --------------
A non-text attachment was scrubbed...
Name: mbb-placement-regression.ll
Type: application/octet-stream
Size: 1348 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170110/41011695/attachment.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: new.s
Type: application/octet-stream
Size: 1677 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170110/41011695/attachment-0001.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: old.s
Type: application/octet-stream
Size: 1611 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170110/41011695/attachment-0002.obj>


More information about the llvm-commits mailing list