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

Serguei Katkov via llvm-commits llvm-commits at lists.llvm.org
Thu Oct 5 19:49:06 PDT 2017


Hi Xin,

Exactly what I meant, thank you for quick revert.

Thank you,
Serguei.

From: Xin Tong [mailto:trent.xin.tong at gmail.com]
Sent: Friday, October 6, 2017 6:36 AM
To: reviews+D38563+public+d275dea540a39693 at reviews.llvm.org
Cc: David Li <davidxl at google.com>; Dehao Chen <danielcdh at gmail.com>; kyle+llvm at iteratee.net; Chandler Carruth <chandlerc at gmail.com>; Serguei Katkov <serguei.katkov at azul.com>; llvm-commits <llvm-commits at lists.llvm.org>
Subject: Re: [PATCH] D38563: [MachineBlockPlacement] Make sure PreferredLoopExit is cleared everytime new loop is processed



On Fri, Oct 6, 2017 at 2:56 AM, Serguei Katkov via Phabricator <reviews at reviews.llvm.org<mailto: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/2f74f520/attachment-0001.html>


More information about the llvm-commits mailing list