Lines Matching refs:VMap

44 BasicBlock *llvm::CloneBasicBlock(const BasicBlock *BB, ValueToValueMapTy &VMap,  in CloneBasicBlock()  argument
68 VMap[&I] = NewInst; // Add instruction map to value. in CloneBasicBlock()
93 ValueToValueMapTy &VMap, in CloneFunctionInto() argument
104 assert(VMap.count(&I) && "No mapping from source argument specified!"); in CloneFunctionInto()
120 NewFunc->setPersonalityFn(MapValue(OldFunc->getPersonalityFn(), VMap, in CloneFunctionInto()
125 NewFunc->setPrefixData(MapValue(OldFunc->getPrefixData(), VMap, in CloneFunctionInto()
131 NewFunc->setPrologueData(MapValue(OldFunc->getPrologueData(), VMap, in CloneFunctionInto()
141 if (Argument *NewArg = dyn_cast<Argument>(VMap[&OldArg])) { in CloneFunctionInto()
197 BasicBlock *CBB = CloneBasicBlock(&BB, VMap, NameSuffix, NewFunc, CodeInfo, in CloneFunctionInto()
201 VMap[&BB] = CBB; in CloneFunctionInto()
212 VMap[OldBBAddr] = BlockAddress::get(NewFunc, CBB); in CloneFunctionInto()
229 auto mapToSelfIfNew = [&VMap](MDNode *N) { in CloneFunctionInto()
231 (void)VMap.MD().try_emplace(N, N); in CloneFunctionInto()
267 NewFunc->addMetadata(MD.first, *MapMetadata(MD.second, VMap, RemapFlag, in CloneFunctionInto()
274 BB = cast<BasicBlock>(VMap[&OldFunc->front()])->getIterator(), in CloneFunctionInto()
280 RemapInstruction(&II, VMap, RemapFlag, TypeMapper, Materializer); in CloneFunctionInto()
281 RemapDbgRecordRange(II.getModule(), II.getDbgRecordRange(), VMap, in CloneFunctionInto()
309 MapMetadata(Unit, VMap, RF_None, TypeMapper, Materializer); in CloneFunctionInto()
322 Function *llvm::CloneFunction(Function *F, ValueToValueMapTy &VMap, in CloneFunction() argument
330 if (VMap.count(&I) == 0) // Haven't mapped the argument to anything yet? in CloneFunction()
346 if (VMap.count(&I) == 0) { // Is this argument preserved? in CloneFunction()
348 VMap[&I] = &*DestI++; // Add mapping to VMap in CloneFunction()
352 CloneFunctionInto(NewF, F, VMap, CloneFunctionChangeType::LocalChangesOnly, in CloneFunction()
363 ValueToValueMapTy &VMap; member
375 : NewFunc(newFunc), OldFunc(oldFunc), VMap(valueMap), in PruningFunctionCloner()
465 WeakTrackingVH &BBEntry = VMap[BB]; in CloneBlock()
489 VMap[OldBBAddr] = BlockAddress::get(NewFunc, NewBB); in CloneBlock()
530 RemapInstruction(NewInst, VMap, in CloneBlock()
540 VMap[&*II] = V; in CloneBlock()
549 VMap[&*II] = NewInst; // Add instruction map to value. in CloneBlock()
581 Value *V = VMap.lookup(BI->getCondition()); in CloneBlock()
588 VMap[OldTI] = BranchInst::Create(Dest, NewBB); in CloneBlock()
597 Value *V = VMap.lookup(SI->getCondition()); in CloneBlock()
603 VMap[OldTI] = BranchInst::Create(Dest, NewBB); in CloneBlock()
617 VMap[OldTI] = NewInst; // Add instruction map to value. in CloneBlock()
651 ValueToValueMapTy &VMap, in CloneAndPruneIntoFromInst() argument
666 assert(VMap.count(&II) && "No mapping from source argument specified!"); in CloneAndPruneIntoFromInst()
669 PruningFunctionCloner PFC(NewFunc, OldFunc, VMap, ModuleLevelChanges, in CloneAndPruneIntoFromInst()
704 Value *V = VMap.lookup(&BI); in CloneAndPruneIntoFromInst()
717 if (isa<PHINode>(VMap[&PN])) in CloneAndPruneIntoFromInst()
725 RemapInstruction(NewBB->getTerminator(), VMap, in CloneAndPruneIntoFromInst()
736 BasicBlock *NewBB = cast<BasicBlock>(VMap[OldBB]); in CloneAndPruneIntoFromInst()
744 PHINode *PN = cast<PHINode>(VMap[OPN]); in CloneAndPruneIntoFromInst()
746 Value *V = VMap.lookup(PN->getIncomingBlock(pred)); in CloneAndPruneIntoFromInst()
749 MapValue(PN->getIncomingValue(pred), VMap, in CloneAndPruneIntoFromInst()
803 assert(VMap[&*OldI] == PN && "VMap mismatch"); in CloneAndPruneIntoFromInst()
804 VMap[&*OldI] = NV; in CloneAndPruneIntoFromInst()
824 auto *NewI = dyn_cast_or_null<Instruction>(VMap.lookup(&I)); in CloneAndPruneIntoFromInst()
836 VMap[&I] = NewI; in CloneAndPruneIntoFromInst()
852 cast_or_null<DbgVariableIntrinsic>(VMap.lookup(DVI))) in CloneAndPruneIntoFromInst()
853 RemapInstruction(NewDVI, VMap, in CloneAndPruneIntoFromInst()
860 Function::iterator Begin = cast<BasicBlock>(VMap[StartingBB])->getIterator(); in CloneAndPruneIntoFromInst()
863 RemapDbgRecordRange(I.getModule(), I.getDbgRecordRange(), VMap, in CloneAndPruneIntoFromInst()
937 for (Function::iterator I = cast<BasicBlock>(VMap[StartingBB])->getIterator(), in CloneAndPruneIntoFromInst()
952 Function *NewFunc, const Function *OldFunc, ValueToValueMapTy &VMap, in CloneAndPruneFunctionInto() argument
955 CloneAndPruneIntoFromInst(NewFunc, OldFunc, &OldFunc->front().front(), VMap, in CloneAndPruneFunctionInto()
961 ValueToValueMapTy &VMap) { in remapInstructionsInBlocks() argument
965 RemapDbgRecordRange(Inst.getModule(), Inst.getDbgRecordRange(), VMap, in remapInstructionsInBlocks()
967 RemapInstruction(&Inst, VMap, in remapInstructionsInBlocks()
979 Loop *OrigLoop, ValueToValueMapTy &VMap, in cloneLoopWithPreheader() argument
996 BasicBlock *NewPH = CloneBasicBlock(OrigPH, VMap, NameSuffix, F); in cloneLoopWithPreheader()
998 VMap[OrigPH] = NewPH; in cloneLoopWithPreheader()
1028 BasicBlock *NewBB = CloneBasicBlock(BB, VMap, NameSuffix, F); in cloneLoopWithPreheader()
1029 VMap[BB] = NewBB; in cloneLoopWithPreheader()
1045 LMap[CurLoop]->moveToHeader(cast<BasicBlock>(VMap[BB])); in cloneLoopWithPreheader()
1049 DT->changeImmediateDominator(cast<BasicBlock>(VMap[BB]), in cloneLoopWithPreheader()
1050 cast<BasicBlock>(VMap[IDomBB])); in cloneLoopWithPreheader()