|
reference, declaration → definition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced
|
Declarations
include/llvm/Analysis/MemoryBuiltins.h 31 class AllocaInst;
include/llvm/CodeGen/FastISel.h 36 class AllocaInst;
include/llvm/CodeGen/GlobalISel/IRTranslator.h 35 class AllocaInst;
include/llvm/CodeGen/MachineFrameInfo.h 27 class AllocaInst;
include/llvm/CodeGen/WinEHFuncInfo.h 25 class AllocaInst;
include/llvm/IR/Instruction.def 171 HANDLE_MEMORY_INST(31, Alloca, AllocaInst) // Stack management
include/llvm/Transforms/Scalar/SROA.h 25 class AllocaInst;
include/llvm/Transforms/Utils/ASanStackFrameLayout.h 19 class AllocaInst;
include/llvm/Transforms/Utils/Cloning.h 34 class AllocaInst;
include/llvm/Transforms/Utils/CodeExtractor.h 25 class AllocaInst;
include/llvm/Transforms/Utils/Local.h 40 class AllocaInst;
include/llvm/Transforms/Utils/PromoteMemToReg.h 20 class AllocaInst;
lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h 45 class AllocaInst;
tools/clang/lib/CodeGen/CGCleanup.h 26 class AllocaInst;
References
examples/Kaleidoscope/BuildingAJIT/Chapter1/toy.cpp 703 static std::map<std::string, AllocaInst *> NamedValues;
729 static AllocaInst *CreateEntryBlockAlloca(Function *TheFunction,
910 AllocaInst *Alloca = CreateEntryBlockAlloca(TheFunction, VarName);
932 AllocaInst *OldVal = NamedValues[VarName];
988 std::vector<AllocaInst *> OldBindings;
1011 AllocaInst *Alloca = CreateEntryBlockAlloca(TheFunction, VarName);
1073 AllocaInst *Alloca = CreateEntryBlockAlloca(TheFunction, Arg.getName());
examples/Kaleidoscope/BuildingAJIT/Chapter2/toy.cpp 703 static std::map<std::string, AllocaInst *> NamedValues;
729 static AllocaInst *CreateEntryBlockAlloca(Function *TheFunction,
910 AllocaInst *Alloca = CreateEntryBlockAlloca(TheFunction, VarName);
932 AllocaInst *OldVal = NamedValues[VarName];
988 std::vector<AllocaInst *> OldBindings;
1011 AllocaInst *Alloca = CreateEntryBlockAlloca(TheFunction, VarName);
1073 AllocaInst *Alloca = CreateEntryBlockAlloca(TheFunction, Arg.getName());
examples/Kaleidoscope/BuildingAJIT/Chapter3/toy.cpp 702 static std::map<std::string, AllocaInst *> NamedValues;
728 static AllocaInst *CreateEntryBlockAlloca(Function *TheFunction,
909 AllocaInst *Alloca = CreateEntryBlockAlloca(TheFunction, VarName);
931 AllocaInst *OldVal = NamedValues[VarName];
987 std::vector<AllocaInst *> OldBindings;
1010 AllocaInst *Alloca = CreateEntryBlockAlloca(TheFunction, VarName);
1072 AllocaInst *Alloca = CreateEntryBlockAlloca(TheFunction, Arg.getName());
examples/Kaleidoscope/BuildingAJIT/Chapter4/toy.cpp 687 static std::map<std::string, AllocaInst *> NamedValues;
714 static AllocaInst *CreateEntryBlockAlloca(Function *TheFunction,
895 AllocaInst *Alloca = CreateEntryBlockAlloca(TheFunction, VarName);
917 AllocaInst *OldVal = NamedValues[VarName];
973 std::vector<AllocaInst *> OldBindings;
996 AllocaInst *Alloca = CreateEntryBlockAlloca(TheFunction, VarName);
1065 AllocaInst *Alloca = CreateEntryBlockAlloca(TheFunction, Arg.getName());
examples/Kaleidoscope/BuildingAJIT/Chapter5/toy.cpp 711 static std::map<std::string, AllocaInst *> NamedValues;
738 static AllocaInst *CreateEntryBlockAlloca(Function *TheFunction,
919 AllocaInst *Alloca = CreateEntryBlockAlloca(TheFunction, VarName);
941 AllocaInst *OldVal = NamedValues[VarName];
997 std::vector<AllocaInst *> OldBindings;
1020 AllocaInst *Alloca = CreateEntryBlockAlloca(TheFunction, VarName);
1089 AllocaInst *Alloca = CreateEntryBlockAlloca(TheFunction, Arg.getName());
examples/Kaleidoscope/Chapter7/toy.cpp 707 static std::map<std::string, AllocaInst *> NamedValues;
734 static AllocaInst *CreateEntryBlockAlloca(Function *TheFunction,
915 AllocaInst *Alloca = CreateEntryBlockAlloca(TheFunction, VarName);
937 AllocaInst *OldVal = NamedValues[VarName];
993 std::vector<AllocaInst *> OldBindings;
1016 AllocaInst *Alloca = CreateEntryBlockAlloca(TheFunction, VarName);
1078 AllocaInst *Alloca = CreateEntryBlockAlloca(TheFunction, Arg.getName());
examples/Kaleidoscope/Chapter8/toy.cpp 708 static std::map<std::string, AllocaInst *> NamedValues;
733 static AllocaInst *CreateEntryBlockAlloca(Function *TheFunction,
914 AllocaInst *Alloca = CreateEntryBlockAlloca(TheFunction, VarName);
936 AllocaInst *OldVal = NamedValues[VarName];
992 std::vector<AllocaInst *> OldBindings;
1015 AllocaInst *Alloca = CreateEntryBlockAlloca(TheFunction, VarName);
1077 AllocaInst *Alloca = CreateEntryBlockAlloca(TheFunction, Arg.getName());
examples/Kaleidoscope/Chapter9/toy.cpp 860 static std::map<std::string, AllocaInst *> NamedValues;
886 static AllocaInst *CreateEntryBlockAlloca(Function *TheFunction,
1077 AllocaInst *Alloca = CreateEntryBlockAlloca(TheFunction, VarName);
1101 AllocaInst *OldVal = NamedValues[VarName];
1157 std::vector<AllocaInst *> OldBindings;
1180 AllocaInst *Alloca = CreateEntryBlockAlloca(TheFunction, VarName);
1265 AllocaInst *Alloca = CreateEntryBlockAlloca(TheFunction, Arg.getName());
include/llvm/ADT/ArrayRef.h 108 const ArrayRef<U *> &A,
110 std::is_convertible<U *const *, T const *>::value>::type * = nullptr)
118 const SmallVectorTemplateCommon<U *, DummyT> &Vec,
120 std::is_convertible<U *const *, T const *>::value>::type * = nullptr)
127 ArrayRef(const std::vector<U *, A> &Vec,
129 std::is_convertible<U *const *, T const *>::value>::type* = 0)
include/llvm/ADT/DenseMapInfo.h 39 static inline T* getEmptyKey() {
41 Val <<= PointerLikeTypeTraits<T*>::NumLowBitsAvailable;
45 static inline T* getTombstoneKey() {
47 Val <<= PointerLikeTypeTraits<T*>::NumLowBitsAvailable;
51 static unsigned getHashValue(const T *PtrVal) {
56 static bool isEqual(const T *LHS, const T *RHS) { return LHS == RHS; }
56 static bool isEqual(const T *LHS, const T *RHS) { return LHS == RHS; }
include/llvm/ADT/SmallSet.h 249 class SmallSet<PointeeType*, N> : public SmallPtrSet<PointeeType*, N> {};
include/llvm/Analysis/MemoryBuiltins.h 260 SizeOffsetType visitAllocaInst(AllocaInst &I);
331 SizeOffsetEvalType visitAllocaInst(AllocaInst &I);
include/llvm/Analysis/ObjCARCAnalysisUtils.h 155 if (isa<Constant>(Op) || isa<AllocaInst>(Op))
218 isa<AllocaInst>(V))
include/llvm/Analysis/TargetTransformInfoImpl.h 853 if (auto *A = dyn_cast<AllocaInst>(U))
include/llvm/CodeGen/FastISel.h 484 virtual unsigned fastMaterializeAlloca(const AllocaInst *C) { return 0; }
include/llvm/CodeGen/FunctionLoweringInfo.h 128 DenseMap<const AllocaInst*, int> StaticAllocaMap;
include/llvm/CodeGen/GlobalISel/IRTranslator.h 167 DenseMap<const AllocaInst *, int> FrameIndices;
577 int getOrCreateFrameIndex(const AllocaInst &AI);
include/llvm/CodeGen/MachineFrameInfo.h 164 const AllocaInst *Alloca;
185 bool IsImmutable, bool IsSpillSlot, const AllocaInst *Alloca,
483 const AllocaInst* getObjectAllocation(int ObjectIdx) const {
738 const AllocaInst *Alloca = nullptr, uint8_t ID = 0);
742 const AllocaInst *Alloca = nullptr,
765 int CreateVariableSizedObject(Align Alignment, const AllocaInst *Alloca);
767 int CreateVariableSizedObject(unsigned Alignment, const AllocaInst *Alloca) {
include/llvm/CodeGen/StackProtector.h 40 using SSPLayoutMap = DenseMap<const AllocaInst *,
include/llvm/CodeGen/WinEHFuncInfo.h 65 const AllocaInst *Alloca;
include/llvm/IR/IRBuilder.h 845 InstTy *Insert(InstTy *I, const Twine &Name = "") const {
845 InstTy *Insert(InstTy *I, const Twine &Name = "") const {
1578 AllocaInst *CreateAlloca(Type *Ty, unsigned AddrSpace,
1580 return Insert(new AllocaInst(Ty, AddrSpace, ArraySize), Name);
1583 AllocaInst *CreateAlloca(Type *Ty, Value *ArraySize = nullptr,
1586 return Insert(new AllocaInst(Ty, DL.getAllocaAddrSpace(), ArraySize), Name);
include/llvm/IR/InstVisitor.h 170 RetTy visitAllocaInst(AllocaInst &I) { DELEGATE(UnaryInstruction);}
include/llvm/IR/Instructions.h 66 AllocaInst *cloneImpl() const;
include/llvm/IR/ValueHandle.h 256 ValueTy *getValPtr() const { return static_cast<ValueTy *>(getRawValPtr()); }
257 void setValPtr(ValueTy *P) { setRawValPtr(GetAsValue(P)); }
262 AssertingVH(ValueTy *P) : ValueHandleBase(Assert, GetAsValue(P)) {}
269 operator ValueTy*() const {
273 ValueTy *operator=(ValueTy *RHS) {
273 ValueTy *operator=(ValueTy *RHS) {
277 ValueTy *operator=(const AssertingVH<ValueTy> &RHS) {
277 ValueTy *operator=(const AssertingVH<ValueTy> &RHS) {
282 ValueTy *operator->() const { return getValPtr(); }
283 ValueTy &operator*() const { return *getValPtr(); }
include/llvm/Support/Casting.h 58 return To::classof(&Val);
66 static inline bool doit(const From &) { return true; }
77 return isa_impl<To, From>::doit(Val);
92 return isa_impl<To, From>::doit(*Val);
104 static inline bool doit(const From *Val) {
106 return isa_impl<To, From>::doit(*Val);
106 return isa_impl<To, From>::doit(*Val);
122 return isa_impl_wrap<To, SimpleFrom,
132 return isa_impl_cl<To,FromTy>::doit(Val);
142 return isa_impl_wrap<X, const Y,
168 using ret_type = const To &; // Normal case, return Ty&
172 using ret_type = To *; // Pointer arg case, return Ty*
176 using ret_type = const To *; // Constant pointer arg case, return const Ty*
198 using ret_type = typename cast_retty<To, SimpleFrom>::ret_type;
204 using ret_type = typename cast_retty_impl<To,FromTy>::ret_type;
210 To, From, typename simplify_type<From>::SimpleType>::ret_type;
218 static typename cast_retty<To, From>::ret_type doit(From &Val) {
219 return cast_convert_val<To, SimpleFrom,
227 static typename cast_retty<To, FromTy>::ret_type doit(const FromTy &Val) {
228 typename cast_retty<To, FromTy>::ret_type Res2
248 typename cast_retty<X, const Y>::ret_type>::type
252 X, const Y, typename simplify_type<const Y>::SimpleType>::doit(Val);
256 inline typename cast_retty<X, Y>::ret_type cast(Y &Val) {
258 return cast_convert_val<X, Y,
263 inline typename cast_retty<X, Y *>::ret_type cast(Y *Val) {
263 inline typename cast_retty<X, Y *>::ret_type cast(Y *Val) {
263 inline typename cast_retty<X, Y *>::ret_type cast(Y *Val) {
265 return cast_convert_val<X, Y*,
265 return cast_convert_val<X, Y*,
266 typename simplify_type<Y*>::SimpleType>::doit(Val);
331 typename cast_retty<X, const Y>::ret_type>::type
333 return isa<X>(Val) ? cast<X>(Val) : nullptr;
333 return isa<X>(Val) ? cast<X>(Val) : nullptr;
337 LLVM_NODISCARD inline typename cast_retty<X, Y>::ret_type dyn_cast(Y &Val) {
338 return isa<X>(Val) ? cast<X>(Val) : nullptr;
338 return isa<X>(Val) ? cast<X>(Val) : nullptr;
342 LLVM_NODISCARD inline typename cast_retty<X, Y *>::ret_type dyn_cast(Y *Val) {
343 return isa<X>(Val) ? cast<X>(Val) : nullptr;
343 return isa<X>(Val) ? cast<X>(Val) : nullptr;
366 LLVM_NODISCARD inline typename cast_retty<X, Y *>::ret_type
368 return (Val && isa<X>(Val)) ? cast<X>(Val) : nullptr;
368 return (Val && isa<X>(Val)) ? cast<X>(Val) : nullptr;
include/llvm/Support/PointerLikeTypeTraits.h 56 static inline void *getAsVoidPointer(T *P) { return P; }
57 static inline T *getFromVoidPointer(void *P) { return static_cast<T *>(P); }
59 enum { NumLowBitsAvailable = detail::ConstantLog2<alignof(T)>::value };
91 typedef PointerLikeTypeTraits<T *> NonConst;
93 static inline const void *getAsVoidPointer(const T *P) {
96 static inline const T *getFromVoidPointer(const void *P) {
include/llvm/Transforms/Scalar/SROA.h 76 SetVector<AllocaInst *, SmallVector<AllocaInst *, 16>> Worklist;
76 SetVector<AllocaInst *, SmallVector<AllocaInst *, 16>> Worklist;
91 SetVector<AllocaInst *, SmallVector<AllocaInst *, 16>> PostPromotionWorklist;
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,
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);
include/llvm/Transforms/Utils/ASanStackFrameLayout.h 37 AllocaInst *AI; // The actual AllocaInst.
include/llvm/Transforms/Utils/Cloning.h 193 SmallVector<AllocaInst *, 4> StaticAllocas;
include/llvm/Transforms/Utils/CodeExtractor.h 48 SmallVector<AllocaInst *, 16> Allocas;
65 ArrayRef<AllocaInst *> getAllocas() const { return Allocas; }
69 bool doesBlockContainClobberOfAddr(BasicBlock &BB, AllocaInst *Addr) const;
include/llvm/Transforms/Utils/Local.h 242 AllocaInst *DemoteRegToStack(Instruction &X,
249 AllocaInst *DemotePHIToStack(PHINode *P, Instruction *AllocaPoint = nullptr);
336 bool replaceDbgDeclareForAlloca(AllocaInst *AI, Value *NewAllocaAddress,
345 void replaceDbgValueForAlloca(AllocaInst *AI, Value *NewAllocaAddress,
349 AllocaInst *findAllocaForValue(Value *V,
350 DenseMap<Value *, AllocaInst *> &AllocaForValue);
include/llvm/Transforms/Utils/PromoteMemToReg.h 31 bool isAllocaPromotable(const AllocaInst *AI);
40 void PromoteMemToReg(ArrayRef<AllocaInst *> Allocas, DominatorTree &DT,
lib/Analysis/AliasAnalysis.cpp 881 if (isa<AllocaInst>(V))
893 return isa<AllocaInst>(V) || isNoAliasCall(V) || isNoAliasArgument(V);
lib/Analysis/BasicAliasAnalysis.cpp 132 if (isa<AllocaInst>(V) || isNoAliasCall(V)) {
668 if (OrLocal && isa<AllocaInst>(V))
882 if (isa<AllocaInst>(Object))
890 if (auto *AI = dyn_cast<AllocaInst>(Object))
1283 if (!(isa<AllocaInst>(DecompObject.Base) ||
lib/Analysis/CFLGraph.h 344 void visitAllocaInst(AllocaInst &Inst) { addNode(&Inst); }
lib/Analysis/CodeMetrics.cpp 152 if (const AllocaInst *AI = dyn_cast<AllocaInst>(&I)) {
152 if (const AllocaInst *AI = dyn_cast<AllocaInst>(&I)) {
lib/Analysis/InlineCost.cpp 265 bool visitAlloca(AllocaInst &I);
431 bool CallAnalyzer::visitAlloca(AllocaInst &I) {
1799 if (isa<AllocaInst>(PtrArg)) {
lib/Analysis/InstructionSimplify.cpp 2383 if (isa<AllocaInst>(LHS) &&
2384 (isa<AllocaInst>(RHS) || isa<GlobalVariable>(RHS))) {
2390 NullPointerIsDefined(cast<AllocaInst>(LHS)->getFunction());
2448 if (const AllocaInst *AI = dyn_cast<AllocaInst>(V))
2448 if (const AllocaInst *AI = dyn_cast<AllocaInst>(V))
lib/Analysis/LazyValueInfo.cpp 1689 if (isa<AllocaInst>(V))
lib/Analysis/Lint.cpp 116 void visitAllocaInst(AllocaInst &I);
469 if (AllocaInst *AI = dyn_cast<AllocaInst>(Base)) {
469 if (AllocaInst *AI = dyn_cast<AllocaInst>(Base)) {
604 void Lint::visitAllocaInst(AllocaInst &I) {
lib/Analysis/Loads.cpp 450 if ((isa<AllocaInst>(StrippedPtr) || isa<GlobalVariable>(StrippedPtr)) &&
451 (isa<AllocaInst>(StorePtr) || isa<GlobalVariable>(StorePtr)) &&
lib/Analysis/MemoryBuiltins.cpp 631 SizeOffsetType ObjectSizeOffsetVisitor::visitAllocaInst(AllocaInst &I) {
916 SizeOffsetEvalType ObjectSizeOffsetEvaluator::visitAllocaInst(AllocaInst &I) {
lib/Analysis/MemoryDependenceAnalysis.cpp 666 if (isa<AllocaInst>(Inst) || isNoAliasFn(Inst, &TLI)) {
lib/Analysis/StackSafetyAnalysis.cpp 100 const AllocaInst *AI = nullptr;
104 AllocaInfo(unsigned PointerSize, const AllocaInst *AI, uint64_t Size)
130 uint64_t getStaticAllocaAllocationSize(const AllocaInst *AI) {
374 if (auto AI = dyn_cast<AllocaInst>(&I)) {
lib/Analysis/ValueTracking.cpp 1292 const AllocaInst *AI = cast<AllocaInst>(I);
1292 const AllocaInst *AI = cast<AllocaInst>(I);
2060 if (isa<AllocaInst>(V) && Q.DL.getAllocaAddrSpace() == 0)
3728 } else if (isa<AllocaInst>(V)) {
lib/AsmParser/LLParser.cpp 6922 AllocaInst *AI = new AllocaInst(Ty, AddrSpace, Size, Alignment);
6922 AllocaInst *AI = new AllocaInst(Ty, AddrSpace, Size, Alignment);
lib/Bitcode/Reader/BitcodeReader.cpp 4764 AllocaInst *AI = new AllocaInst(Ty, AS, Size, Align);
4764 AllocaInst *AI = new AllocaInst(Ty, AS, Size, Align);
lib/Bitcode/Writer/BitcodeWriter.cpp 2912 const AllocaInst &AI = cast<AllocaInst>(I);
2912 const AllocaInst &AI = cast<AllocaInst>(I);
lib/CodeGen/AtomicExpandPass.cpp 1683 AllocaInst *AllocaCASExpected = nullptr;
1685 AllocaInst *AllocaValue = nullptr;
1687 AllocaInst *AllocaResult = nullptr;
lib/CodeGen/CodeGenPrepare.cpp 1812 AllocaInst *AI;
1813 if ((AI = dyn_cast<AllocaInst>(Val)) && AI->getAlignment() < PrefAlign &&
4510 if (AllocaInst *AI = dyn_cast<AllocaInst>(Val))
4510 if (AllocaInst *AI = dyn_cast<AllocaInst>(Val))
7128 if (!DVI || (DVI->getValue() && isa<AllocaInst>(DVI->getValue()))) {
lib/CodeGen/GCRootLowering.cpp 129 if (isa<AllocaInst>(I) || isa<GetElementPtrInst>(I) || isa<StoreInst>(I) ||
143 static bool InsertRootInitializers(Function &F, ArrayRef<AllocaInst *> Roots) {
146 while (isa<AllocaInst>(IP))
150 SmallPtrSet<AllocaInst *, 16> InitedRoots;
153 if (AllocaInst *AI =
154 dyn_cast<AllocaInst>(SI->getOperand(1)->stripPointerCasts()))
160 for (AllocaInst *Root : Roots)
193 SmallVector<AllocaInst *, 32> Roots;
227 cast<AllocaInst>(CI->getArgOperand(0)->stripPointerCasts()));
lib/CodeGen/GlobalISel/IRTranslator.cpp 223 int IRTranslator::getOrCreateFrameIndex(const AllocaInst &AI) {
854 if (auto AI = dyn_cast<AllocaInst>(V))
1306 const AllocaInst *AI = dyn_cast<AllocaInst>(V);
1306 const AllocaInst *AI = dyn_cast<AllocaInst>(V);
1330 auto AI = dyn_cast<AllocaInst>(Address);
1454 AllocaInst *Slot = cast<AllocaInst>(CI.getArgOperand(1));
1454 AllocaInst *Slot = cast<AllocaInst>(CI.getArgOperand(1));
1786 auto &AI = cast<AllocaInst>(U);
lib/CodeGen/MIRParser/MIParser.cpp 1690 if (const auto *Alloca =
lib/CodeGen/MIRParser/MIRParser.cpp 694 const AllocaInst *Alloca = nullptr;
697 Alloca = dyn_cast_or_null<AllocaInst>(
lib/CodeGen/MIRPrinter.cpp 392 if (const auto *Alloca = MFI.getObjectAllocation(I))
lib/CodeGen/MachineOperand.cpp 516 if (const AllocaInst *Alloca = MFI->getObjectAllocation(FrameIndex))
lib/CodeGen/SafeStack.cpp 150 AllocaInst *StackGuardSlot, Value *StackGuard);
155 void findInsts(Function &F, SmallVectorImpl<AllocaInst *> &StaticAllocas,
156 SmallVectorImpl<AllocaInst *> &DynamicAllocas,
163 uint64_t getStaticAllocaAllocationSize(const AllocaInst* AI);
172 ArrayRef<AllocaInst *> StaticAllocas,
176 AllocaInst *StackGuardSlot);
183 AllocaInst *
192 AllocaInst *DynamicTop,
193 ArrayRef<AllocaInst *> DynamicAllocas);
219 uint64_t SafeStack::getStaticAllocaAllocationSize(const AllocaInst* AI) {
378 SmallVectorImpl<AllocaInst *> &StaticAllocas,
379 SmallVectorImpl<AllocaInst *> &DynamicAllocas,
384 if (auto AI = dyn_cast<AllocaInst>(&I)) {
426 AllocaInst *
441 AllocaInst *DynamicTop = nullptr;
464 AllocaInst *StackGuardSlot, Value *StackGuard) {
487 IRBuilder<> &IRB, Function &F, ArrayRef<AllocaInst *> StaticAllocas,
489 Instruction *BasePointer, AllocaInst *StackGuardSlot) {
521 for (AllocaInst *AI : StaticAllocas) {
586 for (AllocaInst *AI : StaticAllocas) {
639 Function &F, Value *UnsafeStackPtr, AllocaInst *DynamicTop,
640 ArrayRef<AllocaInst *> DynamicAllocas) {
643 for (AllocaInst *AI : DynamicAllocas) {
744 SmallVector<AllocaInst *, 16> StaticAllocas;
745 SmallVector<AllocaInst *, 4> DynamicAllocas;
791 AllocaInst *StackGuardSlot = nullptr;
818 AllocaInst *DynamicTop = createStackRestorePoints(
lib/CodeGen/SafeStackColoring.cpp 41 const StackColoring::LiveRange &StackColoring::getLiveRange(AllocaInst *AI) {
72 AllocaInst *AI = Allocas[AllocaNo];
lib/CodeGen/SafeStackColoring.h 88 ArrayRef<AllocaInst *> Allocas;
90 DenseMap<AllocaInst *, unsigned> AllocaNumbering;
118 StackColoring(Function &F, ArrayRef<AllocaInst *> Allocas)
127 const LiveRange &getLiveRange(AllocaInst *AI);
lib/CodeGen/SelectionDAG/FastISel.cpp 388 (!isa<AllocaInst>(V) ||
389 !FuncInfo.StaticAllocaMap.count(cast<AllocaInst>(V))))
408 } else if (isa<AllocaInst>(V))
409 Reg = fastMaterializeAlloca(cast<AllocaInst>(V));
771 } else if (auto *AI = dyn_cast<AllocaInst>(Val)) {
771 } else if (auto *AI = dyn_cast<AllocaInst>(Val)) {
1382 (!isa<AllocaInst>(Address) ||
1383 !FuncInfo.StaticAllocaMap.count(cast<AllocaInst>(Address))))
1864 if (FuncInfo.StaticAllocaMap.count(cast<AllocaInst>(I)))
lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp 101 DenseMap<const AllocaInst *, TinyPtrVector<int *>> CatchObjects;
117 if (const AllocaInst *AI = H.CatchObj.Alloca)
135 if (const AllocaInst *AI = dyn_cast<AllocaInst>(&I)) {
135 if (const AllocaInst *AI = dyn_cast<AllocaInst>(&I)) {
219 if (!isa<AllocaInst>(I) || !StaticAllocaMap.count(cast<AllocaInst>(&I)))
219 if (!isa<AllocaInst>(I) || !StaticAllocaMap.count(cast<AllocaInst>(&I)))
lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp 1282 if (const AllocaInst *AI = dyn_cast<AllocaInst>(V)) {
1282 if (const AllocaInst *AI = dyn_cast<AllocaInst>(V)) {
1557 if (const AllocaInst *AI = dyn_cast<AllocaInst>(V)) {
1557 if (const AllocaInst *AI = dyn_cast<AllocaInst>(V)) {
1558 DenseMap<const AllocaInst*, int>::iterator SI =
3945 void SelectionDAGBuilder::visitAlloca(const AllocaInst &I) {
4013 if (const AllocaInst *Alloca = dyn_cast<AllocaInst>(SV)) {
4013 if (const AllocaInst *Alloca = dyn_cast<AllocaInst>(SV)) {
4200 if (const AllocaInst *Alloca = dyn_cast<AllocaInst>(PtrV)) {
4200 if (const AllocaInst *Alloca = dyn_cast<AllocaInst>(PtrV)) {
5826 if (const auto *AI =
5827 dyn_cast<AllocaInst>(Address->stripInBoundsConstantOffsets())) {
5957 AllocaInst *FnCtx =
5958 cast<AllocaInst>(I.getArgOperand(0)->stripPointerCasts());
6398 AllocaInst *Slot = cast<AllocaInst>(I.getArgOperand(1));
6398 AllocaInst *Slot = cast<AllocaInst>(I.getArgOperand(1));
6581 const AllocaInst *LifetimeObject = dyn_cast_or_null<AllocaInst>(*Object);
6581 const AllocaInst *LifetimeObject = dyn_cast_or_null<AllocaInst>(*Object);
6649 AllocaInst *Slot = cast<AllocaInst>(Arg);
6649 AllocaInst *Slot = cast<AllocaInst>(Arg);
9413 std::pair<const AllocaInst *, const StoreInst *>>;
9426 SmallDenseMap<const AllocaInst *, StaticAllocaInfo, 8> StaticAllocas;
9434 const auto *AI = dyn_cast<AllocaInst>(V);
9434 const auto *AI = dyn_cast<AllocaInst>(V);
9474 const AllocaInst *AI = cast<AllocaInst>(Dst);
9474 const AllocaInst *AI = cast<AllocaInst>(Dst);
9529 const AllocaInst *AI = ArgCopyIter->second.first;
lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h 720 void visitAlloca(const AllocaInst &I);
lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp 1317 if (const auto *AI = dyn_cast<AllocaInst>(Address)) {
1317 if (const auto *AI = dyn_cast<AllocaInst>(Address)) {
lib/CodeGen/ShadowStackGCLowering.cpp 61 std::vector<std::pair<CallInst *, AllocaInst *>> Roots;
234 SmallVector<std::pair<CallInst *, AllocaInst *>, 16> MetaRoots;
241 std::pair<CallInst *, AllocaInst *> Pair = std::make_pair(
243 cast<AllocaInst>(CI->getArgOperand(0)->stripPointerCasts()));
310 while (isa<AllocaInst>(IP))
328 AllocaInst *OriginalAlloca = Roots[I].second;
lib/CodeGen/SjLjEHPrepare.cpp 51 AllocaInst *FuncCtx;
179 FuncCtx = new AllocaInst(FunctionContextTy, DL.getAllocaAddrSpace(), nullptr,
230 while (isa<AllocaInst>(AfterAllocaInsPt) &&
231 cast<AllocaInst>(AfterAllocaInsPt)->isStaticAlloca())
276 if (auto *AI = dyn_cast<AllocaInst>(&Inst))
276 if (auto *AI = dyn_cast<AllocaInst>(&Inst))
454 } else if (!isa<AllocaInst>(&I)) {
lib/CodeGen/StackColoring.cpp 667 const AllocaInst *Allocation = MFI->getObjectAllocation(Slot);
739 const AllocaInst *Allocation = MFI->getObjectAllocation(Slot);
904 DenseMap<const AllocaInst*, const AllocaInst*> Allocas;
904 DenseMap<const AllocaInst*, const AllocaInst*> Allocas;
907 SmallPtrSet<const AllocaInst*, 32> MergedAllocas;
910 const AllocaInst *From = MFI->getObjectAllocation(SI.first);
911 const AllocaInst *To = MFI->getObjectAllocation(SI.second);
946 AllocaInst *FromAI = const_cast<AllocaInst *>(From);
973 const AllocaInst *AI = dyn_cast_or_null<AllocaInst>(MMO->getValue());
973 const AllocaInst *AI = dyn_cast_or_null<AllocaInst>(MMO->getValue());
1042 const AllocaInst *AI = dyn_cast_or_null<AllocaInst>(V);
1042 const AllocaInst *AI = dyn_cast_or_null<AllocaInst>(V);
lib/CodeGen/StackProtector.cpp 277 if (const AllocaInst *AI = dyn_cast<AllocaInst>(&I)) {
277 if (const AllocaInst *AI = dyn_cast<AllocaInst>(&I)) {
383 const TargetLoweringBase *TLI, AllocaInst *&AI) {
409 AllocaInst *AI = nullptr; // Place on stack that stores the stack guard.
433 AI = cast<AllocaInst>(SPCall->getArgOperand(1));
556 const AllocaInst *AI = MFI.getObjectAllocation(I);
lib/CodeGen/SwiftErrorValueTracking.cpp 109 if (const AllocaInst *Alloca = dyn_cast<AllocaInst>(&Inst))
109 if (const AllocaInst *Alloca = dyn_cast<AllocaInst>(&Inst))
lib/CodeGen/WinEHPrepare.cpp 74 void insertPHIStores(PHINode *OriginalPHI, AllocaInst *SpillSlot);
76 insertPHIStore(BasicBlock *PredBlock, Value *PredVal, AllocaInst *SpillSlot,
78 AllocaInst *insertPHILoads(PHINode *PN, Function &F);
79 void replaceUseWithLoad(Value *V, Use &U, AllocaInst *&SpillSlot,
155 if (auto *AI =
156 dyn_cast<AllocaInst>(CPI->getArgOperand(2)->stripPointerCasts()))
707 AllocaInst *SpillSlot = insertPHILoads(PN, F);
1071 AllocaInst *WinEHPrepare::insertPHILoads(PHINode *PN, Function &F) {
1073 AllocaInst *SpillSlot = nullptr;
1079 SpillSlot = new AllocaInst(PN->getType(), DL->getAllocaAddrSpace(), nullptr,
1111 AllocaInst *SpillSlot) {
1148 BasicBlock *PredBlock, Value *PredVal, AllocaInst *SpillSlot,
1161 void WinEHPrepare::replaceUseWithLoad(Value *V, Use &U, AllocaInst *&SpillSlot,
1166 SpillSlot = new AllocaInst(V->getType(), DL->getAllocaAddrSpace(), nullptr,
lib/ExecutionEngine/Interpreter/Execution.cpp 1015 void Interpreter::visitAllocaInst(AllocaInst &I) {
lib/ExecutionEngine/Interpreter/Interpreter.h 131 void visitAllocaInst(AllocaInst &I);
lib/FuzzMutate/RandomIRBuilder.cpp 125 Ptr = new AllocaInst(V->getType(), 0, "A", &*BB.getFirstInsertionPt());
lib/IR/AsmWriter.cpp 3972 } else if (const AllocaInst *AI = dyn_cast<AllocaInst>(&I)) {
3972 } else if (const AllocaInst *AI = dyn_cast<AllocaInst>(&I)) {
lib/IR/Core.cpp 1997 if (AllocaInst *AI = dyn_cast<AllocaInst>(P))
1997 if (AllocaInst *AI = dyn_cast<AllocaInst>(P))
2012 else if (AllocaInst *AI = dyn_cast<AllocaInst>(P))
2012 else if (AllocaInst *AI = dyn_cast<AllocaInst>(P))
2922 return wrap(unwrap<AllocaInst>(Alloca)->getAllocatedType());
lib/IR/Instruction.cpp 384 if (const AllocaInst *AI = dyn_cast<AllocaInst>(I1))
384 if (const AllocaInst *AI = dyn_cast<AllocaInst>(I1))
385 return AI->getAllocatedType() == cast<AllocaInst>(I2)->getAllocatedType() &&
386 (AI->getAlignment() == cast<AllocaInst>(I2)->getAlignment() ||
lib/IR/Instructions.cpp 4129 AllocaInst *AllocaInst::cloneImpl() const {
4130 AllocaInst *Result =
4131 new AllocaInst(getAllocatedType(), getType()->getAddressSpace(),
lib/IR/Value.cpp 658 } else if (auto *AI = dyn_cast<AllocaInst>(this)) {
712 } else if (const AllocaInst *AI = dyn_cast<AllocaInst>(this)) {
712 } else if (const AllocaInst *AI = dyn_cast<AllocaInst>(this)) {
768 auto *Alloca = dyn_cast<AllocaInst>(this);
lib/IR/Verifier.cpp 483 void visitAllocaInst(AllocaInst &AI);
2871 if (auto AI = dyn_cast<AllocaInst>(InAllocaArg->stripInBoundsOffsets()))
2882 if (auto AI = dyn_cast<AllocaInst>(SwiftErrorArg->stripInBoundsOffsets())) {
3462 void Verifier::visitAllocaInst(AllocaInst &AI) {
4405 AllocaInst *AI =
4406 dyn_cast<AllocaInst>(Call.getArgOperand(0)->stripPointerCasts());
4444 auto *AI = dyn_cast<AllocaInst>(Arg->stripPointerCasts());
4444 auto *AI = dyn_cast<AllocaInst>(Arg->stripPointerCasts());
lib/Target/AArch64/AArch64FastISel.cpp 288 unsigned fastMaterializeAlloca(const AllocaInst *AI) override;
356 unsigned AArch64FastISel::fastMaterializeAlloca(const AllocaInst *AI) {
364 DenseMap<const AllocaInst *, int>::iterator SI =
670 const AllocaInst *AI = cast<AllocaInst>(Obj);
670 const AllocaInst *AI = cast<AllocaInst>(Obj);
671 DenseMap<const AllocaInst *, int>::iterator SI =
1995 if (const AllocaInst *Alloca = dyn_cast<AllocaInst>(SV)) {
1995 if (const AllocaInst *Alloca = dyn_cast<AllocaInst>(SV)) {
2197 if (const AllocaInst *Alloca = dyn_cast<AllocaInst>(PtrV)) {
2197 if (const AllocaInst *Alloca = dyn_cast<AllocaInst>(PtrV)) {
lib/Target/AArch64/AArch64PromoteConstant.cpp 272 if (isa<const AllocaInst>(Instr) && OpIdx > 0)
lib/Target/AArch64/AArch64StackTagging.cpp 270 AllocaInst *AI;
289 bool isInterestingAlloca(const AllocaInst &AI);
292 void tagAlloca(AllocaInst *AI, Instruction *InsertBefore, Value *Ptr,
294 void untagAlloca(AllocaInst *AI, Instruction *InsertBefore, uint64_t Size);
300 insertBaseTaggedPointer(const MapVector<AllocaInst *, AllocaInfo> &Allocas,
392 bool AArch64StackTagging::isInterestingAlloca(const AllocaInst &AI) {
406 void AArch64StackTagging::tagAlloca(AllocaInst *AI, Instruction *InsertBefore,
427 void AArch64StackTagging::untagAlloca(AllocaInst *AI, Instruction *InsertBefore,
435 const MapVector<AllocaInst *, AllocaInfo> &Allocas,
441 AllocaInst *AI = Info.AI;
481 auto *NewAI = new AllocaInst(
481 auto *NewAI = new AllocaInst(
523 MapVector<AllocaInst *, AllocaInfo> Allocas; // need stable iteration order
525 DenseMap<Value *, AllocaInst *> AllocaForValue;
531 if (auto *AI = dyn_cast<AllocaInst>(I)) {
531 if (auto *AI = dyn_cast<AllocaInst>(I)) {
537 if (auto *AI =
538 dyn_cast_or_null<AllocaInst>(DVI->getVariableLocation())) {
547 AllocaInst *AI =
615 AllocaInst *AI = Info.AI;
lib/Target/AMDGPU/AMDGPUInline.cpp 131 SmallPtrSet<const AllocaInst *, 8> AIVisited;
139 if (const AllocaInst *AI = dyn_cast<AllocaInst>(PtrArg)) {
139 if (const AllocaInst *AI = dyn_cast<AllocaInst>(PtrArg)) {
lib/Target/AMDGPU/AMDGPULibCalls.cpp 141 AllocaInst* insertAlloca(CallInst * UI, IRBuilder<> &B, const char *prefix);
1349 AllocaInst *Alloc = insertAlloca(UI, B, "__sincos_");
1414 AllocaInst* AMDGPULibCalls::insertAlloca(CallInst *UI, IRBuilder<> &B,
1420 AllocaInst *Alloc = B.CreateAlloca(RetType, 0,
lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp 121 bool handleAlloca(AllocaInst &I, bool SufficientLDS);
166 SmallVector<AllocaInst *, 16> Allocas;
168 if (AllocaInst *AI = dyn_cast<AllocaInst>(&I))
168 if (AllocaInst *AI = dyn_cast<AllocaInst>(&I))
172 for (AllocaInst *AI : Allocas) {
334 if (isa<AllocaInst>(User) &&
347 if (isa<AllocaInst>(User) &&
358 static bool tryPromoteAllocaToVector(AllocaInst *Alloca) {
503 if (!isa<AllocaInst>(OtherObj))
717 bool AMDGPUPromoteAlloca::handleAlloca(AllocaInst &I, bool SufficientLDS) {
lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp 155 const AllocaInst *Alloca =
156 dyn_cast<AllocaInst>(GetUnderlyingObject(Ptr, DL));
lib/Target/ARM/ARMFastISel.cpp 158 unsigned fastMaterializeAlloca(const AllocaInst *AI) override;
661 unsigned ARMFastISel::fastMaterializeAlloca(const AllocaInst *AI) {
668 DenseMap<const AllocaInst*, int>::iterator SI =
801 const AllocaInst *AI = cast<AllocaInst>(Obj);
801 const AllocaInst *AI = cast<AllocaInst>(Obj);
802 DenseMap<const AllocaInst*, int>::iterator SI =
1033 if (const AllocaInst *Alloca = dyn_cast<AllocaInst>(SV)) {
1033 if (const AllocaInst *Alloca = dyn_cast<AllocaInst>(SV)) {
1165 if (const AllocaInst *Alloca = dyn_cast<AllocaInst>(PtrV)) {
1165 if (const AllocaInst *Alloca = dyn_cast<AllocaInst>(PtrV)) {
lib/Target/Mips/MipsFastISel.cpp 265 unsigned fastMaterializeAlloca(const AllocaInst *AI) override;
337 unsigned MipsFastISel::fastMaterializeAlloca(const AllocaInst *AI) {
341 DenseMap<const AllocaInst *, int>::iterator SI =
531 const AllocaInst *AI = cast<AllocaInst>(Obj);
531 const AllocaInst *AI = cast<AllocaInst>(Obj);
532 DenseMap<const AllocaInst *, int>::iterator SI =
lib/Target/NVPTX/NVPTXAllocaHoisting.cpp 47 AllocaInst *allocaInst = dyn_cast<AllocaInst>(BI++);
47 AllocaInst *allocaInst = dyn_cast<AllocaInst>(BI++);
lib/Target/NVPTX/NVPTXLowerAlloca.cpp 71 if (auto allocaInst = dyn_cast<AllocaInst>(&I)) {
lib/Target/NVPTX/NVPTXLowerArgs.cpp 163 AllocaInst *AllocA = new AllocaInst(StructType, AS, Arg->getName(), FirstInst);
163 AllocaInst *AllocA = new AllocaInst(StructType, AS, Arg->getName(), FirstInst);
lib/Target/PowerPC/PPCFastISel.cpp 109 unsigned fastMaterializeAlloca(const AllocaInst *AI) override;
391 const AllocaInst *AI = cast<AllocaInst>(Obj);
391 const AllocaInst *AI = cast<AllocaInst>(Obj);
392 DenseMap<const AllocaInst*, int>::iterator SI =
2265 unsigned PPCFastISel::fastMaterializeAlloca(const AllocaInst *AI) {
2272 DenseMap<const AllocaInst*, int>::iterator SI =
lib/Target/WebAssembly/WebAssemblyFastISel.cpp 174 unsigned fastMaterializeAlloca(const AllocaInst *AI) override;
319 const auto *AI = cast<AllocaInst>(Obj);
319 const auto *AI = cast<AllocaInst>(Obj);
320 DenseMap<const AllocaInst *, int>::iterator SI =
597 unsigned WebAssemblyFastISel::fastMaterializeAlloca(const AllocaInst *AI) {
598 DenseMap<const AllocaInst *, int>::iterator SI =
lib/Target/X86/X86FastISel.cpp 153 unsigned fastMaterializeAlloca(const AllocaInst *C) override;
874 const AllocaInst *A = cast<AllocaInst>(V);
874 const AllocaInst *A = cast<AllocaInst>(V);
875 DenseMap<const AllocaInst *, int>::iterator SI =
1117 if (const AllocaInst *Alloca = dyn_cast<AllocaInst>(PtrV)) {
1117 if (const AllocaInst *Alloca = dyn_cast<AllocaInst>(PtrV)) {
1308 if (const AllocaInst *Alloca = dyn_cast<AllocaInst>(SV)) {
1308 if (const AllocaInst *Alloca = dyn_cast<AllocaInst>(SV)) {
2772 const AllocaInst *Slot = cast<AllocaInst>(II->getArgOperand(1));
2772 const AllocaInst *Slot = cast<AllocaInst>(II->getArgOperand(1));
3865 unsigned X86FastISel::fastMaterializeAlloca(const AllocaInst *C) {
lib/Target/X86/X86WinEHState.cpp 100 AllocaInst *RegNode = nullptr;
103 AllocaInst *EHGuardNode = nullptr;
lib/Transforms/Coroutines/CoroElide.cpp 68 static bool operandReferences(CallInst *CI, AllocaInst *Frame, AAResults &AA) {
78 static void removeTailCallAttribute(AllocaInst *Frame, AAResults &AA) {
101 if (!isa<AllocaInst>(&I))
130 auto *Frame = new AllocaInst(FrameTy, DL.getAllocaAddrSpace(), "", InsertPt);
130 auto *Frame = new AllocaInst(FrameTy, DL.getAllocaAddrSpace(), "", InsertPt);
lib/Transforms/Coroutines/CoroFrame.cpp 405 AllocaInst *PromiseAlloca = Shape.getPromiseAlloca();
443 if (auto *AI = dyn_cast<AllocaInst>(CurrentDef)) {
443 if (auto *AI = dyn_cast<AllocaInst>(CurrentDef)) {
524 static bool mightWriteIntoAllocaPtr(AllocaInst &A, const DominatorTree &DT,
608 SmallVector<std::pair<AllocaInst *, unsigned>, 4> Allocas;
610 if (auto *PromiseAlloca = Shape.getPromiseAlloca()) {
624 if (auto *AI = dyn_cast<AllocaInst>(Orig)) {
624 if (auto *AI = dyn_cast<AllocaInst>(Orig)) {
647 return isa<AllocaInst>(CurrentValue)
662 if (auto *AI = dyn_cast<AllocaInst>(CurrentValue)) {
662 if (auto *AI = dyn_cast<AllocaInst>(CurrentValue)) {
756 AllocaInst *const A = P.first;
780 AllocaInst *const A = P.first;
1197 AllocaInst *Alloca,
1226 static void eliminateSwiftErrorAlloca(Function &F, AllocaInst *Alloca,
1259 SmallVectorImpl<AllocaInst*> &AllocasToPromote) {
1295 SmallVector<AllocaInst*, 4> AllocasToPromote;
1307 auto Alloca = dyn_cast<AllocaInst>(&Inst);
lib/Transforms/Coroutines/CoroInstr.h 117 AllocaInst *getPromise() const {
121 : cast<AllocaInst>(Arg->stripPointerCasts());
128 if (isa<AllocaInst>(Arg))
lib/Transforms/Coroutines/CoroInternal.h 114 AllocaInst *PromiseAlloca;
217 AllocaInst *getPromiseAlloca() const {
lib/Transforms/Coroutines/CoroSplit.cpp 983 auto *Frame = Builder.CreateAlloca(Shape.FrameTy);
lib/Transforms/IPO/ArgumentPromotion.cpp 390 new AllocaInst(AgTy, DL.getAllocaAddrSpace(), nullptr,
lib/Transforms/IPO/Attributor.cpp 1922 if (isa<AllocaInst>(Val))
3584 Instruction *AI = new AllocaInst(Type::getInt8Ty(F->getContext()), AS,
lib/Transforms/IPO/GlobalOpt.cpp 1951 AllocaInst *Alloca = new AllocaInst(ElemTy, DL.getAllocaAddrSpace(), nullptr,
1951 AllocaInst *Alloca = new AllocaInst(ElemTy, DL.getAllocaAddrSpace(), nullptr,
lib/Transforms/IPO/Inliner.cpp 139 using InlinedArrayAllocasTy = DenseMap<ArrayType *, std::vector<AllocaInst *>>;
164 SmallPtrSet<AllocaInst *, 16> UsedAllocas;
185 AllocaInst *AI = IFI.StaticAllocas[AllocaNo];
195 std::vector<AllocaInst *> &AllocasForType = InlinedArrayAllocas[ATy];
203 for (AllocaInst *AvailableAlloca : AllocasForType) {
lib/Transforms/IPO/MergeFunctions.cpp 580 AllocaInst *AI = dyn_cast_or_null<AllocaInst>(DDI->getAddress());
580 AllocaInst *AI = dyn_cast_or_null<AllocaInst>(DDI->getAddress());
lib/Transforms/InstCombine/InstCombineCalls.cpp 3877 if (isa<AllocaInst>(BI)) {
4148 if (!isa<AllocaInst>(Underlying))
lib/Transforms/InstCombine/InstCombineCasts.cpp 84 AllocaInst &AI) {
142 AllocaInst *New = AllocaBuilder.CreateAlloca(CastElTy, Amt);
2316 if (AllocaInst *AI = dyn_cast<AllocaInst>(Src))
2316 if (AllocaInst *AI = dyn_cast<AllocaInst>(Src))
lib/Transforms/InstCombine/InstCombineCompares.cpp 1025 const AllocaInst *Alloca,
5498 if (auto *Alloca = dyn_cast<AllocaInst>(GetUnderlyingObject(Op0, DL)))
5498 if (auto *Alloca = dyn_cast<AllocaInst>(GetUnderlyingObject(Op0, DL)))
5501 if (auto *Alloca = dyn_cast<AllocaInst>(GetUnderlyingObject(Op1, DL)))
5501 if (auto *Alloca = dyn_cast<AllocaInst>(GetUnderlyingObject(Op1, DL)))
lib/Transforms/InstCombine/InstCombineInternal.h 431 Instruction *visitAllocaInst(AllocaInst &AI);
903 Instruction *foldAllocaCmp(ICmpInst &ICI, const AllocaInst *Alloca,
984 Instruction *PromoteCastOfAllocation(BitCastInst &CI, AllocaInst &AI);
lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp 162 isOnlyCopiedFromConstantGlobal(AllocaInst *AI,
171 static bool isDereferenceableForAllocaSize(const Value *V, const AllocaInst *AI,
182 static Instruction *simplifyAllocaArraySize(InstCombiner &IC, AllocaInst &AI) {
199 AllocaInst *New = IC.Builder.CreateAlloca(NewTy, nullptr, AI.getName());
206 while (isa<AllocaInst>(*It) || isa<DbgInfoIntrinsic>(*It))
341 Instruction *InstCombiner::visitAllocaInst(AllocaInst &AI) {
370 AllocaInst *EntryAI = dyn_cast<AllocaInst>(FirstInst);
370 AllocaInst *EntryAI = dyn_cast<AllocaInst>(FirstInst);
790 if (AllocaInst *AI = dyn_cast<AllocaInst>(P)) {
790 if (AllocaInst *AI = dyn_cast<AllocaInst>(P)) {
1390 if (isa<AllocaInst>(Ptr))
1393 if (isa<AllocaInst>(GEP->getOperand(0))) {
lib/Transforms/InstCombine/InstCombinePHI.cpp 403 (!isa<AllocaInst>(GEP->getOperand(0)) ||
502 if (AllocaInst *AI = dyn_cast<AllocaInst>(L->getOperand(0))) {
502 if (AllocaInst *AI = dyn_cast<AllocaInst>(L->getOperand(0))) {
524 if (AllocaInst *AI = dyn_cast<AllocaInst>(GEP->getOperand(0)))
524 if (AllocaInst *AI = dyn_cast<AllocaInst>(GEP->getOperand(0)))
lib/Transforms/InstCombine/InstructionCombining.cpp 2197 if (isa<AllocaInst>(SrcOp) || isAllocationFn(SrcOp, &TLI)) {
2242 if (auto *AI = dyn_cast<AllocaInst>(UnderlyingPtrOp)) {
2242 if (auto *AI = dyn_cast<AllocaInst>(UnderlyingPtrOp)) {
2370 if (isa<AllocaInst>(MI)) {
3131 if (isa<AllocaInst>(I))
lib/Transforms/Instrumentation/AddressSanitizer.cpp 599 uint64_t getAllocaSizeInBytes(const AllocaInst &AI) const {
613 bool isInterestingAlloca(const AllocaInst &AI);
696 DenseMap<const AllocaInst *, bool> ProcessedAllocas;
878 SmallVector<AllocaInst *, 16> AllocaVec;
879 SmallVector<AllocaInst *, 16> StaticAllocasToMoveUp;
892 AllocaInst *AI;
900 SmallVector<AllocaInst *, 1> DynamicAllocaVec;
902 AllocaInst *DynamicAllocaLayout = nullptr;
906 using AllocaForValueMapTy = DenseMap<Value *, AllocaInst *>;
1017 void handleDynamicAllocaCall(AllocaInst *AI);
1020 void visitAllocaInst(AllocaInst &AI) {
1061 AllocaInst *AI =
1320 bool AddressSanitizer::isInterestingAlloca(const AllocaInst &AI) {
1431 if (auto AI = dyn_cast_or_null<AllocaInst>(PtrOperand))
1584 if (isa<AllocaInst>(GetUnderlyingObject(Addr, DL)) &&
2601 AllocaInst *AI = dyn_cast<AllocaInst>(Arg->stripPointerCasts());
2601 AllocaInst *AI = dyn_cast<AllocaInst>(Arg->stripPointerCasts());
2683 if (isa<AllocaInst>(Inst)) NumAllocas++;
2905 AllocaInst *AI = IRB.CreateAlloca(
2932 AllocaInst *Alloca;
3003 for (auto *AI : StaticAllocasToMoveUp)
3012 for (AllocaInst *AI : AllocaVec) {
3031 DenseMap<const AllocaInst *, ASanStackVariableDescription *> AllocaToSVDMap;
3127 AllocaInst *AI = Desc.AI;
3260 void FunctionStackPoisoner::handleDynamicAllocaCall(AllocaInst *AI) {
3299 AllocaInst *NewAlloca = IRB.CreateAlloca(IRB.getInt8Ty(), NewSize);
lib/Transforms/Instrumentation/DataFlowSanitizer.cpp 392 AllocaInst *LabelReturnAlloca = nullptr;
394 DenseMap<AllocaInst *, AllocaInst *> AllocaShadowMap;
394 DenseMap<AllocaInst *, AllocaInst *> AllocaShadowMap;
455 void visitAllocaInst(AllocaInst &I);
981 while (isa<PHINode>(Pos) || isa<AllocaInst>(Pos))
1185 if (AllocaInst *AI = dyn_cast<AllocaInst>(Addr)) {
1185 if (AllocaInst *AI = dyn_cast<AllocaInst>(Addr)) {
1329 if (AllocaInst *AI = dyn_cast<AllocaInst>(Addr)) {
1329 if (AllocaInst *AI = dyn_cast<AllocaInst>(Addr)) {
1438 void DFSanVisitor::visitAllocaInst(AllocaInst &I) {
1619 auto *LabelVAAlloca = new AllocaInst(
1619 auto *LabelVAAlloca = new AllocaInst(
1634 new AllocaInst(DFSF.DFS.ShadowTy,
1724 AllocaInst *VarArgShadow =
1725 new AllocaInst(VarArgArrayTy, getDataLayout().getAllocaAddrSpace(),
lib/Transforms/Instrumentation/GCOVProfiling.cpp 622 if (isa<AllocaInst>(*It)) return true;
lib/Transforms/Instrumentation/HWAddressSanitizer.cpp 218 bool isInterestingAlloca(const AllocaInst &AI);
219 bool tagAlloca(IRBuilder<> &IRB, AllocaInst *AI, Value *Tag, size_t Size);
223 SmallVectorImpl<AllocaInst *> &Allocas,
224 DenseMap<AllocaInst *, std::vector<DbgDeclareInst *>> &AllocaDeclareMap,
230 Value *getAllocaTag(IRBuilder<> &IRB, Value *StackTag, AllocaInst *AI,
762 static uint64_t getAllocaSizeInBytes(const AllocaInst &AI) {
774 bool HWAddressSanitizer::tagAlloca(IRBuilder<> &IRB, AllocaInst *AI,
855 AllocaInst *AI, unsigned AllocaNo) {
1042 SmallVectorImpl<AllocaInst *> &Allocas,
1043 DenseMap<AllocaInst *, std::vector<DbgDeclareInst *>> &AllocaDeclareMap,
1051 auto *AI = Allocas[N];
1087 bool HWAddressSanitizer::isInterestingAlloca(const AllocaInst &AI) {
1113 SmallVector<AllocaInst*, 8> AllocasToInstrument;
1116 DenseMap<AllocaInst *, std::vector<DbgDeclareInst *>> AllocaDeclareMap;
1120 if (AllocaInst *AI = dyn_cast<AllocaInst>(&Inst)) {
1120 if (AllocaInst *AI = dyn_cast<AllocaInst>(&Inst)) {
1131 if (auto *Alloca = dyn_cast_or_null<AllocaInst>(DDI->getAddress()))
1131 if (auto *Alloca = dyn_cast_or_null<AllocaInst>(DDI->getAddress()))
1182 DenseMap<AllocaInst *, AllocaInst *> AllocaToPaddedAllocaMap;
1182 DenseMap<AllocaInst *, AllocaInst *> AllocaToPaddedAllocaMap;
1183 for (AllocaInst *AI : AllocasToInstrument) {
1197 auto *NewAI = new AllocaInst(
1197 auto *NewAI = new AllocaInst(
1214 if (auto *AI =
1215 dyn_cast_or_null<AllocaInst>(DVI->getVariableLocation()))
1216 if (auto *NewAI = AllocaToPaddedAllocaMap.lookup(AI))
1232 if (auto *AI = dyn_cast<AllocaInst>(I))
1232 if (auto *AI = dyn_cast<AllocaInst>(I))
lib/Transforms/Instrumentation/Instrumentation.cpp 46 if (auto *AI = dyn_cast<AllocaInst>(I)) {
46 if (auto *AI = dyn_cast<AllocaInst>(I)) {
lib/Transforms/Instrumentation/MemorySanitizer.cpp 1046 SmallSet<AllocaInst *, 16> AllocaSet;
1047 SmallVector<std::pair<IntrinsicInst *, AllocaInst *>, 16> LifetimeStartList;
1314 for (AllocaInst *AI : AllocaSet)
2584 DenseMap<Value *, AllocaInst *> AllocaForValue;
2585 AllocaInst *AI =
3434 Value *getLocalVarDescription(AllocaInst &I) {
3447 void poisonAllocaUserspace(AllocaInst &I, IRBuilder<> &IRB, Value *Len) {
3469 void poisonAllocaKmsan(AllocaInst &I, IRBuilder<> &IRB, Value *Len) {
3481 void instrumentAlloca(AllocaInst &I, Instruction *InsPoint = nullptr) {
3497 void visitAllocaInst(AllocaInst &I) {
lib/Transforms/Instrumentation/ThreadSanitizer.cpp 400 if (isa<AllocaInst>(GetUnderlyingObject(Addr, DL)) &&
lib/Transforms/ObjCARC/ObjCARCContract.cpp 530 if (isa<AllocaInst>(Inst))
lib/Transforms/ObjCARC/ObjCARCOpts.cpp 1845 bool KnownSafe = isa<Constant>(Arg) || isa<AllocaInst>(Arg);
2003 if (AllocaInst *Alloca = dyn_cast<AllocaInst>(Arg)) {
2003 if (AllocaInst *Alloca = dyn_cast<AllocaInst>(Arg)) {
lib/Transforms/Scalar/DeadStoreElimination.cpp 728 if (isa<AllocaInst>(UnderlyingPointer) || isa<Argument>(UnderlyingPointer)) {
761 if (isa<AllocaInst>(&I))
831 if (isa<AllocaInst>(BBI)) {
1161 bool IsStoreDeadOnUnwind = isa<AllocaInst>(Underlying);
lib/Transforms/Scalar/GVN.cpp 927 if (isa<AllocaInst>(DepInst) || isMallocLikeFn(DepInst, TLI) ||
2044 if (isa<AllocaInst>(I) || I->isTerminator() || isa<PHINode>(I)) {
2244 if (isa<AllocaInst>(CurInst) || CurInst->isTerminator() ||
lib/Transforms/Scalar/GVNHoist.cpp 900 } else if (auto *ReplacementAlloca = dyn_cast<AllocaInst>(Repl)) {
900 } else if (auto *ReplacementAlloca = dyn_cast<AllocaInst>(Repl)) {
903 cast<AllocaInst>(I)->getAlignment())));
lib/Transforms/Scalar/GVNSink.cpp 580 if (isa<PHINode>(I) || I->isEHPad() || isa<AllocaInst>(I) ||
lib/Transforms/Scalar/IndVarSimplify.cpp 2603 if (isa<AllocaInst>(I))
lib/Transforms/Scalar/LICM.cpp 1841 if (isa<AllocaInst>(Object))
1947 IsKnownThreadLocalObject = !isa<AllocaInst>(Object);
2083 (isAllocLikeFn(Object, TLI) || isa<AllocaInst>(Object)) &&
lib/Transforms/Scalar/MemCpyOptimizer.cpp 629 bool CpyDestIsLocal = isa<AllocaInst>(CpyDest);
749 AllocaInst *srcAlloca = dyn_cast<AllocaInst>(cpySrc);
749 AllocaInst *srcAlloca = dyn_cast<AllocaInst>(cpySrc);
767 if (AllocaInst *A = dyn_cast<AllocaInst>(cpyDest)) {
767 if (AllocaInst *A = dyn_cast<AllocaInst>(cpyDest)) {
812 if (!isDestSufficientlyAligned && !isa<AllocaInst>(cpyDest))
902 cast<AllocaInst>(cpyDest)->setAlignment(MaybeAlign(srcAlign));
1070 if (isa<AllocaInst>(I))
lib/Transforms/Scalar/NewGVN.cpp 1472 if (isa<AllocaInst>(DepInst) || isMallocLikeFn(DepInst, TLI)) {
lib/Transforms/Scalar/Reg2Mem.cpp 83 while (isa<AllocaInst>(I)) ++I;
95 if (!(isa<AllocaInst>(iib) && iib->getParent() == BBEntry) &&
lib/Transforms/Scalar/RewriteStatepointsForGC.cpp 1631 DenseMap<Value *, AllocaInst *> &AllocaMap,
1650 cast<AllocaInst>(Alloca)->getAllocatedType(),
1666 DenseMap<Value *, AllocaInst *> &AllocaMap,
1694 if (isa<AllocaInst>(I))
1699 DenseMap<Value *, AllocaInst *> AllocaMap;
1700 SmallVector<AllocaInst *, 200> PromotableAllocas;
1709 AllocaInst *Alloca = new AllocaInst(LiveValue->getType(),
1709 AllocaInst *Alloca = new AllocaInst(LiveValue->getType(),
1766 SmallVector<AllocaInst *, 64> ToClobber;
1769 AllocaInst *Alloca = Pair.second;
1779 for (auto *AI : ToClobber) {
1801 AllocaInst *Alloca = Pair.second;
1873 if (isa<AllocaInst>(I))
lib/Transforms/Scalar/SROA.cpp 234 AllocaSlices(const DataLayout &DL, AllocaInst &AI);
308 AllocaInst &AI;
663 SliceBuilder(const DataLayout &DL, AllocaInst &AI, AllocaSlices &AS)
1050 AllocaSlices::AllocaSlices(const DataLayout &DL, AllocaInst &AI)
2273 AllocaInst &OldAI, &NewAI;
2321 AllocaInst &OldAI, AllocaInst &NewAI,
2321 AllocaInst &OldAI, AllocaInst &NewAI,
2661 if (AllocaInst *AI = dyn_cast<AllocaInst>(V->stripInBoundsOffsets()))
2661 if (AllocaInst *AI = dyn_cast<AllocaInst>(V->stripInBoundsOffsets()))
2946 if (AllocaInst *AI =
2947 dyn_cast<AllocaInst>(OtherPtr->stripInBoundsOffsets())) {
3628 bool SROA::presplitLoadsAndStores(AllocaInst &AI, AllocaSlices &AS) {
3823 SmallPtrSet<AllocaInst *, 4> ResplitPromotableAllocas;
3934 if (AllocaInst *OtherAI = dyn_cast<AllocaInst>(StoreBasePtr)) {
3934 if (AllocaInst *OtherAI = dyn_cast<AllocaInst>(StoreBasePtr)) {
3937 } else if (AllocaInst *OtherAI = dyn_cast<AllocaInst>(
3937 } else if (AllocaInst *OtherAI = dyn_cast<AllocaInst>(
4050 if (AllocaInst *OtherAI = dyn_cast<AllocaInst>(LoadBasePtr)) {
4050 if (AllocaInst *OtherAI = dyn_cast<AllocaInst>(LoadBasePtr)) {
4054 } else if (AllocaInst *OtherAI = dyn_cast<AllocaInst>(
4054 } else if (AllocaInst *OtherAI = dyn_cast<AllocaInst>(
4113 AllocaInst *SROA::rewritePartition(AllocaInst &AI, AllocaSlices &AS,
4113 AllocaInst *SROA::rewritePartition(AllocaInst &AI, AllocaSlices &AS,
4148 AllocaInst *NewAI;
4165 NewAI = new AllocaInst(
4255 bool SROA::splitAlloca(AllocaInst &AI, AllocaSlices &AS) {
4324 AllocaInst *Alloca;
4327 Fragment(AllocaInst *AI, uint64_t O, uint64_t S)
4334 if (AllocaInst *NewAI = rewritePartition(AI, AS, P)) {
4434 bool SROA::runOnAlloca(AllocaInst &AI) {
4508 SmallPtrSetImpl<AllocaInst *> &DeletedAllocas) {
4517 if (AllocaInst *AI = dyn_cast<AllocaInst>(I)) {
4517 if (AllocaInst *AI = dyn_cast<AllocaInst>(I)) {
4567 if (AllocaInst *AI = dyn_cast<AllocaInst>(I))
4567 if (AllocaInst *AI = dyn_cast<AllocaInst>(I))
4574 SmallPtrSet<AllocaInst *, 4> DeletedAllocas;
lib/Transforms/Scalar/Sink.cpp 144 if (AllocaInst *AI = dyn_cast<AllocaInst>(Inst))
144 if (AllocaInst *AI = dyn_cast<AllocaInst>(Inst))
lib/Transforms/Scalar/TailRecursionElimination.cpp 97 auto *AI = dyn_cast<AllocaInst>(&I);
97 auto *AI = dyn_cast<AllocaInst>(&I);
202 if (AllocaInst *AI = dyn_cast<AllocaInst>(&I))
202 if (AllocaInst *AI = dyn_cast<AllocaInst>(&I))
585 if (AllocaInst *AI = dyn_cast<AllocaInst>(OEBI++))
585 if (AllocaInst *AI = dyn_cast<AllocaInst>(OEBI++))
lib/Transforms/Utils/CloneFunction.cpp 64 if (const AllocaInst *AI = dyn_cast<AllocaInst>(&I)) {
64 if (const AllocaInst *AI = dyn_cast<AllocaInst>(&I)) {
374 if (const AllocaInst *AI = dyn_cast<AllocaInst>(II)) {
374 if (const AllocaInst *AI = dyn_cast<AllocaInst>(II)) {
lib/Transforms/Utils/CodeExtractor.cpp 119 if (isa<AllocaInst>(I)) {
311 if (auto *AI = dyn_cast<AllocaInst>(&II))
311 if (auto *AI = dyn_cast<AllocaInst>(&II))
336 if (!isa<AllocaInst>(Base)) {
362 BasicBlock &BB, AllocaInst *Addr) const {
373 AllocaInst *AI = cast<AllocaInst>(Addr->stripInBoundsConstantOffsets());
373 AllocaInst *AI = cast<AllocaInst>(Addr->stripInBoundsConstantOffsets());
510 for (AllocaInst *AI : CEAC.getAllocas()) {
1092 AllocaInst *alloca =
1093 new AllocaInst(output->getType(), DL.getAllocaAddrSpace(),
1102 AllocaInst *Struct = nullptr;
1111 Struct = new AllocaInst(StructArgTy, DL.getAllocaAddrSpace(), nullptr,
1481 AllocaInst *FirstSunkAlloca = nullptr;
1483 if (auto *AI = dyn_cast<AllocaInst>(II)) {
1483 if (auto *AI = dyn_cast<AllocaInst>(II)) {
1492 if (!isa<AllocaInst>(II)) {
lib/Transforms/Utils/DemoteRegToStack.cpp 23 AllocaInst *llvm::DemoteRegToStack(Instruction &I, bool VolatileLoads,
34 AllocaInst *Slot;
36 Slot = new AllocaInst(I.getType(), DL.getAllocaAddrSpace(), nullptr,
39 Slot = new AllocaInst(I.getType(), DL.getAllocaAddrSpace(), nullptr,
110 AllocaInst *llvm::DemotePHIToStack(PHINode *P, Instruction *AllocaPoint) {
119 AllocaInst *Slot;
121 Slot = new AllocaInst(P->getType(), DL.getAllocaAddrSpace(), nullptr,
125 Slot = new AllocaInst(P->getType(), DL.getAllocaAddrSpace(), nullptr,
lib/Transforms/Utils/Evaluator.cpp 466 } else if (AllocaInst *AI = dyn_cast<AllocaInst>(CurInst)) {
466 } else if (AllocaInst *AI = dyn_cast<AllocaInst>(CurInst)) {
lib/Transforms/Utils/FunctionComparator.cpp 536 if (const AllocaInst *AI = dyn_cast<AllocaInst>(L)) {
536 if (const AllocaInst *AI = dyn_cast<AllocaInst>(L)) {
538 cast<AllocaInst>(R)->getAllocatedType()))
540 return cmpNumbers(AI->getAlignment(), cast<AllocaInst>(R)->getAlignment());
lib/Transforms/Utils/InlineFunction.cpp 1304 new AllocaInst(AggTy, DL.getAllocaAddrSpace(), nullptr, Alignment,
1306 IFI.StaticAllocas.push_back(cast<AllocaInst>(NewAlloca));
1324 static bool hasLifetimeMarkers(AllocaInst *AI) {
1344 static bool allocaWouldBeStaticInEntry(const AllocaInst *AI ) {
1435 if (auto *AI = dyn_cast<AllocaInst>(BI))
1435 if (auto *AI = dyn_cast<AllocaInst>(BI))
1826 AllocaInst *AI = dyn_cast<AllocaInst>(I++);
1826 AllocaInst *AI = dyn_cast<AllocaInst>(I++);
1844 while (isa<AllocaInst>(I) &&
1845 !cast<AllocaInst>(I)->use_empty() &&
1846 allocaWouldBeStaticInEntry(cast<AllocaInst>(I))) {
1847 IFI.StaticAllocas.push_back(cast<AllocaInst>(I));
1959 AllocaInst *AI = IFI.StaticAllocas[ai];
lib/Transforms/Utils/Local.cpp 1142 if (AllocaInst *AI = dyn_cast<AllocaInst>(V)) {
1142 if (AllocaInst *AI = dyn_cast<AllocaInst>(V)) {
1265 if (auto *AI = dyn_cast_or_null<AllocaInst>(DII->getVariableLocation()))
1265 if (auto *AI = dyn_cast_or_null<AllocaInst>(DII->getVariableLocation()))
1379 static bool isArray(AllocaInst *AI) {
1385 static bool isStructure(AllocaInst *AI) {
1404 AllocaInst *AI = dyn_cast_or_null<AllocaInst>(DDI->getAddress());
1404 AllocaInst *AI = dyn_cast_or_null<AllocaInst>(DDI->getAddress());
1559 bool llvm::replaceDbgDeclareForAlloca(AllocaInst *AI, Value *NewAllocaAddress,
1589 void llvm::replaceDbgValueForAlloca(AllocaInst *AI, Value *NewAllocaAddress,
2943 return !cast<AllocaInst>(I)->isStaticAlloca();
2955 using AllocaForValueMapTy = DenseMap<Value *, AllocaInst *>;
2956 AllocaInst *llvm::findAllocaForValue(Value *V,
2958 if (AllocaInst *AI = dyn_cast<AllocaInst>(V))
2958 if (AllocaInst *AI = dyn_cast<AllocaInst>(V))
2968 AllocaInst *Res = nullptr;
2976 AllocaInst *IncValueAI = findAllocaForValue(IncValue, AllocaForValue);
lib/Transforms/Utils/LoopRotationUtils.cpp 335 !isa<DbgInfoIntrinsic>(Inst) && !isa<AllocaInst>(Inst)) {
lib/Transforms/Utils/Mem2Reg.cpp 36 std::vector<AllocaInst *> Allocas;
46 if (AllocaInst *AI = dyn_cast<AllocaInst>(I)) // Is it an alloca?
46 if (AllocaInst *AI = dyn_cast<AllocaInst>(I)) // Is it an alloca?
lib/Transforms/Utils/PromoteMemoryToRegister.cpp 64 bool llvm::isAllocaPromotable(const AllocaInst *AI) {
129 void AnalyzeAlloca(AllocaInst *AI) {
192 return (isa<LoadInst>(I) && isa<AllocaInst>(I->getOperand(0))) ||
193 (isa<StoreInst>(I) && isa<AllocaInst>(I->getOperand(1)));
227 std::vector<AllocaInst *> Allocas;
238 DenseMap<AllocaInst *, unsigned> AllocaLookup;
268 PromoteMem2Reg(ArrayRef<AllocaInst *> Allocas, DominatorTree &DT,
291 void ComputeLiveInBlocks(AllocaInst *AI, AllocaInfo &Info,
315 static void removeLifetimeIntrinsicUsers(AllocaInst *AI) {
347 static bool rewriteSingleStoreAlloca(AllocaInst *AI, AllocaInfo &Info,
444 static bool promoteSingleBlockAlloca(AllocaInst *AI, const AllocaInfo &Info,
541 AllocaInst *AI = Allocas[AllocaNum];
774 AllocaInst *AI, AllocaInfo &Info,
936 AllocaInst *Src = dyn_cast<AllocaInst>(LI->getPointerOperand());
936 AllocaInst *Src = dyn_cast<AllocaInst>(LI->getPointerOperand());
940 DenseMap<AllocaInst *, unsigned>::iterator AI = AllocaLookup.find(Src);
959 AllocaInst *Dest = dyn_cast<AllocaInst>(SI->getPointerOperand());
959 AllocaInst *Dest = dyn_cast<AllocaInst>(SI->getPointerOperand());
963 DenseMap<AllocaInst *, unsigned>::iterator ai = AllocaLookup.find(Dest);
1000 void llvm::PromoteMemToReg(ArrayRef<AllocaInst *> Allocas, DominatorTree &DT,
lib/Transforms/Utils/SimplifyCFG.cpp 1454 if (isa<PHINode>(I) || I->isEHPad() || isa<AllocaInst>(I) ||
1504 return isa<AllocaInst>(I->getOperand(1)->stripPointerCasts());
1508 return isa<AllocaInst>(I->getOperand(0)->stripPointerCasts());
1512 return isa<AllocaInst>(I->getOperand(1)->stripPointerCasts());
lib/Transforms/Utils/ValueMapper.cpp 916 if (auto *AI = dyn_cast<AllocaInst>(I))
916 if (auto *AI = dyn_cast<AllocaInst>(I))
tools/clang/lib/CodeGen/Address.h 108 template <class U> inline U cast(CodeGen::Address addr) {
tools/clang/lib/CodeGen/CGBlocks.cpp 1490 cast<llvm::AllocaInst>(alloc.getPointer()), Builder);
tools/clang/lib/CodeGen/CGBuiltin.cpp 48 static void initializeAlloca(CodeGenFunction &CGF, AllocaInst *AI, Value *Size, unsigned AlignmentInBytes) {
2365 AllocaInst *AI = Builder.CreateAlloca(Builder.getInt8Ty(), Size);
2378 AllocaInst *AI = Builder.CreateAlloca(Builder.getInt8Ty(), Size);
tools/clang/lib/CodeGen/CGCall.cpp 3835 llvm::AllocaInst *AI;
3838 AI = new llvm::AllocaInst(ArgStruct, DL.getAllocaAddrSpace(),
4058 cast<llvm::AllocaInst>(V)->setSwiftError(true);
tools/clang/lib/CodeGen/CGCleanup.cpp 78 auto alignment = cast<llvm::AllocaInst>(value)->getAlignment();
451 auto *AI = dyn_cast<llvm::AllocaInst>(Inst);
451 auto *AI = dyn_cast<llvm::AllocaInst>(Inst);
tools/clang/lib/CodeGen/CGCleanup.h 245 llvm::AllocaInst *ActiveFlag;
329 ActiveFlag = cast<llvm::AllocaInst>(Var.getPointer());
tools/clang/lib/CodeGen/CGDebugInfo.cpp 4215 llvm::AllocaInst *Alloca,
tools/clang/lib/CodeGen/CGDebugInfo.h 460 llvm::AllocaInst *LocalAddr,
tools/clang/lib/CodeGen/CGException.cpp 1716 if (auto *ParentAlloca = dyn_cast<llvm::AllocaInst>(ParentVar.getPointer())) {
1716 if (auto *ParentAlloca = dyn_cast<llvm::AllocaInst>(ParentVar.getPointer())) {
tools/clang/lib/CodeGen/CGExpr.cpp 106 llvm::AllocaInst *CodeGenFunction::CreateTempAlloca(llvm::Type *Ty,
111 return new llvm::AllocaInst(Ty, CGM.getDataLayout().getAllocaAddrSpace(),
680 auto PtrToAlloca = dyn_cast<llvm::AllocaInst>(Ptr->stripPointerCasts());
tools/clang/lib/CodeGen/CGObjCMac.cpp 4318 if (isa<llvm::AllocaInst>(*I) && !AllocasToIgnore.count(&*I))
tools/clang/lib/CodeGen/CodeGenFunction.cpp 427 cast<llvm::AllocaInst>(NormalCleanupDest.getPointer()), DT);
457 auto *RetAlloca = dyn_cast<llvm::AllocaInst>(ReturnValue.getPointer());
457 auto *RetAlloca = dyn_cast<llvm::AllocaInst>(ReturnValue.getPointer());
tools/clang/lib/CodeGen/CodeGenFunction.h 547 llvm::AllocaInst *EHSelectorSlot = nullptr;
582 llvm::AllocaInst *ForEHVar;
586 llvm::AllocaInst *SavedExnVar;
1240 llvm::DenseMap<llvm::AllocaInst *, int> EscapedLocals;
2199 llvm::AllocaInst *CreateTempAlloca(llvm::Type *Ty, const Twine &Name = "tmp",
4392 auto alloca = cast<llvm::AllocaInst>(value.getPointer());
tools/clang/lib/CodeGen/CodeGenModule.cpp 5634 if (auto *Alloca = dyn_cast<llvm::AllocaInst>(Addr)) {
5634 if (auto *Alloca = dyn_cast<llvm::AllocaInst>(Addr)) {
tools/clang/lib/CodeGen/TargetInfo.cpp 9963 auto *BlockPtr = Builder.CreateAlloca(BlockTy, nullptr);
tools/lldb/source/Expression/IRInterpreter.cpp 807 const AllocaInst *alloca_inst = dyn_cast<AllocaInst>(inst);
807 const AllocaInst *alloca_inst = dyn_cast<AllocaInst>(inst);
tools/lldb/source/Plugins/ExpressionParser/Clang/IRForTarget.cpp 1075 AllocaInst *alloc = dyn_cast<AllocaInst>(persistent_alloc);
1075 AllocaInst *alloc = dyn_cast<AllocaInst>(persistent_alloc);
1150 if (AllocaInst *alloc = dyn_cast<AllocaInst>(&inst)) {
1150 if (AllocaInst *alloc = dyn_cast<AllocaInst>(&inst)) {
tools/lldb/source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptx86ABIFixups.cpp 172 llvm::AllocaInst *return_value_alloc = new llvm::AllocaInst(
172 llvm::AllocaInst *return_value_alloc = new llvm::AllocaInst(
184 llvm::AllocaInst *new_func_ptr =
185 new llvm::AllocaInst(new_func_ptr_type, DL.getAllocaAddrSpace(),
tools/llvm-stress/llvm-stress.cpp 473 PT->push_back(new AllocaInst(Tp, DL.getAllocaAddrSpace(),
tools/polly/include/polly/CodeGen/BlockGenerators.h 37 using AllocaMapTy = DenseMap<const ScopArrayInfo *, AssertingVH<AllocaInst>>;
tools/polly/include/polly/CodeGen/LoopGenerators.h 166 AllocaInst *storeValuesIntoStruct(SetVector<Value *> &Values);
214 createSubFn(Value *Stride, AllocaInst *Struct, SetVector<Value *> UsedValues,
tools/polly/include/polly/CodeGen/LoopGeneratorsGOMP.h 53 std::tuple<Value *, Function *> createSubFn(Value *Stride, AllocaInst *Struct,
tools/polly/include/polly/CodeGen/LoopGeneratorsKMP.h 77 std::tuple<Value *, Function *> createSubFn(Value *Stride, AllocaInst *Struct,
tools/polly/lib/Analysis/ScopDetection.cpp 1226 if (!isa<AllocaInst>(Inst))
tools/polly/lib/CodeGen/BlockGenerators.cpp 514 Addr = new AllocaInst(Ty, DL.getAllocaAddrSpace(),
tools/polly/lib/CodeGen/IslNodeBuilder.cpp 1398 auto *Alloca = new AllocaInst(AccInstTy, DL.getAllocaAddrSpace(),
1398 auto *Alloca = new AllocaInst(AccInstTy, DL.getAllocaAddrSpace(),
1498 auto *CreatedArray = new AllocaInst(NewArrayType, DL.getAllocaAddrSpace(),
1498 auto *CreatedArray = new AllocaInst(NewArrayType, DL.getAllocaAddrSpace(),
tools/polly/lib/CodeGen/LoopGenerators.cpp 179 AllocaInst *Struct = storeValuesIntoStruct(UsedValues);
217 AllocaInst *
232 AllocaInst *Struct = new AllocaInst(Ty, DL.getAllocaAddrSpace(), nullptr,
232 AllocaInst *Struct = new AllocaInst(Ty, DL.getAllocaAddrSpace(), nullptr,
tools/polly/lib/CodeGen/LoopGeneratorsGOMP.cpp 91 ParallelLoopGeneratorGOMP::createSubFn(Value *Stride, AllocaInst *StructData,
tools/polly/lib/CodeGen/LoopGeneratorsKMP.cpp 128 AllocaInst *StructData,
tools/polly/lib/CodeGen/RuntimeDebugBuilder.cpp 188 Value *Data = new AllocaInst(
tools/polly/lib/Support/ScopHelper.cpp 205 while (isa<AllocaInst>(I))
tools/polly/lib/Transform/CodePreparation.cpp 65 while (isa<AllocaInst>(I))
tools/polly/lib/Transform/RewriteByReferenceParameters.cpp 61 auto *Alloca = dyn_cast<AllocaInst>(BitCast->getOperand(0));
61 auto *Alloca = dyn_cast<AllocaInst>(BitCast->getOperand(0));
69 new AllocaInst(Alloca->getType()->getElementType(), 0,
unittests/Analysis/BasicAliasAnalysisTest.cpp 113 AllocaInst *I8 = B.CreateAlloca(B.getInt8Ty(), B.getInt32(2));
unittests/Analysis/ScalarEvolutionTest.cpp 175 AllocaInst *Alloca = new AllocaInst(I32Ty, DL.getAllocaAddrSpace(),
175 AllocaInst *Alloca = new AllocaInst(I32Ty, DL.getAllocaAddrSpace(),
unittests/FuzzMutate/OperationsTest.cpp 196 auto *AI = new AllocaInst(Type::getInt8Ty(Ctx), 0, "a", RI);
196 auto *AI = new AllocaInst(Type::getInt8Ty(Ctx), 0, "a", RI);
unittests/IR/BasicBlockTest.cpp 113 AllocaInst *Var = Builder1.CreateAlloca(Builder1.getInt8Ty());
unittests/IR/IRBuilderTest.cpp 298 AllocaInst *Var1 = Builder.CreateAlloca(Builder.getInt8Ty());
299 AllocaInst *Var2 = Builder.CreateAlloca(Builder.getInt32Ty());
300 AllocaInst *Var3 = Builder.CreateAlloca(Builder.getInt8Ty(),
702 AllocaInst *I = Builder.CreateAlloca(Builder.getInt8Ty());
727 AllocaInst *I = Builder.CreateAlloca(Builder.getInt8Ty());
unittests/Transforms/Utils/CloningTest.cpp 490 AllocaInst* Alloca = IBuilder.CreateAlloca(IntegerType::getInt32Ty(C));
unittests/Transforms/Utils/LocalTest.cpp 148 auto *AI = dyn_cast<AllocaInst>(Inst);
148 auto *AI = dyn_cast<AllocaInst>(Inst);
usr/include/c++/7.4.0/type_traits 1983 { typedef _Up type; };
utils/unittest/googletest/include/gtest/gtest-printers.h 407 T* p, ::std::ostream* os) {
416 if (IsTrue(ImplicitlyConvertible<T*, const void*>::value)) {