Lines Matching full:unroll
15 #define DEBUG_TYPE "loop-unroll"
32 UnrollThreshold("unroll-threshold", cl::init(150), cl::Hidden,
36 UnrollCount("unroll-count", cl::init(0), cl::Hidden,
37 cl::desc("Use this unroll count for all loops, for testing purposes"));
40 UnrollAllowPartial("unroll-allow-partial", cl::init(false), cl::Hidden,
42 "-unroll-threshold loop size is reached."));
45 UnrollRuntime("unroll-runtime", cl::ZeroOrMore, cl::init(false), cl::Hidden,
46 cl::desc("Unroll loops with run-time trip counts"));
63 /// that the loop unroll should be performed regardless of how much
68 // explicit -unroll-threshold).
71 // Default unroll count for loops with run-time trip count if
72 // -unroll-count is not set
95 // FIXME: Loop unroll requires LCSSA. And LCSSA requires dom info.
96 // If loop unroll does not preserve dom info then LCSSA pass on next
105 INITIALIZE_PASS_BEGIN(LoopUnroll, "loop-unroll", "Unroll loops", false, false)
111 INITIALIZE_PASS_END(LoopUnroll, "loop-unroll", "Unroll loops", false, false)
144 DEBUG(dbgs() << "Loop Unroll: F[" << Header->getParent()->getName()
150 // function is marked as optimize-for-size, and the unroll threshold was
170 // Use a default unroll-count if the user doesn't specify a value
179 // completely unroll (subject to the threshold, checked below); otherwise
205 DEBUG(dbgs() << " Too large to fully unroll with count: " << Count
208 DEBUG(dbgs() << " will not try to unroll partially because "
209 << "-unroll-allow-partial not given\n");
213 // Reduce unroll count to be modulo of TripCount for partial unrolling
219 // Reduce unroll count to be a lower power-of-two value
226 DEBUG(dbgs() << " could not unroll partially\n");
233 // Unroll the loop.