Lines Matching defs:MP
995 auto *MP = dyn_cast<MemoryPhi>(V);
996 assert(MP && "Should have been an instruction or a MemoryPhi");
997 return MP->getBlock();
1708 if (auto *MP = dyn_cast<MemoryPhi>(From)) {
1709 OldClass->memory_erase(MP);
1710 NewClass->memory_insert(MP);
2936 const MemoryPhi *MP = cast<MemoryPhi>(&Def);
2937 TOPClass->memory_insert(MP);
2938 MemoryPhiState.insert({MP, MPS_TOP});
3070 void NewGVN::valueNumberMemoryPhi(MemoryPhi *MP) {
3075 const BasicBlock *PHIBlock = MP->getBlock();
3076 auto Filtered = make_filter_range(MP->operands(), [&](const Use &U) {
3077 return cast<MemoryAccess>(U) != MP &&
3079 ReachableEdges.count({MP->getIncomingBlock(U), PHIBlock});
3085 if (setMemoryClass(MP, TOPClass))
3086 markMemoryUsersTouched(MP);
3117 AllEqual ? getMemoryClass(AllSameValue) : ensureLeaderOfMemoryClass(MP);
3118 auto OldState = MemoryPhiState.lookup(MP);
3121 MemoryPhiState[MP] = NewState;
3122 if (setMemoryClass(MP, CC) || OldState != NewState)
3123 markMemoryUsersTouched(MP);
3197 auto *MP = cast<MemoryPhi>(EndDef);
3199 return ReachableEdges.count({MP->getIncomingBlock(U), MP->getBlock()});
3202 make_filter_range(MP->operands(), ReachableOperandPred);
3444 if (auto *MP = dyn_cast<MemoryPhi>(V)) {
3445 LLVM_DEBUG(dbgs() << "Processing MemoryPhi " << *MP << "\n");
3446 valueNumberMemoryPhi(MP);