/third_party/skia/third_party/externals/swiftshader/third_party/llvm-10.0/llvm/lib/CodeGen/ |
D | MachineSSAUpdater.cpp | 189 MachineInstrBuilder InsertedPHI = InsertNewDef(TargetOpcode::PHI, BB, in GetValueInMiddleOfBlock() 254 MachineInstr *PHI; member in llvm::SSAUpdaterTraits::PHI_iterator 259 : PHI(P), idx(1) {} in PHI_iterator() 261 : PHI(P), idx(PHI->getNumOperands()) {} in PHI_iterator() 267 unsigned getIncomingValue() { return PHI->getOperand(idx).getReg(); } in getIncomingValue() 270 return PHI->getOperand(idx+1).getMBB(); in getIncomingBlock() 274 static inline PHI_iterator PHI_begin(PhiT *PHI) { return PHI_iterator(PHI); } in PHI_begin() argument 276 static inline PHI_iterator PHI_end(PhiT *PHI) { in PHI_end() argument 277 return PHI_iterator(PHI, true); in PHI_end() 306 MachineInstr *PHI = InsertNewDef(TargetOpcode::PHI, BB, Loc, in CreateEmptyPHI() local [all …]
|
D | EarlyIfConversion.cpp | 112 MachineInstr *PHI; member 118 : PHI(phi), TReg(0), FReg(0), CondCycles(0), TCycles(0), FCycles(0) {} in PHIInfo() 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() 525 LLVM_DEBUG(dbgs() << "Can't convert: " << *PI.PHI); in canConvertIf() 569 LLVM_DEBUG(dbgs() << "If-converting " << *PI.PHI); in replacePHIInstrs() 570 Register DstReg = PI.PHI->getOperand(0).getReg(); in replacePHIInstrs() [all …]
|
D | SwiftErrorValueTracking.cpp | 244 MachineInstrBuilder PHI = in propagateVRegs() local 246 TII->get(TargetOpcode::PHI), PHIVReg); in propagateVRegs() 248 PHI.addReg(BBRegPair.second).addMBB(BBRegPair.first); in propagateVRegs()
|
D | MachineTraceMetrics.cpp | 1075 for (const auto &PHI : *Succ) { in computeInstrHeights() 1076 if (!PHI.isPHI()) in computeInstrHeights() 1079 getPHIDeps(PHI, Deps, MBB, MTM.MRI); in computeInstrHeights() 1082 unsigned Height = TBI.Succ ? Cycles.lookup(&PHI).Height : 0; in computeInstrHeights() 1083 LLVM_DEBUG(dbgs() << "pred\t" << Height << '\t' << PHI); in computeInstrHeights() 1084 if (pushDepHeight(Deps.front(), PHI, Height, Heights, MTM.SchedModel, in computeInstrHeights() 1182 MachineTraceMetrics::Trace::getPHIDepth(const MachineInstr &PHI) const { in getPHIDepth() 1185 getPHIDeps(PHI, Deps, MBB, TE.MTM.MRI); in getPHIDepth() 1192 &PHI, Dep.UseOp); in getPHIDepth()
|
D | ModuloSchedule.cpp | 553 TII->get(TargetOpcode::PHI), NewReg); in generateExistingPhis() 669 TII->get(TargetOpcode::PHI), NewReg); in generatePhis() 789 for (auto &PHI : KernelBB->phis()) { in splitLifetimes() local 790 Register Def = PHI.getOperand(0).getReg(); in splitLifetimes() 798 unsigned LCDef = getLoopPhiReg(PHI, KernelBB); in splitLifetimes() 1111 for (auto &PHI : BB->phis()) { in rewritePhiValues() local 1114 getPhiRegs(PHI, BB, InitVal, LoopVal); in rewritePhiValues() 1115 Register PhiDef = PHI.getOperand(0).getReg(); in rewritePhiValues() 1127 rewriteScheduledInstr(NewBB, InstrMap, StageNum - np, np, &PHI, PhiDef, in rewritePhiValues() 1438 BuildMI(*BB, MI, DebugLoc(), TII->get(TargetOpcode::PHI), R) in remapUse() [all …]
|
D | README.txt | 41 %reg1039 = PHI %reg1070, mbb<bb76.outer,0x8b0c5f0>, %reg1037, mbb<bb27,0x8b0a7c0> 44 operand of the PHI node in bb76 and its operand %reg1039 is the result of the 45 PHI node. We should treat it as a two-address code and make sure the ADDri is
|
/third_party/skia/third_party/externals/swiftshader/third_party/llvm-10.0/llvm/lib/Transforms/Utils/ |
D | SSAUpdater.cpp | 78 static bool IsEquivalentPHI(PHINode *PHI, in IsEquivalentPHI() argument 80 unsigned PHINumValues = PHI->getNumIncomingValues(); in IsEquivalentPHI() 86 if (ValueMapping[PHI->getIncomingBlock(i)] != in IsEquivalentPHI() 87 PHI->getIncomingValue(i)) { in IsEquivalentPHI() 233 PHINode *PHI; member in llvm::SSAUpdaterTraits::PHI_iterator 238 : PHI(P), idx(0) {} in PHI_iterator() 240 : PHI(P), idx(PHI->getNumIncomingValues()) {} in PHI_iterator() 246 Value *getIncomingValue() { return PHI->getIncomingValue(idx); } in getIncomingValue() 247 BasicBlock *getIncomingBlock() { return PHI->getIncomingBlock(idx); } in getIncomingBlock() 250 static PHI_iterator PHI_begin(PhiT *PHI) { return PHI_iterator(PHI); } in PHI_begin() argument [all …]
|
D | SimplifyCFG.cpp | 2924 PHINode *PHI = nullptr; in ensureValueAvailableInSuccessor() local 2929 PHI = cast<PHINode>(I); in ensureValueAvailableInSuccessor() 2936 if (PHI->getIncomingValueForBlock(OtherPredBB) == AlternativeV) in ensureValueAvailableInSuccessor() 2938 PHI = nullptr; in ensureValueAvailableInSuccessor() 2940 if (PHI) in ensureValueAvailableInSuccessor() 2941 return PHI; in ensureValueAvailableInSuccessor() 2948 PHI = PHINode::Create(V->getType(), 2, "simplifycfg.merge", &Succ->front()); in ensureValueAvailableInSuccessor() 2949 PHI->addIncoming(V, BB); in ensureValueAvailableInSuccessor() 2952 PHI->addIncoming( in ensureValueAvailableInSuccessor() 2954 return PHI; in ensureValueAvailableInSuccessor() [all …]
|
D | LoopUnrollPeel.cpp | 577 for (PHINode &PHI : Edge.second->phis()) { in cloneLoopBlocks() 578 Value *LatchVal = PHI.getIncomingValueForBlock(Edge.first); in cloneLoopBlocks() 582 PHI.addIncoming(LatchVal, cast<BasicBlock>(VMap[Edge.first])); in cloneLoopBlocks() 755 PHINode *PHI = cast<PHINode>(I); in peelLoop() local 756 Value *NewVal = PHI->getIncomingValueForBlock(Latch); in peelLoop() 761 PHI->setIncomingValueForBlock(NewPreHeader, NewVal); in peelLoop()
|
D | FlattenCFG.cpp | 137 PHINode *PHI = dyn_cast<PHINode>(BB->begin()); in FlattenParallelAndOr() local 138 if (PHI) in FlattenParallelAndOr() 275 PHI = dyn_cast<PHINode>(PS2->begin()); in FlattenParallelAndOr() 276 if (PHI) in FlattenParallelAndOr()
|
D | InlineFunction.cpp | 121 PHINode *PHI = cast<PHINode>(I); in LandingPadInliningInfo() local 122 UnwindDestPHIValues.push_back(PHI->getIncomingValueForBlock(InvokeBB)); in LandingPadInliningInfo() 655 PHINode *PHI = dyn_cast<PHINode>(&I); in HandleInlinedEHPad() local 656 if (!PHI) in HandleInlinedEHPad() 658 UnwindDestPHIValues.push_back(PHI->getIncomingValueForBlock(InvokeBB)); in HandleInlinedEHPad() 666 PHINode *PHI = cast<PHINode>(I); in HandleInlinedEHPad() local 667 PHI->addIncoming(V, Src); in HandleInlinedEHPad() 2334 PHINode *PHI = nullptr; in InlineFunction() local 2339 PHI = PHINode::Create(RTy, Returns.size(), TheCall->getName(), in InlineFunction() 2343 TheCall->replaceAllUsesWith(PHI); in InlineFunction() [all …]
|
D | PredicateInfo.cpp | 165 auto *PHI = cast<PHINode>(VD.U->getUser()); in getBlockEdge() local 166 return std::make_pair(PHI->getIncomingBlock(*VD.U), PHI->getParent()); in getBlockEdge() 268 auto *PHI = dyn_cast<PHINode>(VDUse.U->getUser()); in stackIsInScope() local 269 if (!PHI) in stackIsInScope() 272 BasicBlock *EdgePred = PHI->getIncomingBlock(*VDUse.U); in stackIsInScope()
|
/third_party/skia/third_party/externals/swiftshader/third_party/llvm-10.0/llvm/lib/Target/AMDGPU/ |
D | AMDGPUMachineCFGStructurizer.cpp | 303 static unsigned getPHINumInputs(MachineInstr &PHI) { in getPHINumInputs() argument 304 assert(PHI.isPHI()); in getPHINumInputs() 305 return (PHI.getNumOperands() - 1) / 2; in getPHINumInputs() 308 static MachineBasicBlock *getPHIPred(MachineInstr &PHI, unsigned Index) { in getPHIPred() argument 309 assert(PHI.isPHI()); in getPHIPred() 310 return PHI.getOperand(Index * 2 + 2).getMBB(); in getPHIPred() 313 static void setPhiPred(MachineInstr &PHI, unsigned Index, in setPhiPred() argument 315 PHI.getOperand(Index * 2 + 2).setMBB(NewPred); in setPhiPred() 318 static unsigned getPHISourceReg(MachineInstr &PHI, unsigned Index) { in getPHISourceReg() argument 319 assert(PHI.isPHI()); in getPHISourceReg() [all …]
|
D | AMDGPUAtomicOptimizer.cpp | 584 PHINode *const PHI = B.CreatePHI(Ty, 2); in optimizeAtomic() local 585 PHI->addIncoming(UndefValue::get(Ty), EntryBB); in optimizeAtomic() 586 PHI->addIncoming(NewI, SingleLaneTerminator->getParent()); in optimizeAtomic() 594 Value *const ExtractLo = B.CreateTrunc(PHI, B.getInt32Ty()); in optimizeAtomic() 596 B.CreateTrunc(B.CreateLShr(PHI, 32), B.getInt32Ty()); in optimizeAtomic() 608 BroadcastI = B.CreateIntrinsic(Intrinsic::amdgcn_readfirstlane, {}, PHI); in optimizeAtomic() 647 PHINode *const PHI = B.CreatePHI(Ty, 2); in optimizeAtomic() local 648 PHI->addIncoming(UndefValue::get(Ty), PixelEntryBB); in optimizeAtomic() 649 PHI->addIncoming(Result, I.getParent()); in optimizeAtomic() 650 I.replaceAllUsesWith(PHI); in optimizeAtomic()
|
/third_party/skia/third_party/externals/swiftshader/third_party/llvm-10.0/llvm/include/llvm/Transforms/Utils/ |
D | SSAUpdaterImpl.h | 347 ValT PHI = Traits::CreateEmptyPHI(Info->BB, Info->NumPreds, Updater); in FindAvailableVals() local 348 Info->AvailableVal = PHI; in FindAvailableVals() 349 (*AvailableVals)[Info->BB] = PHI; in FindAvailableVals() 366 PhiT *PHI = Traits::ValueIsNewPHI(Info->AvailableVal, Updater); in FindAvailableVals() local 367 if (!PHI) in FindAvailableVals() 377 Traits::AddPHIOperand(PHI, PredInfo->AvailableVal, Pred); in FindAvailableVals() 380 LLVM_DEBUG(dbgs() << " Inserted PHI: " << *PHI << "\n"); in FindAvailableVals() 383 if (InsertedPHIs) InsertedPHIs->push_back(PHI); in FindAvailableVals() 404 bool CheckIfPHIMatches(PhiT *PHI) { in CheckIfPHIMatches() argument 406 WorkList.push_back(PHI); in CheckIfPHIMatches() [all …]
|
/third_party/skia/third_party/externals/swiftshader/third_party/llvm-10.0/llvm/lib/Transforms/Scalar/ |
D | LoopInterchange.cpp | 654 PHINode *PHI = dyn_cast<PHINode>(SV); in followLCSSA() local 655 if (!PHI) in followLCSSA() 658 if (PHI->getNumIncomingValues() != 1) in followLCSSA() 660 return followLCSSA(PHI->getIncomingValue(0)); in followLCSSA() 666 if (PHINode *PHI = dyn_cast<PHINode>(User)) { in findInnerReductionPhi() local 667 if (PHI->getNumIncomingValues() == 1) in findInnerReductionPhi() 670 if (RecurrenceDescriptor::isReductionPHI(PHI, L, RD)) in findInnerReductionPhi() 671 return PHI; in findInnerReductionPhi() 683 for (PHINode &PHI : L->getHeader()->phis()) { in findInductionAndReductions() 686 if (InductionDescriptor::isInductionPHI(&PHI, L, SE, ID)) in findInductionAndReductions() [all …]
|
D | GVNSink.cpp | 701 for (auto &PHI : NeededPHIs) in analyzeInstructionForSinking() local 702 PHIContents.insert(PHI.getValues().begin(), PHI.getValues().end()); in analyzeInstructionForSinking() 728 ModelledPHI PHI(NewInsts, OpNum, ActivePreds); in analyzeInstructionForSinking() local 729 if (PHI.areAllIncomingValuesSame()) in analyzeInstructionForSinking() 734 if (NeededPHIs.count(PHI)) in analyzeInstructionForSinking() 736 if (!PHI.areAllIncomingValuesSameType()) in analyzeInstructionForSinking() 740 PHI.areAnyIncomingValuesConstant()) in analyzeInstructionForSinking() 744 NeededPHIs.insert(PHI); in analyzeInstructionForSinking() 745 PHIContents.insert(PHI.getValues().begin(), PHI.getValues().end()); in analyzeInstructionForSinking()
|
D | LoopFuse.cpp | 1190 for (PHINode &PHI : FC0.Header->phis()) in performFusion() 1191 OriginalFC0PHIs.push_back(&PHI); in performFusion() 1232 while (PHINode *PHI = dyn_cast<PHINode>(&FC1.Header->front())) { in performFusion() local 1233 if (SE.isSCEVable(PHI->getType())) in performFusion() 1234 SE.forgetValue(PHI); in performFusion() 1235 if (PHI->hasNUsesOrMore(1)) in performFusion() 1236 PHI->moveBefore(&*FC0.Header->getFirstInsertionPt()); in performFusion() 1238 PHI->eraseFromParent(); in performFusion() 1433 for (PHINode &PHI : FC0.Header->phis()) in fuseGuardedLoops() 1434 OriginalFC0PHIs.push_back(&PHI); in fuseGuardedLoops() [all …]
|
D | Scalarizer.cpp | 196 bool visitPHINode(PHINode &PHI); 761 bool ScalarizerVisitor::visitPHINode(PHINode &PHI) { in visitPHINode() argument 762 VectorType *VT = dyn_cast<VectorType>(PHI.getType()); in visitPHINode() 767 IRBuilder<> Builder(&PHI); in visitPHINode() 771 unsigned NumOps = PHI.getNumOperands(); in visitPHINode() 774 PHI.getName() + ".i" + Twine(I)); in visitPHINode() 777 Scatterer Op = scatter(&PHI, PHI.getIncomingValue(I)); in visitPHINode() 778 BasicBlock *IncomingBlock = PHI.getIncomingBlock(I); in visitPHINode() 782 gather(&PHI, Res); in visitPHINode()
|
D | InferAddressSpaces.cpp | 226 case Instruction::PHI: in isAddressExpression() 246 case Instruction::PHI: { in getPointerOperands() 472 case Instruction::PHI: { in cloneInstructionWithNewAddressSpace() 474 PHINode *PHI = cast<PHINode>(I); in cloneInstructionWithNewAddressSpace() local 475 PHINode *NewPHI = PHINode::Create(NewPtrType, PHI->getNumIncomingValues()); in cloneInstructionWithNewAddressSpace() 476 for (unsigned Index = 0; Index < PHI->getNumIncomingValues(); ++Index) { in cloneInstructionWithNewAddressSpace() 479 PHI->getIncomingBlock(Index)); in cloneInstructionWithNewAddressSpace()
|
D | LoopLoadElimination.cpp | 442 PHINode *PHI = PHINode::Create(Initial->getType(), 2, "store_forwarded", in propagateStoredValueToLoadUsers() local 444 PHI->addIncoming(Initial, PH); in propagateStoredValueToLoadUsers() 445 PHI->addIncoming(Cand.Store->getOperand(0), L->getLoopLatch()); in propagateStoredValueToLoadUsers() 447 Cand.Load->replaceAllUsesWith(PHI); in propagateStoredValueToLoadUsers()
|
/third_party/skia/third_party/externals/swiftshader/third_party/llvm-10.0/llvm/lib/Transforms/ObjCARC/ |
D | ObjCARCContract.cpp | 652 if (PHINode *PHI = dyn_cast<PHINode>(U.getUser())) { in runOnFunction() local 655 BasicBlock *IncomingBB = PHI->getIncomingBlock(ValNo); in runOnFunction() 674 for (unsigned i = 0, e = PHI->getNumIncomingValues(); i != e; ++i) in runOnFunction() 675 if (PHI->getIncomingBlock(i) == IncomingBB) { in runOnFunction() 678 &PHI->getOperandUse( in runOnFunction() 681 PHI->setIncomingValue(i, Replacement); in runOnFunction() 715 for (Value *PHI : PHIList) in runOnFunction() 716 ReplaceArgUses(PHI); in runOnFunction()
|
/third_party/skia/third_party/externals/swiftshader/third_party/llvm-10.0/llvm/lib/Analysis/ |
D | MemoryBuiltins.cpp | 990 SizeOffsetEvalType ObjectSizeOffsetEvaluator::visitPHINode(PHINode &PHI) { in visitPHINode() argument 992 PHINode *SizePHI = Builder.CreatePHI(IntTy, PHI.getNumIncomingValues()); in visitPHINode() 993 PHINode *OffsetPHI = Builder.CreatePHI(IntTy, PHI.getNumIncomingValues()); in visitPHINode() 996 CacheMap[&PHI] = std::make_pair(SizePHI, OffsetPHI); in visitPHINode() 999 for (unsigned i = 0, e = PHI.getNumIncomingValues(); i != e; ++i) { in visitPHINode() 1000 Builder.SetInsertPoint(&*PHI.getIncomingBlock(i)->getFirstInsertionPt()); in visitPHINode() 1001 SizeOffsetEvalType EdgeData = compute_(PHI.getIncomingValue(i)); in visitPHINode() 1012 SizePHI->addIncoming(EdgeData.first, PHI.getIncomingBlock(i)); in visitPHINode() 1013 OffsetPHI->addIncoming(EdgeData.second, PHI.getIncomingBlock(i)); in visitPHINode()
|
/third_party/ltp/tools/sparse/sparse-src/Documentation/release-notes/ |
D | v0.4.4.rst | 64 * cse: treat PHI-nodes as other instructions 65 * cse: update PHI users when throwing away an instruction
|
/third_party/skia/third_party/externals/swiftshader/third_party/llvm-10.0/llvm/lib/CodeGen/SelectionDAG/ |
D | SelectionDAGISel.cpp | 1726 MachineInstrBuilder PHI(*MF, FuncInfo->PHINodesToUpdate[i].first); in FinishBasicBlock() local 1727 assert(PHI->isPHI() && in FinishBasicBlock() 1729 if (!FuncInfo->MBB->isSuccessor(PHI->getParent())) in FinishBasicBlock() 1731 PHI.addReg(FuncInfo->PHINodesToUpdate[i].second).addMBB(FuncInfo->MBB); in FinishBasicBlock() 1852 MachineInstrBuilder PHI(*MF, FuncInfo->PHINodesToUpdate[pi].first); in FinishBasicBlock() local 1853 MachineBasicBlock *PHIBB = PHI->getParent(); in FinishBasicBlock() 1854 assert(PHI->isPHI() && in FinishBasicBlock() 1859 PHI.addReg(FuncInfo->PHINodesToUpdate[pi].second).addMBB(BTB.Parent); in FinishBasicBlock() 1861 PHI.addReg(FuncInfo->PHINodesToUpdate[pi].second) in FinishBasicBlock() 1870 PHI.addReg(FuncInfo->PHINodesToUpdate[pi].second).addMBB(cBB); in FinishBasicBlock() [all …]
|