Home | History | Annotate | Download | only in Scalar

Lines Matching refs:Phi

24 //   %i = phi [ 0, %entry ], [ %i.next, %latch ]
87 // Temporary flag to cleanup congruent phis after LSR phi expansion.
93 cl::desc("Enable LSR phi elimination"));
663 /// isExistingPhi - Return true if this AddRec is already a phi in its loop.
844 // If this is an addrec for another loop, don't second-guess its addrec phi
1041 // PHI nodes use their value in their incoming blocks.
2419 // the header phi already exists.
2498 // A phi node terminates a chain.
2514 // bother for phi nodes, because they must be last in the chain.
2651 // Visit phi backedges to determine if the chain can generate the IV postinc.
2728 // Note that if Head.IncExpr is wider than IVSrc, then this phi is too
2730 // wider phi, assuming the LSR checked for free truncation. In that case we
2792 // If LSR created a new, wider phi, we may also replace its postinc. We only
2796 PHINode *Phi = dyn_cast<PHINode>(I); ++I) {
2797 if (!isCompatibleIVType(Phi, IVSrc))
2800 Phi->getIncomingValueForBlock(L->getLoopLatch()));
2811 Phi->replaceUsesOfWith(PostIncV, IVOper);
3701 // corresponding to the existing phi. Once all formulae have been
4245 // Don't insert instructions before PHI nodes.
4435 /// RewriteForPHI - Helper for Rewrite. PHI nodes are special because the use
4470 // phi predecessors are identical. The simple thing to do is skip
4474 // move the block to be immediately before the PHI block, not
4479 // Splitting the edge can reduce the number of PHI entries we have.
4517 // First, find an insertion point that dominates UserInst. For PHI nodes,
4564 // Mark phi nodes that terminate chains so the expander tries to reuse them.