Home | History | Annotate | Download | only in Scalar

Lines Matching refs:LoopUnswitch

1 //===-- LoopUnswitch.cpp - Hoist loop-invariant conditionals in loop ------===//
126 class LoopUnswitch : public LoopPass {
153 explicit LoopUnswitch(bool Os = false) :
325 char LoopUnswitch::ID = 0;
326 INITIALIZE_PASS_BEGIN(LoopUnswitch, "loop-unswitch", "Unswitch loops",
332 INITIALIZE_PASS_END(LoopUnswitch, "loop-unswitch", "Unswitch loops",
336 return new LoopUnswitch(Os);
375 bool LoopUnswitch::runOnLoop(Loop *L, LPPassManager &LPM_Ref) {
403 bool LoopUnswitch::processCurrentLoop() {
557 bool LoopUnswitch::IsTrivialUnswitchCondition(Value *Cond, Constant **Val,
631 bool LoopUnswitch::UnswitchIfProfitable(Value *LoopCond, Constant *Val) {
678 void LoopUnswitch::EmitPreheaderBranchOnCondition(Value *LIC, Constant *Val,
706 void LoopUnswitch::UnswitchTrivialCondition(Loop *L, Value *Cond,
749 void LoopUnswitch::SplitExitEdges(Loop *L,
772 void LoopUnswitch::UnswitchNontrivialCondition(Value *LIC, Constant *Val,
945 void LoopUnswitch::RewriteLoopBodyWithConditionConstant(Loop *L, Value *LIC,
1071 void LoopUnswitch::SimplifyCode(std::vector<Instruction*> &Worklist, Loop *L) {