Home | History | Annotate | Download | only in Scalar

Lines Matching full:threading

10 // This file implements the Jump Threading pass.
14 #define DEBUG_TYPE "jump-threading"
46 Threshold("jump-threading-threshold",
47 cl::desc("Max block size to duplicate for jump threading"),
62 /// This pass performs 'jump threading', which looks at blocks that have
138 INITIALIZE_PASS_BEGIN(JumpThreading, "jump-threading",
139 "Jump Threading", false, false)
142 INITIALIZE_PASS_END(JumpThreading, "jump-threading",
143 "Jump Threading", false, false)
145 // Public interface to the Jump Threading pass
151 DEBUG(dbgs() << "Jump threading on function '" << F.getName() << "'\n");
227 // FIXME: THREADING will delete values that are just used to compute the
265 // Threading through a switch statement is particularly profitable. If this
277 /// FindLoopHeaders - We do not want jump threading to turn proper loop
283 /// Note that there definitely are cases when we want to allow threading of
284 /// edges across a loop header. For example, threading a jump from outside the
648 // successor, merge the blocks. This encourages recursive jump threading
723 // terminator to an unconditional branch. This can occur due to threading in
833 /// important optimization that encourages jump threading, and needs to be run
834 /// interlaced with other jump threading tasks.
1017 // blocks with known and real destinations to threading undef. We'll handle
1071 // If threading this would thread across a loop header, don't even try to
1139 // this block is a switch, we want to start by threading the batch that goes
1187 // encourage jump threading and to eliminate cases where we have branch on a
1339 // If threading to the same block as we come from, we would infinite loop.
1341 DEBUG(dbgs() << " Not threading across BB '" << BB->getName()
1346 // If threading this would thread across a loop header, don't thread the edge.
1349 DEBUG(dbgs() << " Not threading across loop header BB '" << BB->getName()
1357 DEBUG(dbgs() << " Not threading BB '" << BB->getName()
1373 DEBUG(dbgs() << " Threading edge from '" << PredBB->getName() << "' to '"
1635 /// to be folded. This later enables threading from bb1 over bb2.