Lines Matching full:trivial
78 STATISTIC(NumTrivial, "Number of unswitches that are trivial");
87 cl::desc("Forcibly enables non-trivial loop unswitching rather than "
110 "simple-loop-unswitch-drop-non-trivial-implicit-null-checks",
250 /// Check that all the LCSSA PHI nodes in the loop exit block have trivial
262 // won't be trivial.
338 /// PHI nodes in that block such that what were LCSSA PHI nodes become trivial
468 // here is the (just split by unswitching) preheader. However, after trivial
492 /// Unswitch a trivial branch if the condition is loop invariant.
495 /// been validated as trivial (no side effects). This routine checks if the
497 /// allows us to unswitch without duplicating the loop, making it trivial.
570 dbgs() << " unswitching trivial invariant conditions for: " << BI
711 LLVM_DEBUG(dbgs() << " done: unswitching trivial branch...\n");
717 /// Unswitch a trivial switch if the condition is loop invariant.
720 /// been validated as trivial (no side effects). This routine checks if the
723 /// trivial.
764 // BBToCheck is not trivial to unswitch if its phis aren't loop invariant.
789 LLVM_DEBUG(dbgs() << " unswitching trivial switch...\n");
1032 LLVM_DEBUG(dbgs() << " done: unswitching trivial switch...\n");
1040 /// trivial. Once all trivial candidates have been unswitched, this routine
1054 // trivial condition candidates in the successor as well. An alternative is
1061 // successors until it finds the trivial condition candidate (condition that
1119 // Found a trivial condition candidate: non-foldable conditional branch. If
1120 // we fail to unswitch this, we can't do anything else that is trivial.
1137 // then we can not reach any trivial condition candidates (unfoldable
1312 // Trivial Simplification. If Terminator is a conditional branch and
1412 /// Because unswitching simplifies the CFG of the loop, this isn't a trivial
2142 // If we did a non-trivial unswitch, we have added new (cloned) loops.
3288 // easily unswitch non-trivial edges out of the loop. Doing so might turn the
3515 << " non-trivial loop invariant conditions for unswitching.\n");
3557 LLVM_DEBUG(dbgs() << " Unswitching non-trivial (cost = " << Best.Cost
3567 /// This first hoists all branches or switches which are trivial (IE, do not
3577 /// true, we will attempt to do non-trivial unswitching as well as trivial
3588 TargetTransformInfo &TTI, bool Trivial,
3599 // Try trivial unswitch first before loop over other basic blocks in the loop.
3600 if (Trivial && unswitchAllTrivialConditions(L, DT, LI, SE, MSSAU)) {
3611 // Check whether we should continue with non-trivial conditions.
3612 // EnableNonTrivialUnswitch: Global variable that forces non-trivial
3614 // NonTrivial: Parameter that enables non-trivial unswitching for this
3619 // transform, we should allow unswitching for non-trivial uniform
3627 // Skip non-trivial unswitching for optsize functions.
3666 // For non-trivial unswitching, because it often creates new loops, we rely on
3670 // trivial unswitching we want to prefer those.
3700 if (!unswitchLoop(L, AR.DT, AR.LI, AR.AC, AR.AA, AR.TTI, Trivial, NonTrivial,
3724 OS << (Trivial ? "" : "no-") << "trivial";