[PATCH] D9822: Reducing the costs of cast instructions to enable more vectorization of smaller types in LoopVectorize

hfinkel at anl.gov hfinkel at anl.gov
Mon Aug 3 22:21:31 PDT 2015


hfinkel added inline comments.

================
Comment at: lib/Transforms/Vectorize/LoopVectorize.cpp:5203
@@ +5202,3 @@
+        // Need to confirm the type of this operand
+        if (ConfirmNarrowChain(NextOp, VF, NarrowTy))
+          ++NumConfirmed;
----------------
samparker wrote:
> hfinkel wrote:
> > samparker wrote:
> > > jmolloy wrote:
> > > > This is unboundedly recursive.
> > > But isn't the recursion bound by the size of CandiateNarrowInstrs, which is defined during the first pass?
> > What bounds that size?
> > 
> The number of instructions in the loop body, so do I need to add a further more explicit limit?
Yes, you'd need a more-explicit limit. We can't have a recursion bounded only by the number of instructions in a block, loop, etc.



http://reviews.llvm.org/D9822







More information about the llvm-commits mailing list