Home | History | Annotate | Download | only in Scalar

Lines Matching refs:SCEVExpander

112     void SimplifyAndExtend(Loop *L, SCEVExpander &Rewriter, LPPassManager &LPM);
114 void RewriteLoopExitValues(Loop *L, SCEVExpander &Rewriter);
117 PHINode *IndVar, SCEVExpander &Rewriter);
191 /// before the user. SCEVExpander or LICM will hoist loop invariants out of the
481 void IndVarSimplify::RewriteLoopExitValues(Loop *L, SCEVExpander &Rewriter) {
748 PHINode *CreateWideIV(SCEVExpander &Rewriter);
760 Instruction *WidenIVUse(NarrowIVDefUse DU, SCEVExpander &Rewriter);
913 Instruction *WidenIV::WidenIVUse(NarrowIVDefUse DU, SCEVExpander &Rewriter) {
993 // Reuse the IV increment that SCEVExpander created as long as it dominates
1035 /// SCEVExpander to create a wide induction variable that evaluates to the same
1044 PHINode *WidenIV::CreateWideIV(SCEVExpander &Rewriter) {
1077 // Remembering the WideIV increment generated by SCEVExpander allows
1080 // SCEVExpander. Henceforth, we produce 1-to-1 narrow to wide uses.
1153 SCEVExpander &Rewriter,
1526 SCEVExpander &Rewriter, ScalarEvolution *SE) {
1533 // GEP. Avoid running SCEVExpander on a new pointer value, instead reusing
1615 SCEVExpander &Rewriter) {
1831 SCEVExpander Rewriter(*SE, "indvars");
1862 // Check preconditions for proper SCEVExpander operation. SCEV does not
1863 // express SCEVExpander's dependencies, such as LoopSimplify. Instead any
1864 // pass that uses the SCEVExpander must do it. This does not work well for
1865 // loop passes because SCEVExpander makes assumptions about all loops,