Lines Matching refs:VMap

41 BasicBlock *llvm::CloneBasicBlock(const BasicBlock *BB, ValueToValueMapTy &VMap,  in CloneBasicBlock()  argument
62 VMap[&I] = NewInst; // Add instruction map to value. in CloneBasicBlock()
86 ValueToValueMapTy &VMap, in CloneFunctionInto() argument
96 assert(VMap.count(&I) && "No mapping from source argument specified!"); in CloneFunctionInto()
108 MapValue(OldFunc->getPersonalityFn(), VMap, in CloneFunctionInto()
117 if (Argument *NewArg = dyn_cast<Argument>(VMap[&OldArg])) { in CloneFunctionInto()
134 auto &MD = VMap.MD(); in CloneFunctionInto()
149 *MapMetadata(MD.second, VMap, in CloneFunctionInto()
170 BasicBlock *CBB = CloneBasicBlock(&BB, VMap, NameSuffix, NewFunc, CodeInfo, in CloneFunctionInto()
174 VMap[&BB] = CBB; in CloneFunctionInto()
185 VMap[OldBBAddr] = BlockAddress::get(NewFunc, CBB); in CloneFunctionInto()
195 VMap.MD()[ISP].reset(ISP); in CloneFunctionInto()
198 VMap.MD()[CU].reset(CU); in CloneFunctionInto()
201 VMap.MD()[Type].reset(Type); in CloneFunctionInto()
206 cast<BasicBlock>(VMap[&OldFunc->front()])->getIterator(), in CloneFunctionInto()
211 RemapInstruction(&II, VMap, in CloneFunctionInto()
223 Function *llvm::CloneFunction(Function *F, ValueToValueMapTy &VMap, in CloneFunction() argument
231 if (VMap.count(&I) == 0) // Haven't mapped the argument to anything yet? in CloneFunction()
245 if (VMap.count(&I) == 0) { // Is this argument preserved? in CloneFunction()
247 VMap[&I] = &*DestI++; // Add mapping to VMap in CloneFunction()
251 CloneFunctionInto(NewF, F, VMap, F->getSubprogram() != nullptr, Returns, "", in CloneFunction()
264 ValueToValueMapTy &VMap; member
273 : NewFunc(newFunc), OldFunc(oldFunc), VMap(valueMap), in PruningFunctionCloner()
290 WeakTrackingVH &BBEntry = VMap[BB]; in CloneBlock()
312 VMap[OldBBAddr] = BlockAddress::get(NewFunc, NewBB); in CloneBlock()
327 RemapInstruction(NewInst, VMap, in CloneBlock()
338 if (Value *MappedV = VMap.lookup(V)) in CloneBlock()
342 VMap[&*II] = V; in CloneBlock()
351 VMap[&*II] = NewInst; // Add instruction map to value. in CloneBlock()
377 Value *V = VMap.lookup(BI->getCondition()); in CloneBlock()
384 VMap[OldTI] = BranchInst::Create(Dest, NewBB); in CloneBlock()
393 Value *V = VMap.lookup(SI->getCondition()); in CloneBlock()
399 VMap[OldTI] = BranchInst::Create(Dest, NewBB); in CloneBlock()
410 VMap[OldTI] = NewInst; // Add instruction map to value. in CloneBlock()
436 ValueToValueMapTy &VMap, in CloneAndPruneIntoFromInst() argument
451 assert(VMap.count(&II) && "No mapping from source argument specified!"); in CloneAndPruneIntoFromInst()
454 PruningFunctionCloner PFC(NewFunc, OldFunc, VMap, ModuleLevelChanges, in CloneAndPruneIntoFromInst()
480 Value *V = VMap.lookup(&BI); in CloneAndPruneIntoFromInst()
492 if (isa<PHINode>(VMap[&PN])) in CloneAndPruneIntoFromInst()
500 RemapInstruction(NewBB->getTerminator(), VMap, in CloneAndPruneIntoFromInst()
511 BasicBlock *NewBB = cast<BasicBlock>(VMap[OldBB]); in CloneAndPruneIntoFromInst()
518 PHINode *PN = cast<PHINode>(VMap[OPN]); in CloneAndPruneIntoFromInst()
520 Value *V = VMap.lookup(PN->getIncomingBlock(pred)); in CloneAndPruneIntoFromInst()
523 VMap, in CloneAndPruneIntoFromInst()
578 assert(VMap[&*OldI] == PN && "VMap mismatch"); in CloneAndPruneIntoFromInst()
579 VMap[&*OldI] = NV; in CloneAndPruneIntoFromInst()
596 if (isa<PHINode>(VMap[PHIToResolve[Idx]])) in CloneAndPruneIntoFromInst()
602 auto *I = dyn_cast_or_null<Instruction>(VMap.lookup(OrigV)); in CloneAndPruneIntoFromInst()
630 VMap[OrigV] = I; in CloneAndPruneIntoFromInst()
637 Function::iterator Begin = cast<BasicBlock>(VMap[StartingBB])->getIterator(); in CloneAndPruneIntoFromInst()
697 for (Function::iterator I = cast<BasicBlock>(VMap[StartingBB])->getIterator(), in CloneAndPruneIntoFromInst()
713 ValueToValueMapTy &VMap, in CloneAndPruneFunctionInto() argument
719 CloneAndPruneIntoFromInst(NewFunc, OldFunc, &OldFunc->front().front(), VMap, in CloneAndPruneFunctionInto()
725 const SmallVectorImpl<BasicBlock *> &Blocks, ValueToValueMapTy &VMap) { in remapInstructionsInBlocks() argument
729 RemapInstruction(&Inst, VMap, in remapInstructionsInBlocks()
739 Loop *OrigLoop, ValueToValueMapTy &VMap, in cloneLoopWithPreheader() argument
756 BasicBlock *NewPH = CloneBasicBlock(OrigPH, VMap, NameSuffix, F); in cloneLoopWithPreheader()
758 VMap[OrigPH] = NewPH; in cloneLoopWithPreheader()
769 BasicBlock *NewBB = CloneBasicBlock(BB, VMap, NameSuffix, F); in cloneLoopWithPreheader()
770 VMap[BB] = NewBB; in cloneLoopWithPreheader()
784 DT->changeImmediateDominator(cast<BasicBlock>(VMap[BB]), in cloneLoopWithPreheader()
785 cast<BasicBlock>(VMap[IDomBB])); in cloneLoopWithPreheader()