| /llvm-project-15.0.7/llvm/include/llvm/Transforms/Scalar/ |
| H A D | SROA.h | 26 class AllocaInst; variable 76 SetVector<AllocaInst *, SmallVector<AllocaInst *, 16>> Worklist; 91 SetVector<AllocaInst *, SmallVector<AllocaInst *, 16>> PostPromotionWorklist; 94 std::vector<AllocaInst *> PromotableAllocas; 125 bool presplitLoadsAndStores(AllocaInst &AI, sroa::AllocaSlices &AS); 126 AllocaInst *rewritePartition(AllocaInst &AI, sroa::AllocaSlices &AS, 128 bool splitAlloca(AllocaInst &AI, sroa::AllocaSlices &AS); 129 bool runOnAlloca(AllocaInst &AI); 131 bool deleteDeadInstructions(SmallPtrSetImpl<AllocaInst *> &DeletedAllocas);
|
| /llvm-project-15.0.7/llvm/include/llvm/Transforms/Utils/ |
| H A D | MemoryTaggingSupport.h | 26 class AllocaInst; variable 50 AllocaInst *AI; 57 MapVector<AllocaInst *, AllocaInfo> AllocasToInstrument; 65 StackInfoBuilder(std::function<bool(const AllocaInst &)> IsInterestingAlloca) in StackInfoBuilder() 73 std::function<bool(const AllocaInst &)> IsInterestingAlloca; 76 uint64_t getAllocaSizeInBytes(const AllocaInst &AI);
|
| H A D | PromoteMemToReg.h | 20 class AllocaInst; variable 30 bool isAllocaPromotable(const AllocaInst *AI); 39 void PromoteMemToReg(ArrayRef<AllocaInst *> Allocas, DominatorTree &DT,
|
| H A D | CodeExtractor.h | 25 class AllocaInst; variable 48 SmallVector<AllocaInst *, 16> Allocas; 65 ArrayRef<AllocaInst *> getAllocas() const { return Allocas; } in getAllocas() 69 bool doesBlockContainClobberOfAddr(BasicBlock &BB, AllocaInst *Addr) const;
|
| H A D | ASanStackFrameLayout.h | 19 class AllocaInst; variable 37 AllocaInst *AI; // The actual AllocaInst.
|
| /llvm-project-15.0.7/llvm/lib/Transforms/Utils/ |
| H A D | DemoteRegToStack.cpp | 22 AllocaInst *llvm::DemoteRegToStack(Instruction &I, bool VolatileLoads, in DemoteRegToStack() 33 AllocaInst *Slot; in DemoteRegToStack() 35 Slot = new AllocaInst(I.getType(), DL.getAllocaAddrSpace(), nullptr, in DemoteRegToStack() 38 Slot = new AllocaInst(I.getType(), DL.getAllocaAddrSpace(), nullptr, in DemoteRegToStack() 109 AllocaInst *llvm::DemotePHIToStack(PHINode *P, Instruction *AllocaPoint) { in DemotePHIToStack() 118 AllocaInst *Slot; in DemotePHIToStack() 120 Slot = new AllocaInst(P->getType(), DL.getAllocaAddrSpace(), nullptr, in DemotePHIToStack() 124 Slot = new AllocaInst(P->getType(), DL.getAllocaAddrSpace(), nullptr, in DemotePHIToStack()
|
| H A D | PromoteMemoryToRegister.cpp | 63 bool llvm::isAllocaPromotable(const AllocaInst *AI) { in isAllocaPromotable() 126 void AnalyzeAlloca(AllocaInst *AI) { in AnalyzeAlloca() 224 std::vector<AllocaInst *> Allocas; 235 DenseMap<AllocaInst *, unsigned> AllocaLookup; 265 PromoteMem2Reg(ArrayRef<AllocaInst *> Allocas, DominatorTree &DT, in PromoteMem2Reg() 288 void ComputeLiveInBlocks(AllocaInst *AI, AllocaInfo &Info, 312 static void removeIntrinsicUsers(AllocaInst *AI) { in removeIntrinsicUsers() 557 AllocaInst *AI = Allocas[AllocaNum]; in run() 787 AllocaInst *AI, AllocaInfo &Info, in ComputeLiveInBlocks() 950 AllocaInst *Src = dyn_cast<AllocaInst>(LI->getPointerOperand()); in RenamePass() [all …]
|
| H A D | MemoryTaggingSupport.cpp | 116 if (AllocaInst *AI = dyn_cast<AllocaInst>(&Inst)) { in visit() 125 AllocaInst *AI = findAllocaForValue(II->getArgOperand(1)); in visit() 140 if (auto *AI = dyn_cast_or_null<AllocaInst>(V)) { in visit() 155 uint64_t getAllocaSizeInBytes(const AllocaInst &AI) { in getAllocaSizeInBytes() 180 new AllocaInst(TypeWithPadding, Info.AI->getType()->getAddressSpace(), in alignAndPadAlloca()
|
| H A D | Mem2Reg.cpp | 37 std::vector<AllocaInst *> Allocas; in promoteMemoryToRegister() 47 if (AllocaInst *AI = dyn_cast<AllocaInst>(I)) // Is it an alloca? in promoteMemoryToRegister()
|
| /llvm-project-15.0.7/llvm/lib/CodeGen/ |
| H A D | SafeStack.cpp | 168 AllocaInst * 384 if (auto AI = dyn_cast<AllocaInst>(&I)) { in findInsts() 428 AllocaInst * 443 AllocaInst *DynamicTop = nullptr; in createStackRestorePoints() 490 AllocaInst *StackGuardSlot) { in moveStaticAllocasToUnsafeStack() 531 for (AllocaInst *AI : StaticAllocas) { in moveStaticAllocasToUnsafeStack() 596 for (AllocaInst *AI : StaticAllocas) { in moveStaticAllocasToUnsafeStack() 656 ArrayRef<AllocaInst *> DynamicAllocas) { in moveDynamicAllocasToUnsafeStack() 659 for (AllocaInst *AI : DynamicAllocas) { in moveDynamicAllocasToUnsafeStack() 759 SmallVector<AllocaInst *, 16> StaticAllocas; in run() [all …]
|
| H A D | GCRootLowering.cpp | 126 if (isa<AllocaInst>(I) || isa<GetElementPtrInst>(I) || isa<StoreInst>(I) || in CouldBecomeSafePoint() 140 static bool InsertRootInitializers(Function &F, ArrayRef<AllocaInst *> Roots) { in InsertRootInitializers() 143 while (isa<AllocaInst>(IP)) in InsertRootInitializers() 147 SmallPtrSet<AllocaInst *, 16> InitedRoots; in InsertRootInitializers() 150 if (AllocaInst *AI = in InsertRootInitializers() 151 dyn_cast<AllocaInst>(SI->getOperand(1)->stripPointerCasts())) in InsertRootInitializers() 157 for (AllocaInst *Root : Roots) in InsertRootInitializers() 189 SmallVector<AllocaInst *, 32> Roots; in DoLowering() 223 cast<AllocaInst>(CI->getArgOperand(0)->stripPointerCasts())); in DoLowering()
|
| H A D | StackColoring.cpp | 703 const AllocaInst *Allocation = MFI->getObjectAllocation(Slot); in collectMarkers() 785 const AllocaInst *Allocation = MFI->getObjectAllocation(Slot); in collectMarkers() 949 DenseMap<const AllocaInst*, const AllocaInst*> Allocas; in remapInstructions() 952 SmallPtrSet<const AllocaInst*, 32> MergedAllocas; in remapInstructions() 955 const AllocaInst *From = MFI->getObjectAllocation(SI.first); in remapInstructions() 956 const AllocaInst *To = MFI->getObjectAllocation(SI.second); in remapInstructions() 963 const_cast<AllocaInst*>(To)->moveBefore(const_cast<AllocaInst*>(From)); in remapInstructions() 971 Instruction *Inst = const_cast<AllocaInst *>(To); in remapInstructions() 996 AllocaInst *FromAI = const_cast<AllocaInst *>(From); in remapInstructions() 1025 const AllocaInst *AI = dyn_cast_or_null<AllocaInst>(MMO->getValue()); in remapInstructions() [all …]
|
| H A D | ShadowStackGCLowering.cpp | 63 std::vector<std::pair<CallInst *, AllocaInst *>> Roots; 164 for (const std::pair<CallInst *, AllocaInst *> &Root : Roots) in GetConcreteStackEntryType() 239 SmallVector<std::pair<CallInst *, AllocaInst *>, 16> MetaRoots; in CollectRoots() 246 std::pair<CallInst *, AllocaInst *> Pair = std::make_pair( in CollectRoots() 248 cast<AllocaInst>(CI->getArgOperand(0)->stripPointerCasts())); in CollectRoots() 323 while (isa<AllocaInst>(IP)) in runOnFunction() 341 AllocaInst *OriginalAlloca = Roots[I].second; in runOnFunction() 379 for (std::pair<CallInst *, AllocaInst *> &Root : Roots) { in runOnFunction()
|
| H A D | StackProtector.cpp | 306 if (const AllocaInst *AI = dyn_cast<AllocaInst>(&I)) { in RequiresStackProtector() 418 const TargetLoweringBase *TLI, AllocaInst *&AI) { in CreatePrologue() 443 AllocaInst *AI = nullptr; // Place on stack that stores the stack guard. in InsertStackProtectors() 466 AI = cast<AllocaInst>(SPCall->getArgOperand(1)); in InsertStackProtectors() 607 const AllocaInst *AI = MFI.getObjectAllocation(I); in copyToMachineFrameInfo()
|
| /llvm-project-15.0.7/llvm/include/llvm/Analysis/ |
| H A D | StackLifetime.h | 23 class AllocaInst; variable 104 ArrayRef<const AllocaInst *> Allocas; 106 DenseMap<const AllocaInst *, unsigned> AllocaNumbering; 135 StackLifetime(const Function &F, ArrayRef<const AllocaInst *> Allocas, 152 const LiveRange &getLiveRange(const AllocaInst *AI) const; 158 bool isAliveAfter(const AllocaInst *AI, const Instruction *I) const;
|
| /llvm-project-15.0.7/llvm/lib/Analysis/ |
| H A D | StackLifetime.cpp | 35 StackLifetime::getLiveRange(const AllocaInst *AI) const { in getLiveRange() 45 bool StackLifetime::isAliveAfter(const AllocaInst *AI, in isAliveAfter() 64 static const AllocaInst *findMatchingAlloca(const IntrinsicInst &II, in findMatchingAlloca() 66 const AllocaInst *AI = findAllocaForValue(II.getArgOperand(1), true); in findMatchingAlloca() 99 const AllocaInst *AI = findMatchingAlloca(*II, DL); in collectMarkers() 303 ArrayRef<const AllocaInst *> Allocas, in StackLifetime() 387 SmallVector<const AllocaInst *, 8> Allocas; in run() 389 if (const AllocaInst *AI = dyn_cast<AllocaInst>(&I)) in run()
|
| H A D | StackSafetyAnalysis.cpp | 154 ConstantRange getStaticAllocaSizeRange(const AllocaInst &AI) { in getStaticAllocaSizeRange() 184 std::map<const AllocaInst *, UseInfo<CalleeTy>> Allocas; 210 if (const AllocaInst *AI = dyn_cast<AllocaInst>(&I)) { in print() 232 SmallPtrSet<const AllocaInst *, 8> SafeAllocas; 258 bool isSafeAccess(const Use &U, AllocaInst *AI, Value *V); 259 bool isSafeAccess(const Use &U, AllocaInst *AI, TypeSize AccessSize); 399 AllocaInst *AI = dyn_cast<AllocaInst>(Ptr); in analyzeAllUses() 528 SmallVector<AllocaInst *, 64> Allocas; in run() 530 if (auto *AI = dyn_cast<AllocaInst>(&I)) in run() 891 const AllocaInst *AI = KV.first; in getInfo() [all …]
|
| /llvm-project-15.0.7/llvm/unittests/Transforms/Utils/ |
| H A D | CallPromotionUtilsTest.cpp | 59 auto *AI = dyn_cast<AllocaInst>(Inst); in TEST() 193 auto *AI = dyn_cast<AllocaInst>(Inst); in TEST() 235 auto *AI = dyn_cast<AllocaInst>(Inst); in TEST() 294 auto *AI = dyn_cast<AllocaInst>(Inst); in TEST() 312 AI = dyn_cast<AllocaInst>(Inst); in TEST() 362 auto *AI = dyn_cast<AllocaInst>(Inst); in TEST()
|
| /llvm-project-15.0.7/llvm/lib/Target/AArch64/ |
| H A D | AArch64StackTagging.cpp | 309 bool isInterestingAlloca(const AllocaInst &AI); 311 void tagAlloca(AllocaInst *AI, Instruction *InsertBefore, Value *Ptr, 313 void untagAlloca(AllocaInst *AI, Instruction *InsertBefore, uint64_t Size); 319 const MapVector<AllocaInst *, memtag::AllocaInfo> &Allocas, 416 bool AArch64StackTagging::isInterestingAlloca(const AllocaInst &AI) { in isInterestingAlloca() 432 void AArch64StackTagging::tagAlloca(AllocaInst *AI, Instruction *InsertBefore, in tagAlloca() 454 void AArch64StackTagging::untagAlloca(AllocaInst *AI, Instruction *InsertBefore, in untagAlloca() 462 const MapVector<AllocaInst *, memtag::AllocaInfo> &AllocasToInstrument, in insertBaseTaggedPointer() argument 468 AllocaInst *AI = Info.AI; in insertBaseTaggedPointer() 499 [this](const AllocaInst &AI) { return isInterestingAlloca(AI); }); in runOnFunction() [all …]
|
| /llvm-project-15.0.7/llvm/lib/Target/AMDGPU/ |
| H A D | AMDGPUPromoteAlloca.cpp | 59 bool handleAlloca(AllocaInst &I, bool SufficientLDS); 101 bool handleAlloca(AllocaInst &I, bool SufficientLDS); 193 SmallVector<AllocaInst *, 16> Allocas; in run() 195 if (AllocaInst *AI = dyn_cast<AllocaInst>(&I)) in run() 199 for (AllocaInst *AI : Allocas) { in run() 349 static Value *GEPToVectorIndex(GetElementPtrInst *GEP, AllocaInst *Alloca, in GEPToVectorIndex() 568 if (!isa<AllocaInst>(OtherObj)) in binaryOpIsDerivedFromSameAlloca() 1070 bool handlePromoteAllocaToVector(AllocaInst &I, unsigned MaxVGPRs) { in handlePromoteAllocaToVector() 1105 SmallVector<AllocaInst *, 16> Allocas; in promoteAllocasToVector() 1107 if (AllocaInst *AI = dyn_cast<AllocaInst>(&I)) in promoteAllocasToVector() [all …]
|
| /llvm-project-15.0.7/polly/include/polly/CodeGen/ |
| H A D | LoopGenerators.h | 21 using llvm::AllocaInst; 192 AllocaInst *storeValuesIntoStruct(SetVector<Value *> &Values); 240 createSubFn(Value *Stride, AllocaInst *Struct, SetVector<Value *> UsedValues,
|
| /llvm-project-15.0.7/lldb/source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/ |
| H A D | RenderScriptx86ABIFixups.cpp | 164 llvm::AllocaInst *return_value_alloc = new llvm::AllocaInst( in fixupX86StructRetCalls() 176 llvm::AllocaInst *new_func_ptr = in fixupX86StructRetCalls() 177 new llvm::AllocaInst(new_func_ptr_type, DL.getAllocaAddrSpace(), in fixupX86StructRetCalls()
|
| /llvm-project-15.0.7/llvm/lib/Target/NVPTX/ |
| H A D | NVPTXAllocaHoisting.cpp | 47 AllocaInst *allocaInst = dyn_cast<AllocaInst>(BI++); in runOnFunction()
|
| /llvm-project-15.0.7/llvm/lib/Transforms/Coroutines/ |
| H A D | CoroFrame.cpp | 304 AllocaInst *Alloca; 307 AllocaInfo(AllocaInst *Alloca, in AllocaInfo() 613 AllocaInst *Alloca = A.Alloca; in addFieldForAllocas() 652 auto IsAllocaInferenre = [&](const AllocaInst *AI1, const AllocaInst *AI2) { in addFieldForAllocas() 670 AllocaInst *Alloca = A.Alloca; in addFieldForAllocas() 1743 AllocaInst *Alloca = P.Alloca; in insertSpills() 1763 AllocaInst *Alloca = A.Alloca; in insertSpills() 1785 AllocaInst *Alloca = A.Alloca; in insertSpills() 2456 AllocaInst* AI = dyn_cast<AllocaInst>(&I); in sinkLifetimeStartMarkers() 2530 auto *AI = dyn_cast<AllocaInst>(&I); in collectFrameAllocas() [all …]
|
| /llvm-project-15.0.7/llvm/include/llvm/CodeGen/ |
| H A D | MachineFrameInfo.h | 27 class AllocaInst; variable 163 const AllocaInst *Alloca; 184 bool IsImmutable, bool IsSpillSlot, const AllocaInst *Alloca, 502 const AllocaInst* getObjectAllocation(int ObjectIdx) const { in getObjectAllocation() 761 const AllocaInst *Alloca = nullptr, uint8_t ID = 0); 776 int CreateVariableSizedObject(Align Alignment, const AllocaInst *Alloca);
|