Lines Matching refs:PHIBlock
766 bool OpIsSafeForPHIOfOps(Value *Op, const BasicBlock *PHIBlock,
788 BasicBlock *PHIBlock) const;
1013 BasicBlock *PHIBlock, in createPHIExpression() argument
1017 auto *E = new (ExpressionAllocator) PHIExpression(NumOps, PHIBlock); in createPHIExpression()
1029 if (!ReachableEdges.count({BB, PHIBlock})) in createPHIExpression()
1035 HasBackedge = HasBackedge || isBackedge(BB, PHIBlock); in createPHIExpression()
1732 BasicBlock *PHIBlock) const { in performSymbolicPHIEvaluation()
1741 PHIOps, I, PHIBlock, HasBackedge, OriginalOpsConstant)); in performSymbolicPHIEvaluation()
2594 bool NewGVN::OpIsSafeForPHIOfOps(Value *V, const BasicBlock *PHIBlock, in OpIsSafeForPHIOfOps() argument
2609 if (DT->properlyDominates(getBlockForValue(I), PHIBlock)) { in OpIsSafeForPHIOfOps()
2614 if (isa<PHINode>(I) && getBlockForValue(I) == PHIBlock) { in OpIsSafeForPHIOfOps()
2756 auto *PHIBlock = getBlockForValue(OpPHI); in makePossiblePHIOfOps() local
2757 RevisitOnReachabilityChange[PHIBlock].reset(InstrToDFSNum(I)); in makePossiblePHIOfOps()
2764 if (ReachableEdges.count({PredBB, PHIBlock})) { in makePossiblePHIOfOps()
2780 Op = Op->DoPHITranslation(PHIBlock, PredBB); in makePossiblePHIOfOps()
2784 if (getBlockForValue(ValuePHI) == PHIBlock) in makePossiblePHIOfOps()
2790 (Op != OrigOp || OpIsSafeForPHIOfOps(Op, PHIBlock, VisitedOps)); in makePossiblePHIOfOps()
2816 RevisitOnReachabilityChange[PHIBlock].set(InstrToDFSNum(I)); in makePossiblePHIOfOps()
2826 auto *E = performSymbolicPHIEvaluation(PHIOps, I, PHIBlock); in makePossiblePHIOfOps()
2847 addPhiOfOps(ValuePHI, PHIBlock, I); in makePossiblePHIOfOps()
2855 TempToBlock[ValuePHI] = PHIBlock; in makePossiblePHIOfOps()
2863 RevisitOnReachabilityChange[PHIBlock].set(InstrToDFSNum(I)); in makePossiblePHIOfOps()
3042 const BasicBlock *PHIBlock = MP->getBlock(); in valueNumberMemoryPhi() local
3046 ReachableEdges.count({MP->getIncomingBlock(U), PHIBlock}); in valueNumberMemoryPhi()