Lines Matching defs:PHIBlock
793 bool OpIsSafeForPHIOfOps(Value *Op, const BasicBlock *PHIBlock,
815 BasicBlock *PHIBlock) const;
1052 BasicBlock *PHIBlock,
1056 auto *E = new (ExpressionAllocator) PHIExpression(NumOps, PHIBlock);
1068 if (!ReachableEdges.count({BB, PHIBlock}))
1074 HasBackedge = HasBackedge || isBackedge(BB, PHIBlock);
1771 BasicBlock *PHIBlock) const {
1780 PHIOps, I, PHIBlock, HasBackedge, OriginalOpsConstant));
2627 bool NewGVN::OpIsSafeForPHIOfOps(Value *V, const BasicBlock *PHIBlock,
2642 if (DT->properlyDominates(getBlockForValue(I), PHIBlock)) {
2647 if (isa<PHINode>(I) && getBlockForValue(I) == PHIBlock) {
2789 auto *PHIBlock = getBlockForValue(OpPHI);
2790 RevisitOnReachabilityChange[PHIBlock].reset(InstrToDFSNum(I));
2797 if (ReachableEdges.count({PredBB, PHIBlock})) {
2813 Op = Op->DoPHITranslation(PHIBlock, PredBB);
2817 if (getBlockForValue(ValuePHI) == PHIBlock)
2823 (Op != OrigOp || OpIsSafeForPHIOfOps(Op, PHIBlock, VisitedOps));
2849 RevisitOnReachabilityChange[PHIBlock].set(InstrToDFSNum(I));
2859 auto *E = performSymbolicPHIEvaluation(PHIOps, I, PHIBlock);
2880 addPhiOfOps(ValuePHI, PHIBlock, I);
2888 TempToBlock[ValuePHI] = PHIBlock;
2896 RevisitOnReachabilityChange[PHIBlock].set(InstrToDFSNum(I));
3075 const BasicBlock *PHIBlock = MP->getBlock();
3079 ReachableEdges.count({MP->getIncomingBlock(U), PHIBlock});