reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

lib/Transforms/InstCombine/InstCombinePHI.cpp
  727   if (Instruction *TI = PN.getParent()->getTerminator())
  731   Instruction *FirstInst = cast<Instruction>(PN.getIncomingValue(0));
  734     return FoldPHIArgGEPIntoPHI(PN);
  736     return FoldPHIArgLoadIntoPHI(PN);
  750     if (PN.getType()->isIntegerTy() && CastSrcTy->isIntegerTy()) {
  751       if (!shouldChangeType(PN.getType(), CastSrcTy))
  759       return FoldPHIArgBinOpIntoPHI(PN);
  765   for (unsigned i = 1, e = PN.getNumIncomingValues(); i != e; ++i) {
  766     Instruction *I = dyn_cast<Instruction>(PN.getIncomingValue(i));
  780                                    PN.getNumIncomingValues(),
  781                                    PN.getName()+".in");
  784   NewPN->addIncoming(InVal, PN.getIncomingBlock(0));
  787   for (unsigned i = 1, e = PN.getNumIncomingValues(); i != e; ++i) {
  788     Value *NewInVal = cast<Instruction>(PN.getIncomingValue(i))->getOperand(0);
  791     NewPN->addIncoming(NewInVal, PN.getIncomingBlock(i));
  801     InsertNewInstBefore(NewPN, PN);
  808                                        PN.getType());
  809     PHIArgMergedDebugLoc(NewCI, PN);
  815     BinOp->copyIRFlags(PN.getIncomingValue(0));
  817     for (unsigned i = 1, e = PN.getNumIncomingValues(); i != e; ++i)
  818       BinOp->andIRFlags(PN.getIncomingValue(i));
  820     PHIArgMergedDebugLoc(BinOp, PN);
  827   PHIArgMergedDebugLoc(NewCI, PN);