| /freebsd/contrib/llvm-project/llvm/lib/Transforms/Utils/ |
| H A D | CloneModule.cpp | 43 ValueToValueMapTy VMap; in CloneModule() local 44 return CloneModule(M, VMap); in CloneModule() 48 ValueToValueMapTy &VMap) { in CloneModule() argument 49 return CloneModule(M, VMap, [](const GlobalValue *GV) { return true; }); in CloneModule() 53 const Module &M, ValueToValueMapTy &VMap, in CloneModule() argument 76 VMap[&I] = NewGV; in CloneModule() 85 VMap[&I] = NF; in CloneModule() 105 VMap[&I] = GV; in CloneModule() 115 VMap[&I] = GA; in CloneModule() 124 VMap[&I] = GI; in CloneModule() [all …]
|
| H A D | CloneFunction.cpp | 46 void llvm::mapAtomInstance(const DebugLoc &DL, ValueToValueMapTy &VMap) { in mapAtomInstance() argument 53 auto [It, Inserted] = VMap.AtomMap.insert({{DL.getInlinedAt(), CurGroup}, 0}); in mapAtomInstance() 113 BasicBlock *llvm::CloneBasicBlock(const BasicBlock *BB, ValueToValueMapTy &VMap, in CloneBasicBlock() argument 131 VMap[&I] = NewInst; // Add instruction map to value. in CloneBasicBlock() 135 mapAtomInstance(DL.get(), VMap); in CloneBasicBlock() 160 ValueToValueMapTy &VMap, in CloneFunctionAttributesInto() argument 175 NewFunc->setPersonalityFn(MapValue(OldFunc->getPersonalityFn(), VMap, in CloneFunctionAttributesInto() 180 NewFunc->setPrefixData(MapValue(OldFunc->getPrefixData(), VMap, in CloneFunctionAttributesInto() 186 NewFunc->setPrologueData(MapValue(OldFunc->getPrologueData(), VMap, in CloneFunctionAttributesInto() 196 if (Argument *NewArg = dyn_cast<Argument>(VMap[&OldArg])) { in CloneFunctionAttributesInto() [all …]
|
| H A D | LoopUnrollRuntime.cpp | 86 ValueToValueMapTy &VMap, DominatorTree *DT, in ConnectProlog() argument 102 BasicBlock *PrologLatch = cast<BasicBlock>(VMap[Latch]); in ConnectProlog() 134 V = VMap.lookup(I); in ConnectProlog() 213 ValueToValueMapTy &VMap, DominatorTree *DT, in ConnectEpilog() argument 218 BasicBlock *EpilogLatch = cast<BasicBlock>(VMap[Latch]); in ConnectEpilog() 262 V = VMap.lookup(I); in ConnectEpilog() 298 PHINode *VPN = cast<PHINode>(VMap[&PN]); in ConnectEpilog() 343 LoopBlocksDFS &LoopBlocks, ValueToValueMapTy &VMap, in CloneLoopBlocks() argument 358 BasicBlock *NewBB = CloneBasicBlock(*BB, VMap, "." + suffix, F); in CloneLoopBlocks() 363 VMap[*BB] = NewBB; in CloneLoopBlocks() [all …]
|
| H A D | LoopPeel.cpp | 839 ValueToValueMapTy &VMap, ValueToValueMapTy &LVMap, DominatorTree *DT, in cloneLoopBlocks() argument 854 BasicBlock *NewBB = CloneBasicBlock(*BB, VMap, ".peel", F); in cloneLoopBlocks() 863 VMap[*BB] = NewBB; in cloneLoopBlocks() 872 DT->addNewBlock(NewBB, cast<BasicBlock>(VMap[IDom->getBlock()])); in cloneLoopBlocks() 889 cloneLoop(ChildLoop, ParentLoop, VMap, LI, nullptr); in cloneLoopBlocks() 896 InsertTop->getTerminator()->setSuccessor(0, cast<BasicBlock>(VMap[Header])); in cloneLoopBlocks() 900 BasicBlock *NewLatch = cast<BasicBlock>(VMap[Latch]); in cloneLoopBlocks() 934 PHINode *NewPHI = cast<PHINode>(VMap[&*I]); in cloneLoopBlocks() 943 VMap[&*I] = PN; in cloneLoopBlocks() 951 PHINode *NewPHI = cast<PHINode>(VMap[&*I]); in cloneLoopBlocks() [all …]
|
| H A D | LoopUnroll.cpp | 719 ValueToValueMapTy VMap; in UnrollLoop() local 720 BasicBlock *New = CloneBasicBlock(*BB, VMap, "." + Twine(It)); in UnrollLoop() 734 PHINode *NewPHI = cast<PHINode>(VMap[OrigPHI]); in UnrollLoop() 739 VMap[OrigPHI] = InVal; in UnrollLoop() 745 auto it = VMap.find(ULO.Heart); in UnrollLoop() 746 assert(it != VMap.end()); in UnrollLoop() 749 VMap.erase(it); in UnrollLoop() 757 if (!VMap.AtomMap.empty()) in UnrollLoop() 759 RemapSourceAtom(&I, VMap); in UnrollLoop() 763 for (ValueToValueMapTy::iterator VI = VMap.begin(), VE = VMap.end(); in UnrollLoop()
|
| H A D | InlineFunction.cpp | 907 const ValueMap<const Value *, WeakTrackingVH> &VMap, in propagateMemProfMetadata() argument 916 for (const auto &Entry : VMap) { in propagateMemProfMetadata() 1117 static void AddAliasScopeMetadata(CallBase &CB, ValueToValueMapTy &VMap, in AddAliasScopeMetadata() argument 1182 for (ValueToValueMapTy::iterator VMI = VMap.begin(), VMIE = VMap.end(); in AddAliasScopeMetadata() 1374 ValueToValueMapTy &VMap, in AddParamAndFnBasicAttributes() argument 1422 auto *NewInnerCB = dyn_cast_or_null<CallBase>(VMap.lookup(InnerCB)); in AddParamAndFnBasicAttributes() 1550 static void AddReturnAttributes(CallBase &CB, ValueToValueMapTy &VMap, in AddReturnAttributes() argument 1567 auto *NewRetVal = dyn_cast_or_null<CallBase>(VMap.lookup(RetVal)); in AddReturnAttributes() 2025 const ValueToValueMapTy &VMap, in updateCallerBFI() argument 2030 for (auto Entry : VMap) { in updateCallerBFI() [all …]
|
| H A D | LoopVersioning.cpp | 103 cloneLoopWithPreheader(PH, RuntimeCheckBB, VersionedLoop, VMap, in versionLoop() 105 remapInstructionsInBlocks(NonVersionedLoopBlocks, VMap); in versionLoop() 166 auto Mapped = VMap.find(ClonedValue); in addPHINodes() 167 if (Mapped != VMap.end()) in addPHINodes()
|
| H A D | BreakCriticalEdges.cpp | 406 ValueToValueMapTy VMap; in SplitIndirectBrCriticalEdges() local 407 BasicBlock *DirectSucc = CloneBasicBlock(Target, VMap, ".clone", &F); in SplitIndirectBrCriticalEdges() 408 if (!VMap.AtomMap.empty()) in SplitIndirectBrCriticalEdges() 410 RemapSourceAtom(&I, VMap); in SplitIndirectBrCriticalEdges()
|
| /freebsd/contrib/llvm-project/llvm/include/llvm/Transforms/Utils/ |
| H A D | Cloning.h | 55 ValueToValueMapTy &VMap); 62 CloneModule(const Module &M, ValueToValueMapTy &VMap, 133 CloneBasicBlock(const BasicBlock *BB, ValueToValueMapTy &VMap, 139 LLVM_ABI void mapAtomInstance(const DebugLoc &DL, ValueToValueMapTy &VMap); 152 LLVM_ABI Function *CloneFunction(Function *F, ValueToValueMapTy &VMap, 187 ValueToValueMapTy &VMap, 199 ValueToValueMapTy &VMap, bool ModuleLevelChanges, 213 ValueToValueMapTy &VMap, RemapFlags RemapFlag, 220 Function &NewFunc, const Function &OldFunc, ValueToValueMapTy &VMap, 229 ValueToValueMapTy &VMap, bool ModuleLevelChanges, [all …]
|
| /freebsd/contrib/llvm-project/llvm/tools/bugpoint/ |
| H A D | Miscompilation.cpp | 266 ValueToValueMapTy VMap; in TestFuncs() local 267 std::unique_ptr<Module> Clone = CloneModule(BD.getProgram(), VMap); in TestFuncs() 272 Function *F = cast<Function>(VMap[Funcs[i]]); in TestFuncs() 277 VMap.clear(); in TestFuncs() 278 std::unique_ptr<Module> ToNotOptimize = CloneModule(BD.getProgram(), VMap); in TestFuncs() 280 SplitFunctionsOutOfModule(ToNotOptimize.get(), FuncsOnClone, VMap); in TestFuncs() 315 ValueToValueMapTy VMap; in ExtractLoops() local 316 std::unique_ptr<Module> ToNotOptimize = CloneModule(BD.getProgram(), VMap); in ExtractLoops() 318 ToNotOptimize.get(), MiscompiledFunctions, VMap); in ExtractLoops() 345 MiscompiledFunctions[i] = cast<Function>(VMap[MiscompiledFunctions[i]]); in ExtractLoops() [all …]
|
| H A D | CrashDebugger.cpp | 164 ValueToValueMapTy VMap; in TestGlobalVariables() local 165 std::unique_ptr<Module> M = CloneModule(BD.getProgram(), VMap); in TestGlobalVariables() 171 GlobalVariable *CMGV = cast<GlobalVariable>(VMap[GV]); in TestGlobalVariables() 258 ValueToValueMapTy VMap; in TestFuncs() local 259 std::unique_ptr<Module> M = CloneModule(BD.getProgram(), VMap); in TestFuncs() 264 Function *CMF = cast<Function>(VMap[Func]); in TestFuncs() 466 ValueToValueMapTy VMap; in TestBlocks() local 467 std::unique_ptr<Module> M = CloneModule(BD.getProgram(), VMap); in TestBlocks() 472 Blocks.insert(cast<BasicBlock>(VMap[BB])); in TestBlocks() 579 ValueToValueMapTy VMap; in TestBlocks() local [all …]
|
| H A D | ExtractFunction.cpp | 247 ValueToValueMapTy &VMap) { in SplitStaticCtorDtor() argument 278 F = cast<Function>(VMap[F]); in SplitStaticCtorDtor() 306 ValueToValueMapTy &VMap) { in SplitFunctionsOutOfModule() argument 324 Function *TNOF = cast<Function>(VMap[F[i]]); in SplitFunctionsOutOfModule()
|
| /freebsd/contrib/llvm-project/llvm/lib/ExecutionEngine/Orc/ |
| H A D | IndirectionUtils.cpp | 340 ValueToValueMapTy *VMap) { in cloneFunctionDecl() argument 346 if (VMap) { in cloneFunctionDecl() 347 (*VMap)[&F] = NewF; in cloneFunctionDecl() 351 (*VMap)[&*ArgI] = &*NewArgI; in cloneFunctionDecl() 358 ValueToValueMapTy *VMap) { in cloneGlobalVariableDecl() argument 364 if (VMap) in cloneGlobalVariableDecl() 365 (*VMap)[&GV] = NewGV; in cloneGlobalVariableDecl() 370 ValueToValueMapTy &VMap) { in cloneGlobalAliasDecl() argument 376 VMap[&OrigA] = NewA; in cloneGlobalAliasDecl()
|
| H A D | ThreadSafeModule.cpp | 32 ValueToValueMapTy VMap; in cloneToContext() local 33 auto Tmp = CloneModule(M, VMap, [&](const GlobalValue *GV) { in cloneToContext()
|
| /freebsd/contrib/llvm-project/llvm/lib/Transforms/Scalar/ |
| H A D | SimpleLoopUnswitch.cpp | 297 ValueToValueMapTy VMap; in buildPartialInvariantUnswitchConditionalBranch() local 303 mapAtomInstance(DL, VMap); in buildPartialInvariantUnswitchConditionalBranch() 306 RemapInstruction(NewInst, VMap, in buildPartialInvariantUnswitchConditionalBranch() 308 VMap[Val] = NewInst; in buildPartialInvariantUnswitchConditionalBranch() 335 Value *Cond = VMap[ToDuplicate[0]]; in buildPartialInvariantUnswitchConditionalBranch() 1177 ValueToValueMapTy &VMap, in buildClonedLoopBlocks() argument 1188 BasicBlock *NewBB = CloneBasicBlock(OldBB, VMap, ".us", OldBB->getParent()); in buildClonedLoopBlocks() 1193 VMap[OldBB] = NewBB; in buildClonedLoopBlocks() 1254 assert(VMap.lookup(&I) == &ClonedI && "Mismatch in the value map!"); in buildClonedLoopBlocks() 1281 RemapDbgRecordRange(M, I.getDbgRecordRange(), VMap, in buildClonedLoopBlocks() [all …]
|
| H A D | LoopBoundSplit.cpp | 350 ValueToValueMapTy VMap; in splitLoopBound() local 353 PostLoop = cloneLoopWithPreheader(L.getExitBlock(), SplitLoopPH, &L, VMap, in splitLoopBound() 355 remapInstructionsInBlocks(PostLoopBlocks, VMap); in splitLoopBound() 376 PHINode *PostLoopPN = cast<PHINode>(VMap[&PN]); in splitLoopBound() 422 cast<BranchInst>(VMap[SplitCandidateCond.BI]); in splitLoopBound() 450 PN.addIncoming(VMap[IncomingValue], PostLoop->getExitingBlock()); in splitLoopBound()
|
| H A D | LoopDistribute.cpp | 183 VMap, Twine(".ldist") + Twine(Index), in cloneLoopWithPreheader() 201 ValueToValueMapTy &getVMap() { return VMap; } in getVMap() 205 remapInstructionsInBlocks(ClonedLoopBlocks, VMap); in remapInstructions() 217 if (!VMap.empty()) in removeUnusedInsts() 218 NewInst = cast<Instruction>(VMap[NewInst]); in removeUnusedInsts() 268 ValueToValueMapTy VMap; member in __anon5f80120c0111::InstPartition
|
| H A D | DFAJumpThreading.cpp | 1086 ValueToValueMapTy VMap; in cloneBlockAndUpdatePredecessor() local 1088 BB, VMap, ".jt" + std::to_string(NextState.getLimitedValue()), in cloneBlockAndUpdatePredecessor() 1099 RemapInstruction(&I, VMap, in cloneBlockAndUpdatePredecessor() 1105 updateSuccessorPhis(BB, NewBB, NextState, VMap, DuplicateMap); in cloneBlockAndUpdatePredecessor() 1107 updateDefMap(NewDefs, VMap); in cloneBlockAndUpdatePredecessor() 1124 const APInt &NextState, ValueToValueMapTy &VMap, in updateSuccessorPhis() 1164 Value *ClonedVal = VMap[Incoming]; in updateSuccessorPhis() 1196 void updateDefMap(DefMap &NewDefs, ValueToValueMapTy &VMap) { in updateDefMap() 1198 NewDefsVector.reserve(VMap.size()); in updateDefMap() 1200 for (auto Entry : VMap) { in updateDefMap()
|
| /freebsd/contrib/llvm-project/llvm/lib/Analysis/ |
| H A D | MemorySSAUpdater.cpp | 569 MemoryAccess *MA, const ValueToValueMapTy &VMap, PhiToDefMap &MPhiMap, in getNewDefiningAccessForClone() argument 582 auto *NewDefMUDI = cast_or_null<Instruction>(VMap.lookup(DefMUDI)); in getNewDefiningAccessForClone() 587 DefMUD->getDefiningAccess(), VMap, MPhiMap, MSSA, IsInClonedRegion); in getNewDefiningAccessForClone() 599 BasicBlock *BB, BasicBlock *NewBB, const ValueToValueMapTy &VMap, in cloneUsesAndDefs() argument 616 dyn_cast_or_null<Instruction>(VMap.lookup(Insn))) { in cloneUsesAndDefs() 619 getNewDefiningAccessForClone(MUD->getDefiningAccess(), VMap, in cloneUsesAndDefs() 671 const ValueToValueMapTy &VMap, in updateForClonedLoop() argument 688 if (BasicBlock *NewIncBB = cast_or_null<BasicBlock>(VMap.lookup(IncBB))) in updateForClonedLoop() 701 NewPhi->addIncoming(getNewDefiningAccessForClone(IncomingAccess, VMap, in updateForClonedLoop() 713 BasicBlock *NewBlock = cast_or_null<BasicBlock>(VMap.lookup(BB)); in updateForClonedLoop() [all …]
|
| /freebsd/contrib/llvm-project/llvm/lib/Transforms/Coroutines/ |
| H A D | CoroSplit.cpp | 414 auto *Switch = cast<SwitchInst>(VMap[Shape.SwitchLowering.ResumeSwitch]); in handleFinalSuspend() 475 auto NewS = VMap[ActiveSuspend]; in replaceRetconOrAsyncSuspendUses() 550 auto *MappedCS = cast<AnyCoroSuspendInst>(VMap[CS]); in replaceCoroSuspends() 560 auto *NewCE = cast<AnyCoroEndInst>(VMap[CE]); in replaceCoroEnds() 566 ValueToValueMapTy *VMap) { in replaceSwiftErrorOps() argument 593 auto MappedOp = VMap ? cast<CallInst>((*VMap)[Op]) : Op; in replaceSwiftErrorOps() 616 if (VMap == nullptr) { in replaceSwiftErrorOps() 637 ::replaceSwiftErrorOps(*NewF, Shape, &VMap); in replaceSwiftErrorOps() 682 auto *Entry = cast<BasicBlock>(VMap[Shape.AllocaSpillBlock]); in replaceEntryBlock() 705 cast<BasicBlock>(VMap[Shape.SwitchLowering.ResumeEntryBlock]); in replaceEntryBlock() [all …]
|
| /freebsd/contrib/llvm-project/llvm/lib/Transforms/IPO/ |
| H A D | PartialInlining.cpp | 944 ValueToValueMapTy VMap; in FunctionCloner() local 945 ClonedFunc = CloneFunction(F, VMap); in FunctionCloner() 947 ClonedOI->ReturnBlock = cast<BasicBlock>(VMap[OI->ReturnBlock]); in FunctionCloner() 948 ClonedOI->NonReturnBlock = cast<BasicBlock>(VMap[OI->NonReturnBlock]); in FunctionCloner() 950 ClonedOI->Entries.push_back(cast<BasicBlock>(VMap[BB])); in FunctionCloner() 953 BasicBlock *NewE = cast<BasicBlock>(VMap[E]); in FunctionCloner() 970 ValueToValueMapTy VMap; in FunctionCloner() local 971 ClonedFunc = CloneFunction(F, VMap); in FunctionCloner() 979 Region.push_back(cast<BasicBlock>(VMap[BB])); in FunctionCloner() 981 BasicBlock *NewEntryBlock = cast<BasicBlock>(VMap[RegionInfo.EntryBlock]); in FunctionCloner() [all …]
|
| /freebsd/contrib/llvm-project/llvm/lib/Transforms/Instrumentation/ |
| H A D | ControlHeightReduction.cpp | 344 ValueToValueMapTy &VMap); 348 ValueToValueMapTy &VMap); 1722 ValueToValueMapTy VMap; in transformScopes() local 1726 cloneScopeBlocks(Scope, PreEntryBlock, ExitBlock, LastRegion, VMap); in transformScopes() 1731 NewEntryBlock, VMap); in transformScopes() 1757 ValueToValueMapTy &VMap) { in cloneScopeBlocks() argument 1768 BasicBlock *NewBB = CloneBasicBlock(BB, VMap, ".nonchr", &F); in cloneScopeBlocks() 1770 VMap[BB] = NewBB; in cloneScopeBlocks() 1789 RemapInstruction(&I, VMap, in cloneScopeBlocks() 1802 auto It = VMap.find(V); in cloneScopeBlocks() [all …]
|
| /freebsd/contrib/llvm-project/llvm/lib/Target/SPIRV/ |
| H A D | SPIRVRegularizer.cpp | 201 ValueToValueMapTy VMap; in visitCallScalToVec() local 206 VMap[&Arg] = &(*NewFArgIt++); in visitCallScalToVec() 209 CloneFunctionInto(NewF, OldF, VMap, in visitCallScalToVec()
|
| /freebsd/contrib/llvm-project/llvm/include/llvm/Analysis/ |
| H A D | MemorySSAUpdater.h | 116 const ValueToValueMapTy &VMap, 288 const ValueToValueMapTy &VMap, PhiToDefMap &MPhiMap,
|
| /freebsd/contrib/llvm-project/llvm/lib/Target/AMDGPU/ |
| H A D | R600OpenCLImageTypeLoweringPass.cpp | 292 ValueToValueMapTy VMap; in addImplicitArgs() local 297 VMap[&Arg] = &(*NewFArgIt++); in addImplicitArgs() 304 CloneFunctionInto(NewF, F, VMap, CloneFunctionChangeType::LocalChangesOnly, in addImplicitArgs()
|