Lines Matching refs:PI
419 PHIInfo &PI = PHIs.back(); in canConvertIf() local
421 for (unsigned i = 1; i != PI.PHI->getNumOperands(); i += 2) { in canConvertIf()
422 if (PI.PHI->getOperand(i+1).getMBB() == TPred) in canConvertIf()
423 PI.TReg = PI.PHI->getOperand(i).getReg(); in canConvertIf()
424 if (PI.PHI->getOperand(i+1).getMBB() == FPred) in canConvertIf()
425 PI.FReg = PI.PHI->getOperand(i).getReg(); in canConvertIf()
427 assert(TargetRegisterInfo::isVirtualRegister(PI.TReg) && "Bad PHI"); in canConvertIf()
428 assert(TargetRegisterInfo::isVirtualRegister(PI.FReg) && "Bad PHI"); in canConvertIf()
431 if (!TII->canInsertSelect(*Head, Cond, PI.TReg, PI.FReg, in canConvertIf()
432 PI.CondCycles, PI.TCycles, PI.FCycles)) { in canConvertIf()
433 LLVM_DEBUG(dbgs() << "Can't convert: " << *PI.PHI); in canConvertIf()
469 PHIInfo &PI = PHIs[i]; in replacePHIInstrs() local
470 LLVM_DEBUG(dbgs() << "If-converting " << *PI.PHI); in replacePHIInstrs()
471 unsigned DstReg = PI.PHI->getOperand(0).getReg(); in replacePHIInstrs()
472 TII->insertSelect(*Head, FirstTerm, HeadDL, DstReg, Cond, PI.TReg, PI.FReg); in replacePHIInstrs()
474 PI.PHI->eraseFromParent(); in replacePHIInstrs()
475 PI.PHI = nullptr; in replacePHIInstrs()
489 PHIInfo &PI = PHIs[i]; in rewritePHIOperands() local
492 LLVM_DEBUG(dbgs() << "If-converting " << *PI.PHI); in rewritePHIOperands()
493 if (PI.TReg == PI.FReg) { in rewritePHIOperands()
496 DstReg = PI.TReg; in rewritePHIOperands()
498 unsigned PHIDst = PI.PHI->getOperand(0).getReg(); in rewritePHIOperands()
501 DstReg, Cond, PI.TReg, PI.FReg); in rewritePHIOperands()
506 for (unsigned i = PI.PHI->getNumOperands(); i != 1; i -= 2) { in rewritePHIOperands()
507 MachineBasicBlock *MBB = PI.PHI->getOperand(i-1).getMBB(); in rewritePHIOperands()
509 PI.PHI->getOperand(i-1).setMBB(Head); in rewritePHIOperands()
510 PI.PHI->getOperand(i-2).setReg(DstReg); in rewritePHIOperands()
512 PI.PHI->RemoveOperand(i-1); in rewritePHIOperands()
513 PI.PHI->RemoveOperand(i-2); in rewritePHIOperands()
516 LLVM_DEBUG(dbgs() << " --> " << *PI.PHI); in rewritePHIOperands()
736 SSAIfConv::PHIInfo &PI = IfConv.PHIs[i]; in shouldConvertIf() local
737 unsigned Slack = TailTrace.getInstrSlack(*PI.PHI); in shouldConvertIf()
738 unsigned MaxDepth = Slack + TailTrace.getInstrCycles(*PI.PHI).Depth; in shouldConvertIf()
739 LLVM_DEBUG(dbgs() << "Slack " << Slack << ":\t" << *PI.PHI); in shouldConvertIf()
742 unsigned CondDepth = adjCycles(BranchDepth, PI.CondCycles); in shouldConvertIf()
753 unsigned TDepth = adjCycles(TBBTrace.getPHIDepth(*PI.PHI), PI.TCycles); in shouldConvertIf()
764 unsigned FDepth = adjCycles(FBBTrace.getPHIDepth(*PI.PHI), PI.FCycles); in shouldConvertIf()