Lines Matching defs:Phi
90 bool isElse(PHINode *Phi);
92 void eraseIfUnused(PHINode *Phi);
185 bool SIAnnotateControlFlow::isElse(PHINode *Phi) {
186 BasicBlock *IDom = DT->getNode(Phi->getParent())->getIDom()->getBlock();
187 for (unsigned i = 0, e = Phi->getNumIncomingValues(); i != e; ++i) {
188 if (Phi->getIncomingBlock(i) == IDom) {
190 if (Phi->getIncomingValue(i) != BoolTrue)
194 if (Phi->getIncomingValue(i) != BoolFalse)
202 // Erase "Phi" if it is not used any more
203 void SIAnnotateControlFlow::eraseIfUnused(PHINode *Phi) {
204 if (RecursivelyDeleteDeadPHINode(Phi)) {
352 PHINode *Phi = dyn_cast<PHINode>(Term->getCondition());
353 if (Phi && Phi->getParent() == BB && isElse(Phi)) {
355 eraseIfUnused(Phi);