Lines Matching refs:VMap

41 BasicBlock *llvm::CloneBasicBlock(const BasicBlock *BB, ValueToValueMapTy &VMap,  in CloneBasicBlock()  argument
61 VMap[&I] = NewInst; // Add instruction map to value. in CloneBasicBlock()
82 ValueToValueMapTy &VMap, in CloneFunctionInto() argument
92 assert(VMap.count(&I) && "No mapping from source argument specified!"); in CloneFunctionInto()
106 MapValue(OldFunc->getPersonalityFn(), VMap, in CloneFunctionInto()
115 if (Argument *NewArg = dyn_cast<Argument>(VMap[&OldArg])) { in CloneFunctionInto()
171 BasicBlock *CBB = CloneBasicBlock(&BB, VMap, NameSuffix, NewFunc, CodeInfo, in CloneFunctionInto()
175 VMap[&BB] = CBB; in CloneFunctionInto()
186 VMap[OldBBAddr] = BlockAddress::get(NewFunc, CBB); in CloneFunctionInto()
203 auto mapToSelfIfNew = [&VMap](MDNode *N) { in CloneFunctionInto()
205 (void)VMap.MD().try_emplace(N, N); in CloneFunctionInto()
241 NewFunc->addMetadata(MD.first, *MapMetadata(MD.second, VMap, RemapFlag, in CloneFunctionInto()
248 BB = cast<BasicBlock>(VMap[&OldFunc->front()])->getIterator(), in CloneFunctionInto()
253 RemapInstruction(&II, VMap, RemapFlag, TypeMapper, Materializer); in CloneFunctionInto()
279 MapMetadata(Unit, VMap, RF_None, TypeMapper, Materializer); in CloneFunctionInto()
292 Function *llvm::CloneFunction(Function *F, ValueToValueMapTy &VMap, in CloneFunction() argument
300 if (VMap.count(&I) == 0) // Haven't mapped the argument to anything yet? in CloneFunction()
315 if (VMap.count(&I) == 0) { // Is this argument preserved? in CloneFunction()
317 VMap[&I] = &*DestI++; // Add mapping to VMap in CloneFunction()
321 CloneFunctionInto(NewF, F, VMap, CloneFunctionChangeType::LocalChangesOnly, in CloneFunction()
332 ValueToValueMapTy &VMap; member
344 : NewFunc(newFunc), OldFunc(oldFunc), VMap(valueMap), in PruningFunctionCloner()
446 WeakTrackingVH &BBEntry = VMap[BB]; in CloneBlock()
470 VMap[OldBBAddr] = BlockAddress::get(NewFunc, NewBB); in CloneBlock()
492 RemapInstruction(NewInst, VMap, in CloneBlock()
503 if (Value *MappedV = VMap.lookup(V)) in CloneBlock()
507 VMap[&*II] = V; in CloneBlock()
516 VMap[&*II] = NewInst; // Add instruction map to value. in CloneBlock()
544 Value *V = VMap.lookup(BI->getCondition()); in CloneBlock()
551 VMap[OldTI] = BranchInst::Create(Dest, NewBB); in CloneBlock()
560 Value *V = VMap.lookup(SI->getCondition()); in CloneBlock()
566 VMap[OldTI] = BranchInst::Create(Dest, NewBB); in CloneBlock()
577 VMap[OldTI] = NewInst; // Add instruction map to value. in CloneBlock()
603 ValueToValueMapTy &VMap, in CloneAndPruneIntoFromInst() argument
618 assert(VMap.count(&II) && "No mapping from source argument specified!"); in CloneAndPruneIntoFromInst()
621 PruningFunctionCloner PFC(NewFunc, OldFunc, VMap, ModuleLevelChanges, in CloneAndPruneIntoFromInst()
647 Value *V = VMap.lookup(&BI); in CloneAndPruneIntoFromInst()
660 if (isa<PHINode>(VMap[&PN])) in CloneAndPruneIntoFromInst()
668 RemapInstruction(NewBB->getTerminator(), VMap, in CloneAndPruneIntoFromInst()
679 BasicBlock *NewBB = cast<BasicBlock>(VMap[OldBB]); in CloneAndPruneIntoFromInst()
687 PHINode *PN = cast<PHINode>(VMap[OPN]); in CloneAndPruneIntoFromInst()
689 Value *V = VMap.lookup(PN->getIncomingBlock(pred)); in CloneAndPruneIntoFromInst()
692 MapValue(PN->getIncomingValue(pred), VMap, in CloneAndPruneIntoFromInst()
746 assert(VMap[&*OldI] == PN && "VMap mismatch"); in CloneAndPruneIntoFromInst()
747 VMap[&*OldI] = NV; in CloneAndPruneIntoFromInst()
764 if (isa<PHINode>(VMap[PHIToResolve[Idx]])) in CloneAndPruneIntoFromInst()
770 auto *I = dyn_cast_or_null<Instruction>(VMap.lookup(OrigV)); in CloneAndPruneIntoFromInst()
799 VMap[OrigV] = I; in CloneAndPruneIntoFromInst()
807 Function::iterator Begin = cast<BasicBlock>(VMap[StartingBB])->getIterator(); in CloneAndPruneIntoFromInst()
870 for (Function::iterator I = cast<BasicBlock>(VMap[StartingBB])->getIterator(), in CloneAndPruneIntoFromInst()
885 Function *NewFunc, const Function *OldFunc, ValueToValueMapTy &VMap, in CloneAndPruneFunctionInto() argument
888 CloneAndPruneIntoFromInst(NewFunc, OldFunc, &OldFunc->front().front(), VMap, in CloneAndPruneFunctionInto()
894 const SmallVectorImpl<BasicBlock *> &Blocks, ValueToValueMapTy &VMap) { in remapInstructionsInBlocks() argument
898 RemapInstruction(&Inst, VMap, in remapInstructionsInBlocks()
908 Loop *OrigLoop, ValueToValueMapTy &VMap, in cloneLoopWithPreheader() argument
925 BasicBlock *NewPH = CloneBasicBlock(OrigPH, VMap, NameSuffix, F); in cloneLoopWithPreheader()
927 VMap[OrigPH] = NewPH; in cloneLoopWithPreheader()
957 BasicBlock *NewBB = CloneBasicBlock(BB, VMap, NameSuffix, F); in cloneLoopWithPreheader()
958 VMap[BB] = NewBB; in cloneLoopWithPreheader()
974 LMap[CurLoop]->moveToHeader(cast<BasicBlock>(VMap[BB])); in cloneLoopWithPreheader()
978 DT->changeImmediateDominator(cast<BasicBlock>(VMap[BB]), in cloneLoopWithPreheader()
979 cast<BasicBlock>(VMap[IDomBB])); in cloneLoopWithPreheader()