search for: setalreadyvectorized

Displaying 2 results from an estimated 2 matches for "setalreadyvectorized".

2014 Aug 13
2
[LLVMdev] setAlreadyVectorized does not delete obsolete metadata?
I noticed that LoopVectorizeHints::setAlreadyVectorized never deletes old "llvm.loop...." metadata. It just appends more, possibly contradicting the old metadata. E.g., after vectorization, a loop previously marked with llvm.loop.vectorize.width ends up with *two* such annotations, like this: br i1 %exitcond.1, label %for.end.loopexit.u...
2013 Oct 23
0
[LLVMdev] [PATCH] Loop Rerolling Pass
.... The vectorized loop is a new loop so runOnLoop will probably be called again. But the Hint we put in the IR should prevent us from analyzing such loops. I think what you might be seeing is a bug in LoopVectorizerHints: /// Mark the loop L as already vectorized by setting the width to 1. void setAlreadyVectorized(Loop *L) We should set width *and* unroll to one. Because this is how we use it: LoopVectorizeHints Hints(L, DisableUnrolling); if (Hints.Width == 1 && Hints.Unroll == 1) { DEBUG(dbgs() << "LV: Not vectorizing.\n"); return false; } After doing th...