[PATCH] Loop Vectorizer Debug Info

Arnold Schwaighofer aschwaighofer at apple.com
Fri Oct 11 09:11:59 PDT 2013


LGTM.

Thanks.

On Oct 11, 2013, at 9:45 AM, Renato Golin <renato.golin at linaro.org> wrote:

> Hi nadav,
> 
> Just moving code around to make it easier to spot basic-blocks of loops that can't be if-converted. No functional change.
> 
> http://llvm-reviews.chandlerc.com/D1897
> 
> Files:
>  lib/Transforms/Vectorize/LoopVectorize.cpp
> 
> Index: lib/Transforms/Vectorize/LoopVectorize.cpp
> ===================================================================
> --- lib/Transforms/Vectorize/LoopVectorize.cpp
> +++ lib/Transforms/Vectorize/LoopVectorize.cpp
> @@ -2745,19 +2745,17 @@
>   if (!TheLoop->getExitingBlock())
>     return false;
> 
> -  unsigned NumBlocks = TheLoop->getNumBlocks();
> +  // We need to have a loop header.
> +  DEBUG(dbgs() << "LV: Found a loop: " <<
> +        TheLoop->getHeader()->getName() << '\n');
> 
>   // Check if we can if-convert non single-bb loops.
> +  unsigned NumBlocks = TheLoop->getNumBlocks();
>   if (NumBlocks != 1 && !canVectorizeWithIfConvert()) {
>     DEBUG(dbgs() << "LV: Can't if-convert the loop.\n");
>     return false;
>   }
> 
> -  // We need to have a loop header.
> -  BasicBlock *Latch = TheLoop->getLoopLatch();
> -  DEBUG(dbgs() << "LV: Found a loop: " <<
> -        TheLoop->getHeader()->getName() << '\n');
> -
>   // ScalarEvolution needs to be able to find the exit count.
>   const SCEV *ExitCount = SE->getBackedgeTakenCount(TheLoop);
>   if (ExitCount == SE->getCouldNotCompute()) {
> @@ -2766,6 +2764,7 @@
>   }
> 
>   // Do not loop-vectorize loops with a tiny trip count.
> +  BasicBlock *Latch = TheLoop->getLoopLatch();
>   unsigned TC = SE->getSmallConstantTripCount(TheLoop, Latch);
>   if (TC > 0u && TC < TinyTripCountVectorThreshold) {
>     DEBUG(dbgs() << "LV: Found a loop with a very small trip count. " <<
> <D1897.1.patch>_______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits




More information about the llvm-commits mailing list