/freebsd-11-stable/contrib/llvm-project/llvm/lib/Transforms/Utils/ |
H A D | CloneModule.cpp | 37 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 D | CloneFunction.cpp | 40 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 D | LoopUnrollPeel.cpp | 486 /// \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 D | LoopUnrollRuntime.cpp | 71 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 D | LoopVersioning.cpp | 106 cloneLoopWithPreheader(PH, RuntimeCheckBB, VersionedLoop, VMap, 108 remapInstructionsInBlocks(NonVersionedLoopBlocks, VMap); 161 auto Mapped = VMap.find(ClonedValue); 162 if (Mapped != VMap.end())
|
H A D | InlineFunction.cpp | 771 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 D | LoopUnroll.cpp | 67 /// 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 D | SplitModule.cpp | 272 ValueToValueMapTy VMap; local 274 CloneModule(*M, VMap, [&](const GlobalValue *GV) {
|
/freebsd-11-stable/contrib/llvm-project/llvm/include/llvm/Transforms/Utils/ |
H A D | Cloning.h | 53 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 D | LoopVersioning.h | 122 ValueToValueMapTy VMap; member in class:llvm::LoopVersioning
|
/freebsd-11-stable/contrib/llvm-project/llvm/lib/ExecutionEngine/Orc/ |
H A D | IndirectionUtils.cpp | 290 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 D | ThreadSafeModule.cpp | 31 ValueToValueMapTy VMap; local 32 auto Tmp = CloneModule(M, VMap, [&](const GlobalValue *GV) {
|
/freebsd-11-stable/contrib/llvm-project/llvm/tools/bugpoint/ |
H A D | Miscompilation.cpp | 266 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 D | CrashDebugger.cpp | 152 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 D | ExtractFunction.cpp | 248 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 D | IndirectionUtils.h | 442 /// 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 D | CompileOnDemandLayer.h | 451 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 D | MemorySSAUpdater.h | 130 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 D | SimpleLoopUnswitch.cpp | 991 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 D | LoopUnswitch.cpp | 165 // 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 D | MemorySSAUpdater.cpp | 546 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 D | CoroSplit.cpp | 99 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 D | R600OpenCLImageTypeLoweringPass.cpp | 307 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 D | PartialInlining.cpp | 973 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 D | ControlHeightReduction.cpp | 381 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...] |