[PATCH] Partially fix PR20058: reduce compile time for loop unrolling with very high count

Eli Bendersky eliben at google.com
Wed Jun 25 09:34:20 PDT 2014


On Wed, Jun 25, 2014 at 9:28 AM, Mark Heffernan <meheff at google.com> wrote:

> ================
> Comment at: lib/Transforms/Utils/LoopUnroll.cpp:433
> @@ -424,2 +432,3 @@
>        BasicBlock *Dest = Term->getSuccessor(0);
> -      if (BasicBlock *Fold = FoldBlockIntoPredecessor(Dest, LI, LPM))
> +      if (BasicBlock *Fold = FoldBlockIntoPredecessor(Dest, LI, LPM,
> +                                                      LoopForgotten))
> ----------------
> hfinkel at anl.gov wrote:
> > How do you know that LI->getLoopFor(Dest) returns the same Loop for all
> Dest in this loop?
> Good point.  Changed to using a pointer set to keep track of forgotten
> loops.
>
> http://reviews.llvm.org/D4285
>
>
>
Is this part of the code well covered by tests? Maybe some more targeted
tests can be crafted.

Eli
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20140625/ece9132d/attachment.html>


More information about the llvm-commits mailing list