/freebsd/contrib/llvm-project/llvm/lib/Transforms/Utils/ |
H A D | CloneModule.cpp | 42 ValueToValueMapTy VMap; in CloneModule() local 43 return CloneModule(M, VMap); in CloneModule() 47 ValueToValueMapTy &VMap) { in CloneModule() argument 48 return CloneModule(M, VMap, [](const GlobalValue *GV) { return true; }); in CloneModule() 52 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 | 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() [all …]
|
H A D | LoopUnrollRuntime.cpp | 87 ValueToValueMapTy &VMap, DominatorTree *DT, in ConnectProlog() argument 103 BasicBlock *PrologLatch = cast<BasicBlock>(VMap[Latch]); in ConnectProlog() 135 V = VMap.lookup(I); in ConnectProlog() 214 ValueToValueMapTy &VMap, DominatorTree *DT, in ConnectEpilog() argument 219 BasicBlock *EpilogLatch = cast<BasicBlock>(VMap[Latch]); in ConnectEpilog() 263 V = VMap.lookup(I); in ConnectEpilog() 299 PHINode *VPN = cast<PHINode>(VMap[&PN]); in ConnectEpilog() 344 LoopBlocksDFS &LoopBlocks, ValueToValueMapTy &VMap, in CloneLoopBlocks() argument 359 BasicBlock *NewBB = CloneBasicBlock(*BB, VMap, "." + suffix, F); in CloneLoopBlocks() 364 VMap[*BB] = NewBB; in CloneLoopBlocks() [all …]
|
H A D | LoopPeel.cpp | 754 ValueToValueMapTy &VMap, ValueToValueMapTy &LVMap, DominatorTree *DT, in cloneLoopBlocks() argument 769 BasicBlock *NewBB = CloneBasicBlock(*BB, VMap, ".peel", F); in cloneLoopBlocks() 778 VMap[*BB] = NewBB; in cloneLoopBlocks() 787 DT->addNewBlock(NewBB, cast<BasicBlock>(VMap[IDom->getBlock()])); in cloneLoopBlocks() 804 cloneLoop(ChildLoop, ParentLoop, VMap, LI, nullptr); in cloneLoopBlocks() 811 InsertTop->getTerminator()->setSuccessor(0, cast<BasicBlock>(VMap[Header])); in cloneLoopBlocks() 818 BasicBlock *NewLatch = cast<BasicBlock>(VMap[Latch]); in cloneLoopBlocks() 837 PHINode *NewPHI = cast<PHINode>(VMap[&*I]); in cloneLoopBlocks() 839 VMap[&*I] = NewPHI->getIncomingValueForBlock(PreHeader); in cloneLoopBlocks() 844 VMap[&*I] = LVMap[LatchInst]; in cloneLoopBlocks() [all …]
|
H A D | InlineFunction.cpp | 886 const ValueMap<const Value *, WeakTrackingVH> &VMap) { in propagateMemProfMetadata() argument 894 for (const auto &Entry : VMap) { in propagateMemProfMetadata() 1095 static void AddAliasScopeMetadata(CallBase &CB, ValueToValueMapTy &VMap, in AddAliasScopeMetadata() argument 1160 for (ValueToValueMapTy::iterator VMI = VMap.begin(), VMIE = VMap.end(); in AddAliasScopeMetadata() 1352 ValueToValueMapTy &VMap, in AddParamAndFnBasicAttributes() argument 1381 auto *NewInnerCB = dyn_cast_or_null<CallBase>(VMap.lookup(InnerCB)); in AddParamAndFnBasicAttributes() 1464 static void AddReturnAttributes(CallBase &CB, ValueToValueMapTy &VMap, in AddReturnAttributes() argument 1481 auto *NewRetVal = dyn_cast_or_null<CallBase>(VMap.lookup(RetVal)); in AddReturnAttributes() 1937 const ValueToValueMapTy &VMap, in updateCallerBFI() argument 1942 for (auto Entry : VMap) { in updateCallerBFI() [all …]
|
H A D | LoopVersioning.cpp | 104 cloneLoopWithPreheader(PH, RuntimeCheckBB, VersionedLoop, VMap, in versionLoop() 106 remapInstructionsInBlocks(NonVersionedLoopBlocks, VMap); in versionLoop() 167 auto Mapped = VMap.find(ClonedValue); in addPHINodes() 168 if (Mapped != VMap.end()) in addPHINodes()
|
H A D | LoopUnroll.cpp | 723 ValueToValueMapTy VMap; in UnrollLoop() local 724 BasicBlock *New = CloneBasicBlock(*BB, VMap, "." + Twine(It)); in UnrollLoop() 738 PHINode *NewPHI = cast<PHINode>(VMap[OrigPHI]); in UnrollLoop() 743 VMap[OrigPHI] = InVal; in UnrollLoop() 749 auto it = VMap.find(ULO.Heart); in UnrollLoop() 750 assert(it != VMap.end()); in UnrollLoop() 753 VMap.erase(it); in UnrollLoop() 759 for (ValueToValueMapTy::iterator VI = VMap.begin(), VE = VMap.end(); in UnrollLoop()
|
/freebsd/contrib/llvm-project/llvm/include/llvm/Transforms/Utils/ |
H A D | Cloning.h | 50 std::unique_ptr<Module> CloneModule(const Module &M, ValueToValueMapTy &VMap); 57 CloneModule(const Module &M, ValueToValueMapTy &VMap, 119 BasicBlock *CloneBasicBlock(const BasicBlock *BB, ValueToValueMapTy &VMap, 135 Function *CloneFunction(Function *F, ValueToValueMapTy &VMap, 170 ValueToValueMapTy &VMap, CloneFunctionChangeType Changes, 179 ValueToValueMapTy &VMap, bool ModuleLevelChanges, 196 ValueToValueMapTy &VMap, bool ModuleLevelChanges, 280 Loop *OrigLoop, ValueToValueMapTy &VMap, 287 ValueToValueMapTy &VMap); 306 const ValueMap<const Value *, WeakTrackingVH> *VMap = nullptr);
|
H A D | LoopPeel.h | 28 ValueToValueMapTy &VMap);
|
/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[GVs[i]]); 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[Funcs[i]]); in TestFuncs() 469 ValueToValueMapTy VMap; in TestBlocks() local 470 std::unique_ptr<Module> M = CloneModule(BD.getProgram(), VMap); in TestBlocks() 475 Blocks.insert(cast<BasicBlock>(VMap[BBs[i]])); in TestBlocks() 582 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 | 311 ValueToValueMapTy *VMap) { in cloneFunctionDecl() argument 317 if (VMap) { in cloneFunctionDecl() 318 (*VMap)[&F] = NewF; in cloneFunctionDecl() 322 (*VMap)[&*ArgI] = &*NewArgI; in cloneFunctionDecl() 329 ValueToValueMapTy *VMap) { in cloneGlobalVariableDecl() argument 335 if (VMap) in cloneGlobalVariableDecl() 336 (*VMap)[&GV] = NewGV; in cloneGlobalVariableDecl() 341 ValueToValueMapTy &VMap) { in cloneGlobalAliasDecl() argument 347 VMap[&OrigA] = NewA; in cloneGlobalAliasDecl()
|
H A D | ThreadSafeModule.cpp | 31 ValueToValueMapTy VMap; in cloneToNewContext() local 32 auto Tmp = CloneModule(M, VMap, [&](const GlobalValue *GV) { in cloneToNewContext()
|
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Scalar/ |
H A D | SimpleLoopUnswitch.cpp | 296 ValueToValueMapTy VMap; in buildPartialInvariantUnswitchConditionalBranch() local 301 RemapInstruction(NewInst, VMap, in buildPartialInvariantUnswitchConditionalBranch() 303 VMap[Val] = NewInst; in buildPartialInvariantUnswitchConditionalBranch() 329 Value *Cond = VMap[ToDuplicate[0]]; in buildPartialInvariantUnswitchConditionalBranch() 1172 ValueToValueMapTy &VMap, in buildClonedLoopBlocks() argument 1183 BasicBlock *NewBB = CloneBasicBlock(OldBB, VMap, ".us", OldBB->getParent()); in buildClonedLoopBlocks() 1188 VMap[OldBB] = NewBB; in buildClonedLoopBlocks() 1249 assert(VMap.lookup(&I) == &ClonedI && "Mismatch in the value map!"); in buildClonedLoopBlocks() 1276 RemapDbgRecordRange(M, I.getDbgRecordRange(), VMap, in buildClonedLoopBlocks() 1278 RemapInstruction(&I, VMap, in buildClonedLoopBlocks() 1364 cloneLoopNest(Loop & OrigRootL,Loop * RootParentL,const ValueToValueMapTy & VMap,LoopInfo & LI) cloneLoopNest() argument 1423 buildClonedLoops(Loop & OrigL,ArrayRef<BasicBlock * > ExitBlocks,const ValueToValueMapTy & VMap,LoopInfo & LI,SmallVectorImpl<Loop * > & NonChildClonedLoops) buildClonedLoops() argument 1678 for (const auto &VMap : VMaps) deleteDeadClonedBlocks() local 2408 for (auto &VMap : VMaps) unswitchNontrivialInvariants() local 2480 for (auto &VMap : VMaps) unswitchNontrivialInvariants() local [all...] |
H A D | LoopBoundSplit.cpp | 351 ValueToValueMapTy VMap; in splitLoopBound() local 354 PostLoop = cloneLoopWithPreheader(L.getExitBlock(), SplitLoopPH, &L, VMap, in splitLoopBound() 356 remapInstructionsInBlocks(PostLoopBlocks, VMap); in splitLoopBound() 377 PHINode *PostLoopPN = cast<PHINode>(VMap[&PN]); in splitLoopBound() 423 cast<BranchInst>(VMap[SplitCandidateCond.BI]); in splitLoopBound() 451 PN.addIncoming(VMap[IncomingValue], PostLoop->getExitingBlock()); in splitLoopBound()
|
H A D | DFAJumpThreading.cpp | 1046 ValueToValueMapTy VMap; in cloneBlockAndUpdatePredecessor() local 1048 BB, VMap, ".jt" + std::to_string(NextState.getLimitedValue()), in cloneBlockAndUpdatePredecessor() 1059 RemapInstruction(&I, VMap, in cloneBlockAndUpdatePredecessor() 1065 updateSuccessorPhis(BB, NewBB, NextState, VMap, DuplicateMap); in cloneBlockAndUpdatePredecessor() 1067 updateDefMap(NewDefs, VMap); in cloneBlockAndUpdatePredecessor() 1084 const APInt &NextState, ValueToValueMapTy &VMap, in updateSuccessorPhis() 1124 Value *ClonedVal = VMap[Incoming]; in updateSuccessorPhis() 1156 void updateDefMap(DefMap &NewDefs, ValueToValueMapTy &VMap) { in updateDefMap() 1158 NewDefsVector.reserve(VMap.size()); in updateDefMap() 1160 for (auto Entry : VMap) { in updateDefMap()
|
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() 267 ValueToValueMapTy VMap; member in __anon5f80120c0111::InstPartition
|
/freebsd/contrib/llvm-project/llvm/lib/Analysis/ |
H A D | MemorySSAUpdater.cpp | 569 const ValueToValueMapTy &VMap, in getNewDefiningAccessForClone() argument 578 cast_or_null<Instruction>(VMap.lookup(DefMUDI))) { in getNewDefiningAccessForClone() 583 DefMUD->getDefiningAccess(), VMap, MPhiMap, MSSA); in getNewDefiningAccessForClone() 597 const ValueToValueMapTy &VMap, in cloneUsesAndDefs() argument 614 dyn_cast_or_null<Instruction>(VMap.lookup(Insn))) { in cloneUsesAndDefs() 617 getNewDefiningAccessForClone(MUD->getDefiningAccess(), VMap, in cloneUsesAndDefs() 669 const ValueToValueMapTy &VMap, in updateForClonedLoop() argument 682 if (BasicBlock *NewIncBB = cast_or_null<BasicBlock>(VMap.lookup(IncBB))) in updateForClonedLoop() 696 getNewDefiningAccessForClone(IncomingAccess, VMap, MPhiMap, MSSA), in updateForClonedLoop() 706 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 | 108 ValueToValueMapTy VMap; member in __anon98d7ec870111::CoroCloner 505 auto *Switch = cast<SwitchInst>(VMap[Shape.SwitchLowering.ResumeSwitch]); in handleFinalSuspend() 566 auto NewS = VMap[ActiveSuspend]; in replaceRetconOrAsyncSuspendUses() 641 auto *MappedCS = cast<AnyCoroSuspendInst>(VMap[CS]); in replaceCoroSuspends() 651 auto *NewCE = cast<AnyCoroEndInst>(VMap[CE]); in replaceCoroEnds() 657 ValueToValueMapTy *VMap) { in replaceSwiftErrorOps() argument 683 auto MappedOp = VMap ? cast<CallInst>((*VMap)[Op]) : Op; in replaceSwiftErrorOps() 706 if (VMap == nullptr) { in replaceSwiftErrorOps() 727 ::replaceSwiftErrorOps(*NewF, Shape, &VMap); in replaceSwiftErrorOps() 775 auto *Entry = cast<BasicBlock>(VMap[Shape.AllocaSpillBlock]); in replaceEntryBlock() [all …]
|
/freebsd/contrib/llvm-project/llvm/lib/Transforms/IPO/ |
H A D | PartialInlining.cpp | 952 ValueToValueMapTy VMap; in FunctionCloner() local 953 ClonedFunc = CloneFunction(F, VMap); in FunctionCloner() 955 ClonedOI->ReturnBlock = cast<BasicBlock>(VMap[OI->ReturnBlock]); in FunctionCloner() 956 ClonedOI->NonReturnBlock = cast<BasicBlock>(VMap[OI->NonReturnBlock]); in FunctionCloner() 958 ClonedOI->Entries.push_back(cast<BasicBlock>(VMap[BB])); in FunctionCloner() 961 BasicBlock *NewE = cast<BasicBlock>(VMap[E]); in FunctionCloner() 978 ValueToValueMapTy VMap; in FunctionCloner() local 979 ClonedFunc = CloneFunction(F, VMap); in FunctionCloner() 987 Region.push_back(cast<BasicBlock>(VMap[BB])); in FunctionCloner() 989 BasicBlock *NewEntryBlock = cast<BasicBlock>(VMap[RegionInfo.EntryBlock]); in FunctionCloner() [all …]
|
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Instrumentation/ |
H A D | ControlHeightReduction.cpp | 346 ValueToValueMapTy &VMap); 350 ValueToValueMapTy &VMap); 1732 ValueToValueMapTy VMap; in transformScopes() local 1736 cloneScopeBlocks(Scope, PreEntryBlock, ExitBlock, LastRegion, VMap); in transformScopes() 1741 NewEntryBlock, VMap); in transformScopes() 1767 ValueToValueMapTy &VMap) { in cloneScopeBlocks() argument 1778 BasicBlock *NewBB = CloneBasicBlock(BB, VMap, ".nonchr", &F); in cloneScopeBlocks() 1780 VMap[BB] = NewBB; in cloneScopeBlocks() 1799 RemapInstruction(&I, VMap, in cloneScopeBlocks() 1812 auto It = VMap.find(V); in cloneScopeBlocks() [all …]
|
/freebsd/contrib/llvm-project/llvm/lib/Target/SPIRV/ |
H A D | SPIRVRegularizer.cpp | 206 ValueToValueMapTy VMap; in visitCallScalToVec() local 211 VMap[&Arg] = &(*NewFArgIt++); in visitCallScalToVec() 214 CloneFunctionInto(NewF, OldF, VMap, in visitCallScalToVec()
|
/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()
|
/freebsd/contrib/llvm-project/llvm/include/llvm/Analysis/ |
H A D | MemorySSAUpdater.h | 114 const ValueToValueMapTy &VMap, 282 const ValueToValueMapTy &VMap, PhiToDefMap &MPhiMap,
|