Lines Matching defs:LDVSSABlock
3871 class LDVSSABlock;
3884 SmallVector<std::pair<LDVSSABlock *, BlockValueNum>, 4> IncomingValues;
3885 LDVSSABlock *ParentBlock;
3887 LDVSSAPhi(BlockValueNum PHIValNum, LDVSSABlock *ParentBlock)
3890 LDVSSABlock *getParent() { return ParentBlock; }
3894 /// normal block iterator is that it dereferences to an LDVSSABlock.
3913 LDVSSABlock *operator*();
3919 class LDVSSABlock {
3927 LDVSSABlock(MachineBasicBlock &BB, LDVSSAUpdater &Updater)
3959 DenseMap<MachineBasicBlock *, LDVSSABlock *> BlockMap;
3981 LDVSSABlock *getSSALDVBlock(MachineBasicBlock *BB) {
3984 It->second = new LDVSSABlock(*BB, *this);
3990 BlockValueNum getValue(LDVSSABlock *LDVBB) {
3995 LDVSSABlock *LDVSSABlockIterator::operator*() {
4018 using BlkT = LDVSSABlock;
4048 LDVSSABlock *getIncomingBlock() { return PHI->IncomingValues[Idx].first; }
4059 static void FindPredecessorBlocks(LDVSSABlock *BB,
4060 SmallVectorImpl<LDVSSABlock *> *Preds) {
4068 static BlockValueNum GetPoisonVal(LDVSSABlock *BB, LDVSSAUpdater *Updater) {
4082 static BlockValueNum CreateEmptyPHI(LDVSSABlock *BB, unsigned NumPreds,
4092 static void AddPHIOperand(LDVSSAPhi *PHI, BlockValueNum Val, LDVSSABlock *Pred) {
4175 DenseMap<LDVSSABlock *, BlockValueNum> AvailableValues;
4182 LDVSSABlock *Block = Updater.getSSALDVBlock(DBG_PHI.MBB);
4187 LDVSSABlock *HereBlock = Updater.getSSALDVBlock(Here.getParent());
4212 DenseMap<LDVSSABlock *, ValueIDNum> ValidatedValues;
4216 LDVSSABlock *Block = Updater.getSSALDVBlock(DBG_PHI.MBB);