Lines Matching refs:PI

511     PHIInfo &PI = PHIs.back();  in canConvertIf()  local
513 for (unsigned i = 1; i != PI.PHI->getNumOperands(); i += 2) { in canConvertIf()
514 if (PI.PHI->getOperand(i+1).getMBB() == TPred) in canConvertIf()
515 PI.TReg = PI.PHI->getOperand(i).getReg(); in canConvertIf()
516 if (PI.PHI->getOperand(i+1).getMBB() == FPred) in canConvertIf()
517 PI.FReg = PI.PHI->getOperand(i).getReg(); in canConvertIf()
519 assert(Register::isVirtualRegister(PI.TReg) && "Bad PHI"); in canConvertIf()
520 assert(Register::isVirtualRegister(PI.FReg) && "Bad PHI"); in canConvertIf()
523 if (!TII->canInsertSelect(*Head, Cond, PI.PHI->getOperand(0).getReg(), in canConvertIf()
524 PI.TReg, PI.FReg, PI.CondCycles, PI.TCycles, in canConvertIf()
525 PI.FCycles)) { in canConvertIf()
526 LLVM_DEBUG(dbgs() << "Can't convert: " << *PI.PHI); in canConvertIf()
615 PHIInfo &PI = PHIs[i]; in replacePHIInstrs() local
616 LLVM_DEBUG(dbgs() << "If-converting " << *PI.PHI); in replacePHIInstrs()
617 Register DstReg = PI.PHI->getOperand(0).getReg(); in replacePHIInstrs()
618 if (hasSameValue(*MRI, TII, PI.TReg, PI.FReg)) { in replacePHIInstrs()
622 .addReg(PI.TReg); in replacePHIInstrs()
624 TII->insertSelect(*Head, FirstTerm, HeadDL, DstReg, Cond, PI.TReg, in replacePHIInstrs()
625 PI.FReg); in replacePHIInstrs()
628 PI.PHI->eraseFromParent(); in replacePHIInstrs()
629 PI.PHI = nullptr; in replacePHIInstrs()
643 PHIInfo &PI = PHIs[i]; in rewritePHIOperands() local
646 LLVM_DEBUG(dbgs() << "If-converting " << *PI.PHI); in rewritePHIOperands()
647 if (hasSameValue(*MRI, TII, PI.TReg, PI.FReg)) { in rewritePHIOperands()
650 DstReg = PI.TReg; in rewritePHIOperands()
652 Register PHIDst = PI.PHI->getOperand(0).getReg(); in rewritePHIOperands()
655 DstReg, Cond, PI.TReg, PI.FReg); in rewritePHIOperands()
660 for (unsigned i = PI.PHI->getNumOperands(); i != 1; i -= 2) { in rewritePHIOperands()
661 MachineBasicBlock *MBB = PI.PHI->getOperand(i-1).getMBB(); in rewritePHIOperands()
663 PI.PHI->getOperand(i-1).setMBB(Head); in rewritePHIOperands()
664 PI.PHI->getOperand(i-2).setReg(DstReg); in rewritePHIOperands()
666 PI.PHI->removeOperand(i-1); in rewritePHIOperands()
667 PI.PHI->removeOperand(i-2); in rewritePHIOperands()
670 LLVM_DEBUG(dbgs() << " --> " << *PI.PHI); in rewritePHIOperands()
930 SSAIfConv::PHIInfo &PI = IfConv.PHIs[i]; in shouldConvertIf() local
931 unsigned Slack = TailTrace.getInstrSlack(*PI.PHI); in shouldConvertIf()
932 unsigned MaxDepth = Slack + TailTrace.getInstrCycles(*PI.PHI).Depth; in shouldConvertIf()
933 LLVM_DEBUG(dbgs() << "Slack " << Slack << ":\t" << *PI.PHI); in shouldConvertIf()
936 unsigned CondDepth = adjCycles(BranchDepth, PI.CondCycles); in shouldConvertIf()
949 unsigned TDepth = adjCycles(TBBTrace.getPHIDepth(*PI.PHI), PI.TCycles); in shouldConvertIf()
962 unsigned FDepth = adjCycles(FBBTrace.getPHIDepth(*PI.PHI), PI.FCycles); in shouldConvertIf()