Home | History | Annotate | Download | only in Vectorize

Lines Matching refs:vectorize

45 #include "llvm/Transforms/Vectorize.h"
99 #define LV_NAME "loop-vectorize"
118 /// We don't vectorize loops with a known constant trip count below this number.
122 cl::desc("Don't vectorize loops with a constant "
183 "loop-vectorize-with-block-frequency", cl::init(false), cl::Hidden,
195 "vectorize-num-stores-pred", cl::init(1), cl::Hidden,
261 void vectorize(LoopVectorizationLegality *L) {
319 /// A helper function to vectorize a single BB within the innermost loop.
322 /// Vectorize a single PHINode in a block. This method handles the induction
339 /// Vectorize Load and Store instructions,
356 /// When we widen (vectorize) values we place them in the map. If the values
521 /// LoopVectorizationLegality checks if it is legal to vectorize a loop, and
530 /// single induction variable, that all types are supported and vectorize-able,
671 /// Returns true if it is legal to vectorize this loop.
672 /// This does not mean that it is profitable to vectorize this
698 /// This check allows us to vectorize A[idx] into a wide load/store.
733 /// When we vectorize loops we may change the order in which
735 /// legal to vectorize the code, considering only memory constrains.
739 /// Return true if we can vectorize this loop using the IF-conversion
946 static StringRef Prefix() { return "llvm.loop.vectorize."; }
1147 // Build up a worklist of inner-loops to vectorize. This is necessary as
1200 DEBUG(dbgs() << "LV: Not vectorizing: #pragma vectorize disable.\n");
1207 DEBUG(dbgs() << "LV: Not vectorizing: No #pragma vectorize enable.\n");
1223 // do not vectorize loops with a tiny trip count.
1240 // Check if it is legal to vectorize the loop.
1274 DEBUG(dbgs() << "LV: Can't vectorize when the NoImplicitFloat"
1304 "not beneficial to vectorize and user disabled interleaving");
1315 // We decided not to vectorize, but we may want to unroll.
1318 Unroller.vectorize(&LVL);
1320 // If we decided that it is *legal* to vectorize the loop then do it.
1322 LB.vectorize(&LVL);
2608 // In order to support reduction variables we need to be able to vectorize
2609 // Phi nodes. Phi nodes have cycles, so we need to vectorize them in two
2611 // We use this value when we vectorize all of the instructions that use the
2623 // Vectorize all of the blocks in the original loop.
3075 // Vectorize PHINodes.
3203 /// Vectorize casts.
3376 // We can only vectorize innermost loops.
3415 // Check if we can vectorize the instructions and CFG in this loop.
3417 DEBUG(dbgs() << "LV: Can't vectorize the instructions or CFG\n");
3423 DEBUG(dbgs() << "LV: Can't vectorize due to memory conflicts\n");
3430 DEBUG(dbgs() << "LV: We can vectorize this loop" <<
3434 // Okay! We can vectorize. At this point we don't have any other mem analysis
3618 // Intrinsics such as powi,cttz and ctlz are legal to vectorize if the
3631 // Also, we can't vectorize extractelement instructions.
4202 vectorize
4207 /// vectorize the loop with a dynamic array access check.
4228 /// vectorize this loop with runtime checks.
4295 // space 0, therefore we can also vectorize this case.
4420 // Need consecutive accesses. We don't want to vectorize
4572 // vectorize a loop if it contains known function calls that don't set
4664 // the read-write list. This allows us to vectorize expressions
4679 // other reads in this loop then is it safe to vectorize.
4719 DEBUG(dbgs() << "LV: We can't vectorize because we can't find " <<
4757 DEBUG(dbgs() << "LV: Can't vectorize with memory checks\n");
4908 // reduction operation if we vectorize.
5168 // Width 1 means no vectorize
5208 // If we are unable to calculate the trip count then don't try to vectorize.
5701 // Certain instructions can be cheaper to vectorize if they have a constant