reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
2244 if (isa<AllocaInst>(CurInst) || CurInst->isTerminator() || 2244 if (isa<AllocaInst>(CurInst) || CurInst->isTerminator() || 2245 isa<PHINode>(CurInst) || CurInst->getType()->isVoidTy() || 2245 isa<PHINode>(CurInst) || CurInst->getType()->isVoidTy() || 2246 CurInst->mayReadFromMemory() || CurInst->mayHaveSideEffects() || 2246 CurInst->mayReadFromMemory() || CurInst->mayHaveSideEffects() || 2247 isa<DbgInfoIntrinsic>(CurInst)) 2254 if (isa<CmpInst>(CurInst)) 2264 if (isa<GetElementPtrInst>(CurInst)) 2268 if (auto *CallB = dyn_cast<CallBase>(CurInst)) 2272 uint32_t ValNo = VN.lookup(CurInst); 2283 BasicBlock *CurrentBlock = CurInst->getParent(); 2303 llvm::any_of(CurInst->operands(), [&](const Use &U) { 2318 } else if (predV == CurInst) { 2339 if (!isSafeToSpeculativelyExecute(CurInst)) { 2344 if (ICF->isDominatedByICFIFromSameBlock(CurInst)) 2366 PREInstr = CurInst->clone(); 2383 PHINode::Create(CurInst->getType(), predMap.size(), 2384 CurInst->getName() + ".pre-phi", &CurrentBlock->front()); 2389 patchReplacementInstruction(CurInst, V); 2400 Phi->setDebugLoc(CurInst->getDebugLoc()); 2401 CurInst->replaceAllUsesWith(Phi); 2404 VN.erase(CurInst); 2405 removeFromLeaderTable(ValNo, CurInst, CurrentBlock); 2407 LLVM_DEBUG(dbgs() << "GVN PRE removed: " << *CurInst << '\n'); 2409 MD->removeInstruction(CurInst); 2410 LLVM_DEBUG(verifyRemoved(CurInst)); 2413 ICF->removeInstruction(CurInst); 2414 CurInst->eraseFromParent();