[PATCH] D38563: [MachineBlockPlacement] Make sure PreferredLoopExit is cleared everytime new loop is processed

Xin Tong via llvm-commits llvm-commits at lists.llvm.org
Thu Oct 5 16:36:16 PDT 2017


On Fri, Oct 6, 2017 at 2:56 AM, Serguei Katkov via Phabricator <
reviews at reviews.llvm.org> wrote:

> skatkov added a comment.
>
> I believe that added assert is invalid. PreferredLoopExit might be easily
> part of the loop L if it was not added to hot chain. In other words pass
> decided to layout this BB in a scope of outer loop or function at all.
>
> If you agree with me, please fix this asap.
>

Hi Serguei

I think i know what you mean. The problem is the block may be excluded from
the LoopBlockSet (because its cold), and its predecessor in the current
loop is chosen as the ExitingBlock to rotate with. However, its predecessor
does not exit the current loop. Am I correct ?

I reverted that assert so unbreak a reported build. I will add a test case
once we are on the same page with this.

Thanks!
-Xin

>
>
> Repository:
>   rL LLVM
>
> https://reviews.llvm.org/D38563
>
>
>
>


-- 
Software Engineer - Compiler Toolchain
Employee of Facebook Inc.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20171006/bddd39ff/attachment.html>


More information about the llvm-commits mailing list