Home | History | Annotate | Download | only in Scalar

Lines Matching full:unroll

15 #define DEBUG_TYPE "loop-unroll"
31 UnrollThreshold("unroll-threshold", cl::init(150), cl::Hidden,
35 UnrollCount("unroll-count", cl::init(0), cl::Hidden,
36 cl::desc("Use this unroll count for all loops, for testing purposes"));
39 UnrollAllowPartial("unroll-allow-partial", cl::init(false), cl::Hidden,
41 "-unroll-threshold loop size is reached."));
45 NoSCEVUnroll("disable-unroll-scev", cl::init(false), cl::Hidden,
63 /// that the loop unroll should be performed regardless of how much
68 // explicit -unroll-threshold).
90 // FIXME: Loop unroll requires LCSSA. And LCSSA requires dom info.
91 // If loop unroll does not preserve dom info then LCSSA pass on next
100 INITIALIZE_PASS_BEGIN(LoopUnroll, "loop-unroll", "Unroll loops", false, false)
104 INITIALIZE_PASS_END(LoopUnroll, "loop-unroll", "Unroll loops", false, false)
134 DEBUG(dbgs() << "Loop Unroll: F[" << Header->getParent()->getName()
140 // function is marked as optimize-for-size, and the unroll threshold was
165 // Automatically select an unroll count.
169 // completely unroll (subject to the threshold, checked below); otherwise
189 DEBUG(dbgs() << " Too large to fully unroll with count: " << Count
192 DEBUG(dbgs() << " will not try to unroll partially because "
193 << "-unroll-allow-partial not given\n");
196 // Reduce unroll count to be modulo of TripCount for partial unrolling
202 DEBUG(dbgs() << " could not unroll partially\n");
209 // Unroll the loop.