Lines Matching refs:VMap

43 BasicBlock *llvm::CloneBasicBlock(const BasicBlock *BB, ValueToValueMapTy &VMap,  in CloneBasicBlock()  argument
63 VMap[&I] = NewInst; // Add instruction map to value. in CloneBasicBlock()
84 ValueToValueMapTy &VMap, in CloneFunctionInto() argument
94 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()
173 BasicBlock *CBB = CloneBasicBlock(&BB, VMap, NameSuffix, NewFunc, CodeInfo, in CloneFunctionInto()
177 VMap[&BB] = CBB; in CloneFunctionInto()
188 VMap[OldBBAddr] = BlockAddress::get(NewFunc, CBB); in CloneFunctionInto()
205 auto mapToSelfIfNew = [&VMap](MDNode *N) { in CloneFunctionInto()
207 (void)VMap.MD().try_emplace(N, N); in CloneFunctionInto()
232 NewFunc->addMetadata(MD.first, *MapMetadata(MD.second, VMap, RemapFlag, in CloneFunctionInto()
239 BB = cast<BasicBlock>(VMap[&OldFunc->front()])->getIterator(), in CloneFunctionInto()
244 RemapInstruction(&II, VMap, RemapFlag, TypeMapper, Materializer); in CloneFunctionInto()
270 MapMetadata(Unit, VMap, RF_None, TypeMapper, Materializer); in CloneFunctionInto()
283 Function *llvm::CloneFunction(Function *F, ValueToValueMapTy &VMap, in CloneFunction() argument
291 if (VMap.count(&I) == 0) // Haven't mapped the argument to anything yet? in CloneFunction()
306 if (VMap.count(&I) == 0) { // Is this argument preserved? in CloneFunction()
308 VMap[&I] = &*DestI++; // Add mapping to VMap in CloneFunction()
312 CloneFunctionInto(NewF, F, VMap, CloneFunctionChangeType::LocalChangesOnly, in CloneFunction()
323 ValueToValueMapTy &VMap; member
332 : NewFunc(newFunc), OldFunc(oldFunc), VMap(valueMap), in PruningFunctionCloner()
348 WeakTrackingVH &BBEntry = VMap[BB]; in CloneBlock()
372 VMap[OldBBAddr] = BlockAddress::get(NewFunc, NewBB); in CloneBlock()
387 RemapInstruction(NewInst, VMap, in CloneBlock()
398 if (Value *MappedV = VMap.lookup(V)) in CloneBlock()
402 VMap[&*II] = V; in CloneBlock()
411 VMap[&*II] = NewInst; // Add instruction map to value. in CloneBlock()
439 Value *V = VMap.lookup(BI->getCondition()); in CloneBlock()
446 VMap[OldTI] = BranchInst::Create(Dest, NewBB); in CloneBlock()
455 Value *V = VMap.lookup(SI->getCondition()); in CloneBlock()
461 VMap[OldTI] = BranchInst::Create(Dest, NewBB); in CloneBlock()
472 VMap[OldTI] = NewInst; // Add instruction map to value. in CloneBlock()
498 ValueToValueMapTy &VMap, in CloneAndPruneIntoFromInst() argument
513 assert(VMap.count(&II) && "No mapping from source argument specified!"); in CloneAndPruneIntoFromInst()
516 PruningFunctionCloner PFC(NewFunc, OldFunc, VMap, ModuleLevelChanges, in CloneAndPruneIntoFromInst()
542 Value *V = VMap.lookup(&BI); in CloneAndPruneIntoFromInst()
555 if (isa<PHINode>(VMap[&PN])) in CloneAndPruneIntoFromInst()
563 RemapInstruction(NewBB->getTerminator(), VMap, in CloneAndPruneIntoFromInst()
574 BasicBlock *NewBB = cast<BasicBlock>(VMap[OldBB]); in CloneAndPruneIntoFromInst()
582 PHINode *PN = cast<PHINode>(VMap[OPN]); in CloneAndPruneIntoFromInst()
584 Value *V = VMap.lookup(PN->getIncomingBlock(pred)); in CloneAndPruneIntoFromInst()
587 MapValue(PN->getIncomingValue(pred), VMap, in CloneAndPruneIntoFromInst()
641 assert(VMap[&*OldI] == PN && "VMap mismatch"); in CloneAndPruneIntoFromInst()
642 VMap[&*OldI] = NV; in CloneAndPruneIntoFromInst()
659 if (isa<PHINode>(VMap[PHIToResolve[Idx]])) in CloneAndPruneIntoFromInst()
665 auto *I = dyn_cast_or_null<Instruction>(VMap.lookup(OrigV)); in CloneAndPruneIntoFromInst()
694 VMap[OrigV] = I; in CloneAndPruneIntoFromInst()
701 Function::iterator Begin = cast<BasicBlock>(VMap[StartingBB])->getIterator(); in CloneAndPruneIntoFromInst()
764 for (Function::iterator I = cast<BasicBlock>(VMap[StartingBB])->getIterator(), in CloneAndPruneIntoFromInst()
779 Function *NewFunc, const Function *OldFunc, ValueToValueMapTy &VMap, in CloneAndPruneFunctionInto() argument
782 CloneAndPruneIntoFromInst(NewFunc, OldFunc, &OldFunc->front().front(), VMap, in CloneAndPruneFunctionInto()
788 const SmallVectorImpl<BasicBlock *> &Blocks, ValueToValueMapTy &VMap) { in remapInstructionsInBlocks() argument
792 RemapInstruction(&Inst, VMap, in remapInstructionsInBlocks()
802 Loop *OrigLoop, ValueToValueMapTy &VMap, in cloneLoopWithPreheader() argument
819 BasicBlock *NewPH = CloneBasicBlock(OrigPH, VMap, NameSuffix, F); in cloneLoopWithPreheader()
821 VMap[OrigPH] = NewPH; in cloneLoopWithPreheader()
851 BasicBlock *NewBB = CloneBasicBlock(BB, VMap, NameSuffix, F); in cloneLoopWithPreheader()
852 VMap[BB] = NewBB; in cloneLoopWithPreheader()
868 LMap[CurLoop]->moveToHeader(cast<BasicBlock>(VMap[BB])); in cloneLoopWithPreheader()
872 DT->changeImmediateDominator(cast<BasicBlock>(VMap[BB]), in cloneLoopWithPreheader()
873 cast<BasicBlock>(VMap[IDomBB])); in cloneLoopWithPreheader()