Searched refs:VMap (Results 1 - 25 of 38) sorted by relevance

12

/freebsd-11-stable/contrib/llvm-project/llvm/lib/Transforms/Utils/
H A DCloneModule.cpp37 ValueToValueMapTy VMap; local
38 return CloneModule(M, VMap);
42 ValueToValueMapTy &VMap) {
43 return CloneModule(M, VMap, [](const GlobalValue *GV) { return true; });
47 const Module &M, ValueToValueMapTy &VMap,
58 // new module. Here we add them to the VMap and to the new Module. We
71 VMap[&*I] = GV;
80 VMap[&I] = NF;
101 VMap[&*I] = GV;
111 VMap[
41 CloneModule(const Module &M, ValueToValueMapTy &VMap) argument
[all...]
H A DCloneFunction.cpp40 BasicBlock *llvm::CloneBasicBlock(const BasicBlock *BB, ValueToValueMapTy &VMap, argument
61 VMap[&I] = NewInst; // Add instruction map to value.
82 // VMap values.
85 ValueToValueMapTy &VMap,
95 assert(VMap.count(&I) && "No mapping from source argument specified!");
107 MapValue(OldFunc->getPersonalityFn(), VMap,
114 // Clone any argument attributes that are present in the VMap.
116 if (Argument *NewArg = dyn_cast<Argument>(VMap[&OldArg])) {
133 auto &MD = VMap.MD();
148 *MapMetadata(MD.second, VMap,
84 CloneFunctionInto(Function *NewFunc, const Function *OldFunc, ValueToValueMapTy &VMap, bool ModuleLevelChanges, SmallVectorImpl<ReturnInst*> &Returns, const char *NameSuffix, ClonedCodeInfo *CodeInfo, ValueMapTypeRemapper *TypeMapper, ValueMaterializer *Materializer) argument
237 CloneFunction(Function *F, ValueToValueMapTy &VMap, ClonedCodeInfo *CodeInfo) argument
278 ValueToValueMapTy &VMap; member in struct:__anon2770::PruningFunctionCloner
448 CloneAndPruneIntoFromInst(Function *NewFunc, const Function *OldFunc, const Instruction *StartingInst, ValueToValueMapTy &VMap, bool ModuleLevelChanges, SmallVectorImpl<ReturnInst *> &Returns, const char *NameSuffix, ClonedCodeInfo *CodeInfo) argument
726 CloneAndPruneFunctionInto(Function *NewFunc, const Function *OldFunc, ValueToValueMapTy &VMap, bool ModuleLevelChanges, SmallVectorImpl<ReturnInst*> &Returns, const char *NameSuffix, ClonedCodeInfo *CodeInfo, Instruction *TheCall) argument
738 remapInstructionsInBlocks( const SmallVectorImpl<BasicBlock *> &Blocks, ValueToValueMapTy &VMap) argument
752 cloneLoopWithPreheader(BasicBlock *Before, BasicBlock *LoopDomBB, Loop *OrigLoop, ValueToValueMapTy &VMap, const Twine &NameSuffix, LoopInfo *LI, DominatorTree *DT, SmallVectorImpl<BasicBlock *> &Blocks) argument
[all...]
H A DLoopUnrollPeel.cpp486 /// \param[out] VMap The value map between the loop and the new clone.
494 ValueToValueMapTy &VMap, ValueToValueMapTy &LVMap, DominatorTree *DT,
508 BasicBlock *NewBB = CloneBasicBlock(*BB, VMap, ".peel", F);
514 VMap[*BB] = NewBB;
522 // VMap must contain entry for IDom, as the iteration order is RPO.
523 DT->addNewBlock(NewBB, cast<BasicBlock>(VMap[IDom->getBlock()]));
532 InsertTop->getTerminator()->setSuccessor(0, cast<BasicBlock>(VMap[Header]));
539 BasicBlock *NewLatch = cast<BasicBlock>(VMap[Latch]);
558 PHINode *NewPHI = cast<PHINode>(VMap[&*I]);
560 VMap[
[all...]
H A DLoopUnrollRuntime.cpp71 ValueToValueMapTy &VMap, DominatorTree *DT,
86 BasicBlock *PrologLatch = cast<BasicBlock>(VMap[Latch]);
118 V = VMap.lookup(I);
186 ValueToValueMapTy &VMap, DominatorTree *DT,
190 BasicBlock *EpilogLatch = cast<BasicBlock>(VMap[Latch]);
229 // If value comes from an instruction in the loop add VMap value.
230 V = VMap.lookup(I);
245 // EpilogPN = PHI [PN, NewExit], [VMap[I], EpilogLatch]
266 PHINode *VPN = cast<PHINode>(VMap[&PN]);
305 ValueToValueMapTy &VMap, DominatorTre
67 ConnectProlog(Loop *L, Value *BECount, unsigned Count, BasicBlock *PrologExit, BasicBlock *OriginalLoopLatchExit, BasicBlock *PreHeader, BasicBlock *NewPreHeader, ValueToValueMapTy &VMap, DominatorTree *DT, LoopInfo *LI, bool PreserveLCSSA) argument
183 ConnectEpilog(Loop *L, Value *ModVal, BasicBlock *NewExit, BasicBlock *Exit, BasicBlock *PreHeader, BasicBlock *EpilogPreHeader, BasicBlock *NewPreHeader, ValueToValueMapTy &VMap, DominatorTree *DT, LoopInfo *LI, bool PreserveLCSSA) argument
300 CloneLoopBlocks(Loop *L, Value *NewIter, const bool CreateRemainderLoop, const bool UseEpilogRemainder, const bool UnrollRemainder, BasicBlock *InsertTop, BasicBlock *InsertBot, BasicBlock *Preheader, std::vector<BasicBlock *> &NewBlocks, LoopBlocksDFS &LoopBlocks, ValueToValueMapTy &VMap, DominatorTree *DT, LoopInfo *LI) argument
776 ValueToValueMapTy VMap; local
[all...]
H A DLoopVersioning.cpp106 cloneLoopWithPreheader(PH, RuntimeCheckBB, VersionedLoop, VMap,
108 remapInstructionsInBlocks(NonVersionedLoopBlocks, VMap);
161 auto Mapped = VMap.find(ClonedValue);
162 if (Mapped != VMap.end())
H A DInlineFunction.cpp771 ValueToValueMapTy &VMap) {
779 for (ValueToValueMapTy::iterator VMI = VMap.begin(), VMIE = VMap.end();
813 static void CloneAliasScopeMetadata(CallSite CS, ValueToValueMapTy &VMap) { argument
875 for (ValueToValueMapTy::iterator VMI = VMap.begin(), VMIE = VMap.end();
919 static void AddAliasScopeMetadata(CallSite CS, ValueToValueMapTy &VMap, argument
972 for (ValueToValueMapTy::iterator VMI = VMap.begin(), VMIE = VMap.end();
1181 ValueToValueMapTy &VMap,
770 PropagateParallelLoopAccessMetadata(CallSite CS, ValueToValueMapTy &VMap) argument
1179 UpdateCallGraphAfterInlining(CallSite CS, Function::iterator FirstNewBlock, ValueToValueMapTy &VMap, InlineFunctionInfo &IFI) argument
1470 updateCallerBFI(BasicBlock *CallSiteBlock, const ValueToValueMapTy &VMap, BlockFrequencyInfo *CallerBFI, BlockFrequencyInfo *CalleeBFI, const BasicBlock &CalleeEntryBlock) argument
1499 updateCallProfile(Function *Callee, const ValueToValueMapTy &VMap, const ProfileCount &CalleeEntryCount, const Instruction *TheCall, ProfileSummaryInfo *PSI, BlockFrequencyInfo *CallerBFI) argument
1514 updateProfileCallee( Function *Callee, int64_t entryDelta, const ValueMap<const Value *, WeakTrackingVH> *VMap) argument
1699 ValueToValueMapTy VMap; local
[all...]
H A DLoopUnroll.cpp67 /// those specified by VMap.
68 void llvm::remapInstruction(Instruction *I, ValueToValueMapTy &VMap) { argument
85 ValueToValueMapTy::iterator It = VMap.find(Op);
86 if (It != VMap.end())
92 ValueToValueMapTy::iterator It = VMap.find(PN->getIncomingBlock(i));
93 if (It != VMap.end())
608 ValueToValueMapTy VMap; local
609 BasicBlock *New = CloneBasicBlock(*BB, VMap, "." + Twine(It));
623 PHINode *NewPHI = cast<PHINode>(VMap[OrigPHI]);
628 VMap[OrigPH
[all...]
H A DSplitModule.cpp272 ValueToValueMapTy VMap; local
274 CloneModule(*M, VMap, [&](const GlobalValue *GV) {
/freebsd-11-stable/contrib/llvm-project/llvm/include/llvm/Transforms/Utils/
H A DCloning.h53 std::unique_ptr<Module> CloneModule(const Module &M, ValueToValueMapTy &VMap);
60 CloneModule(const Module &M, ValueToValueMapTy &VMap,
98 /// is recorded in the VMap map.
109 BasicBlock *CloneBasicBlock(const BasicBlock *BB, ValueToValueMapTy &VMap,
115 /// function's module. Also, any references specified in the VMap are changed
117 /// arguments to the function are in the VMap, the arguments are deleted from
118 /// the resultant function. The VMap is updated to include mappings from all of
123 /// VMap contains no non-identity GlobalValue mappings and debug info metadata
126 Function *CloneFunction(Function *F, ValueToValueMapTy &VMap,
130 /// to VMap value
[all...]
H A DLoopVersioning.h122 ValueToValueMapTy VMap; member in class:llvm::LoopVersioning
/freebsd-11-stable/contrib/llvm-project/llvm/lib/ExecutionEngine/Orc/
H A DIndirectionUtils.cpp290 ValueToValueMapTy *VMap) {
296 if (VMap) {
297 (*VMap)[&F] = NewF;
301 (*VMap)[&*ArgI] = &*NewArgI;
307 void moveFunctionBody(Function &OrigF, ValueToValueMapTy &VMap,
312 NewF = cast<Function>(VMap[&OrigF]);
314 assert(VMap[&OrigF] == NewF && "Incorrect function mapping in VMap.");
315 assert(NewF && "Function mapping missing from VMap.");
321 CloneFunctionInto(NewF, &OrigF, VMap, /*ModuleLevelChange
[all...]
H A DThreadSafeModule.cpp31 ValueToValueMapTy VMap; local
32 auto Tmp = CloneModule(M, VMap, [&](const GlobalValue *GV) {
/freebsd-11-stable/contrib/llvm-project/llvm/tools/bugpoint/
H A DMiscompilation.cpp266 ValueToValueMapTy VMap; local
267 std::unique_ptr<Module> Clone = CloneModule(BD.getProgram(), VMap);
272 Function *F = cast<Function>(VMap[Funcs[i]]);
277 VMap.clear();
278 std::unique_ptr<Module> ToNotOptimize = CloneModule(BD.getProgram(), VMap);
280 SplitFunctionsOutOfModule(ToNotOptimize.get(), FuncsOnClone, VMap);
315 ValueToValueMapTy VMap;
316 std::unique_ptr<Module> ToNotOptimize = CloneModule(BD.getProgram(), VMap);
318 ToNotOptimize.get(), MiscompiledFunctions, VMap);
345 MiscompiledFunctions[i] = cast<Function>(VMap[MiscompiledFunction
501 ValueToValueMapTy VMap; local
570 ValueToValueMapTy VMap; local
759 ValueToValueMapTy VMap; local
[all...]
H A DCrashDebugger.cpp152 ValueToValueMapTy VMap; local
153 std::unique_ptr<Module> M = CloneModule(BD.getProgram(), VMap);
159 GlobalVariable *CMGV = cast<GlobalVariable>(VMap[GVs[i]]);
246 ValueToValueMapTy VMap;
247 std::unique_ptr<Module> M = CloneModule(BD.getProgram(), VMap);
252 Function *CMF = cast<Function>(VMap[Funcs[i]]);
454 ValueToValueMapTy VMap; local
455 std::unique_ptr<Module> M = CloneModule(BD.getProgram(), VMap);
460 Blocks.insert(cast<BasicBlock>(VMap[BBs[i]]));
573 ValueToValueMapTy VMap; local
677 ValueToValueMapTy VMap; local
769 ValueToValueMapTy VMap; local
845 ValueToValueMapTy VMap; local
916 ValueToValueMapTy VMap; local
995 ValueToValueMapTy VMap; local
[all...]
H A DExtractFunction.cpp248 ValueToValueMapTy &VMap) {
279 F = cast<Function>(VMap[F]);
307 ValueToValueMapTy &VMap) {
325 Function *TNOF = cast<Function>(VMap[F[i]]);
247 SplitStaticCtorDtor(const char *GlobalName, Module *M1, Module *M2, ValueToValueMapTy &VMap) argument
306 SplitFunctionsOutOfModule(Module *M, const std::vector<Function *> &F, ValueToValueMapTy &VMap) argument
/freebsd-11-stable/contrib/llvm-project/llvm/include/llvm/ExecutionEngine/Orc/
H A DIndirectionUtils.h442 /// If the VMap argument is non-null, a mapping will be added between F and
447 /// single VMap) before any bodies are moved. This will ensure that references
450 ValueToValueMapTy *VMap = nullptr);
456 /// then it will be looked up via the VMap.
460 void moveFunctionBody(Function &OrigF, ValueToValueMapTy &VMap,
466 ValueToValueMapTy *VMap = nullptr);
472 /// then it will be looked up via the VMap.
477 ValueToValueMapTy &VMap,
483 ValueToValueMapTy &VMap);
487 ValueToValueMapTy &VMap);
[all...]
H A DCompileOnDemandLayer.h451 ValueToValueMapTy VMap; local
455 if (!GV.isDeclaration() && !VMap.count(&GV))
456 cloneGlobalVariableDecl(*GVsM, GV, &VMap);
460 if (!VMap.count(&A))
461 cloneGlobalAliasDecl(*GVsM, A, VMap);
464 cloneModuleFlagsMetadata(*GVsM, SrcM, VMap);
502 moveGlobalVariableInitializer(GV, VMap, &Materializer);
506 auto *NewA = cast<GlobalAlias>(VMap[&A]);
508 Value *Init = MapValue(A.getAliasee(), VMap, RF_None, nullptr,
642 ValueToValueMapTy VMap; local
[all...]
/freebsd-11-stable/contrib/llvm-project/llvm/include/llvm/Analysis/
H A DMemorySSAUpdater.h130 const ValueToValueMapTy &VMap,
285 // (MemoryAccess Phi or Def). VMap maps old instructions to cloned
298 const ValueToValueMapTy &VMap, PhiToDefMap &MPhiMap,
/freebsd-11-stable/contrib/llvm-project/llvm/lib/Transforms/Scalar/
H A DSimpleLoopUnswitch.cpp991 ValueToValueMapTy &VMap,
1001 BasicBlock *NewBB = CloneBasicBlock(OldBB, VMap, ".us", OldBB->getParent());
1006 VMap[OldBB] = NewBB;
1067 assert(VMap.lookup(&I) == &ClonedI && "Mismatch in the value map!");
1085 RemapInstruction(&I, VMap,
1097 if (auto *ClonedSuccBB = cast_or_null<BasicBlock>(VMap.lookup(SuccBB)))
1103 auto *ClonedParentBB = cast<BasicBlock>(VMap.lookup(ParentBB));
1108 auto *ClonedSuccBB = cast_or_null<BasicBlock>(VMap.lookup(SuccBB));
1118 auto *ClonedSuccBB = cast<BasicBlock>(VMap.lookup(UnswitchedSuccBB));
1159 const ValueToValueMapTy &VMap, LoopInf
986 buildClonedLoopBlocks( Loop &L, BasicBlock *LoopPH, BasicBlock *SplitBB, ArrayRef<BasicBlock *> ExitBlocks, BasicBlock *ParentBB, BasicBlock *UnswitchedSuccBB, BasicBlock *ContinueSuccBB, const SmallDenseMap<BasicBlock *, BasicBlock *, 16> &DominatingSucc, ValueToValueMapTy &VMap, SmallVectorImpl<DominatorTree::UpdateType> &DTUpdates, AssumptionCache &AC, DominatorTree &DT, LoopInfo &LI, MemorySSAUpdater *MSSAU) argument
1158 cloneLoopNest(Loop &OrigRootL, Loop *RootParentL, const ValueToValueMapTy &VMap, LoopInfo &LI) argument
1217 buildClonedLoops(Loop &OrigL, ArrayRef<BasicBlock *> ExitBlocks, const ValueToValueMapTy &VMap, LoopInfo &LI, SmallVectorImpl<Loop *> &NonChildClonedLoops) argument
[all...]
H A DLoopUnswitch.cpp165 // Note, that new loop data is stored inside the VMap.
167 const ValueToValueMapTy &VMap);
356 // Note, that new loop data is stored inside the VMap.
358 const ValueToValueMapTy &VMap) {
379 Value *NewI = VMap.lookup(OldInst);
381 assert(NewInst && "All instructions that are in SrcBB must be in VMap.");
1280 ValueToValueMapTy VMap; local
1282 BasicBlock *NewBB = CloneBasicBlock(LoopBlocks[i], VMap, ".us", F);
1285 VMap[LoopBlocks[i]] = NewBB; // Keep the BB mapping.
1296 Loop *NewLoop = CloneLoop(L, L->getParentLoop(), VMap, L
357 cloneData(const Loop *NewLoop, const Loop *OldLoop, const ValueToValueMapTy &VMap) argument
[all...]
/freebsd-11-stable/contrib/llvm-project/llvm/lib/Analysis/
H A DMemorySSAUpdater.cpp546 const ValueToValueMapTy &VMap,
556 cast_or_null<Instruction>(VMap.lookup(DefMUDI))) {
565 // have been found in VMap.
569 &*(--DefIt), VMap, MPhiMap, CloneWasSimplified, MSSA);
583 const ValueToValueMapTy &VMap,
600 dyn_cast_or_null<Instruction>(VMap.lookup(Insn))) {
603 getNewDefiningAccessForClone(MUD->getDefiningAccess(), VMap,
655 const ValueToValueMapTy &VMap,
668 if (BasicBlock *NewIncBB = cast_or_null<BasicBlock>(VMap.lookup(IncBB)))
686 cast_or_null<Instruction>(VMap
545 getNewDefiningAccessForClone(MemoryAccess *MA, const ValueToValueMapTy &VMap, PhiToDefMap &MPhiMap, bool CloneWasSimplified, MemorySSA *MSSA) argument
582 cloneUsesAndDefs(BasicBlock *BB, BasicBlock *NewBB, const ValueToValueMapTy &VMap, PhiToDefMap &MPhiMap, bool CloneWasSimplified) argument
653 updateForClonedLoop(const LoopBlocksRPO &LoopBlocks, ArrayRef<BasicBlock *> ExitBlocks, const ValueToValueMapTy &VMap, bool IgnoreIncomingWithNoClones) argument
760 updateExitBlocksForClonedLoop( ArrayRef<BasicBlock *> ExitBlocks, const ValueToValueMapTy &VMap, DominatorTree &DT) argument
[all...]
/freebsd-11-stable/contrib/llvm-project/llvm/lib/Transforms/Coroutines/
H A DCoroSplit.cpp99 ValueToValueMapTy VMap; member in class:__anon117::CoroCloner
376 auto *Switch = cast<SwitchInst>(VMap[Shape.SwitchLowering.ResumeSwitch]);
420 auto NewS = VMap[ActiveSuspend];
484 auto *MappedCS = cast<AnyCoroSuspendInst>(VMap[CS]);
494 auto NewCE = cast<CoroEndInst>(VMap[CE]);
500 ValueToValueMapTy *VMap) {
529 auto MappedOp = VMap ? cast<CallInst>((*VMap)[Op]) : Op;
552 if (VMap == nullptr) {
558 ::replaceSwiftErrorOps(*NewF, Shape, &VMap);
499 replaceSwiftErrorOps(Function &F, coro::Shape &Shape, ValueToValueMapTy *VMap) argument
[all...]
/freebsd-11-stable/contrib/llvm-project/llvm/lib/Target/AMDGPU/
H A DR600OpenCLImageTypeLoweringPass.cpp307 ValueToValueMapTy VMap; local
312 VMap[&Arg] = &(*NewFArgIt++);
319 CloneFunctionInto(NewF, F, VMap, /*ModuleLevelChanges=*/false, Returns);
/freebsd-11-stable/contrib/llvm-project/llvm/lib/Transforms/IPO/
H A DPartialInlining.cpp973 ValueToValueMapTy VMap; local
974 ClonedFunc = CloneFunction(F, VMap);
976 ClonedOI->ReturnBlock = cast<BasicBlock>(VMap[OI->ReturnBlock]);
977 ClonedOI->NonReturnBlock = cast<BasicBlock>(VMap[OI->NonReturnBlock]);
979 ClonedOI->Entries.push_back(cast<BasicBlock>(VMap[BB]));
982 BasicBlock *NewE = cast<BasicBlock>(VMap[E]);
998 ValueToValueMapTy VMap; local
999 ClonedFunc = CloneFunction(F, VMap);
1007 Region.push_back(cast<BasicBlock>(VMap[BB]));
1009 BasicBlock *NewEntryBlock = cast<BasicBlock>(VMap[RegionInf
[all...]
/freebsd-11-stable/contrib/llvm-project/llvm/lib/Transforms/Instrumentation/
H A DControlHeightReduction.cpp381 ValueToValueMapTy &VMap);
385 ValueToValueMapTy &VMap);
1737 ValueToValueMapTy VMap; local
1741 cloneScopeBlocks(Scope, PreEntryBlock, ExitBlock, LastRegion, VMap);
1746 NewEntryBlock, VMap);
1772 ValueToValueMapTy &VMap) {
1783 BasicBlock *NewBB = CloneBasicBlock(BB, VMap, ".nonchr", &F);
1785 VMap[BB] = NewBB;
1798 RemapInstruction(&I, VMap,
1811 auto It = VMap
1768 cloneScopeBlocks(CHRScope *Scope, BasicBlock *PreEntryBlock, BasicBlock *ExitBlock, Region *LastRegion, ValueToValueMapTy &VMap) argument
1821 createMergedBranch(BasicBlock *PreEntryBlock, BasicBlock *EntryBlock, BasicBlock *NewEntryBlock, ValueToValueMapTy &VMap) argument
[all...]

Completed in 179 milliseconds

12