reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
111 if (P->use_empty()) { 112 P->eraseFromParent(); 116 const DataLayout &DL = P->getModule()->getDataLayout(); 121 Slot = new AllocaInst(P->getType(), DL.getAllocaAddrSpace(), nullptr, 122 P->getName()+".reg2mem", AllocaPoint); 124 Function *F = P->getParent()->getParent(); 125 Slot = new AllocaInst(P->getType(), DL.getAllocaAddrSpace(), nullptr, 126 P->getName() + ".reg2mem", 131 for (unsigned i = 0, e = P->getNumIncomingValues(); i < e; ++i) { 132 if (InvokeInst *II = dyn_cast<InvokeInst>(P->getIncomingValue(i))) { 133 assert(II->getParent() != P->getIncomingBlock(i) && 136 new StoreInst(P->getIncomingValue(i), Slot, 137 P->getIncomingBlock(i)->getTerminator()); 141 BasicBlock::iterator InsertPt = P->getIterator(); 147 new LoadInst(P->getType(), Slot, P->getName() + ".reload", &*InsertPt); 147 new LoadInst(P->getType(), Slot, P->getName() + ".reload", &*InsertPt); 148 P->replaceAllUsesWith(V); 151 P->eraseFromParent();