Lines Matching refs:AI
61 StackProtector::getSSPLayout(const AllocaInst *AI) const { in getSSPLayout()
62 return AI ? Layout.lookup(AI) : SSPLK_None; in getSSPLayout()
166 bool StackProtector::HasAddressTaken(const Instruction *AI) { in HasAddressTaken() argument
167 for (const User *U : AI->users()) { in HasAddressTaken()
169 if (AI == SI->getValueOperand()) in HasAddressTaken()
172 if (AI == SI->getOperand(0)) in HasAddressTaken()
237 if (const AllocaInst *AI = dyn_cast<AllocaInst>(&I)) { in RequiresStackProtector() local
238 if (AI->isArrayAllocation()) { in RequiresStackProtector()
244 if (const auto *CI = dyn_cast<ConstantInt>(AI->getArraySize())) { in RequiresStackProtector()
248 Layout.insert(std::make_pair(AI, SSPLK_LargeArray)); in RequiresStackProtector()
252 Layout.insert(std::make_pair(AI, SSPLK_SmallArray)); in RequiresStackProtector()
257 Layout.insert(std::make_pair(AI, SSPLK_LargeArray)); in RequiresStackProtector()
264 if (ContainsProtectableArray(AI->getAllocatedType(), IsLarge, Strong)) { in RequiresStackProtector()
265 Layout.insert(std::make_pair(AI, IsLarge ? SSPLK_LargeArray in RequiresStackProtector()
271 if (Strong && HasAddressTaken(AI)) { in RequiresStackProtector()
273 Layout.insert(std::make_pair(AI, SSPLK_AddrOf)); in RequiresStackProtector()
319 const TargetLoweringBase *TLI, AllocaInst *&AI) { in CreatePrologue() argument
323 AI = B.CreateAlloca(PtrTy, nullptr, "StackGuardSlot"); in CreatePrologue()
327 {GuardSlot, AI}); in CreatePrologue()
340 AllocaInst *AI = nullptr; // Place on stack that stores the stack guard. in InsertStackProtectors() local
351 SupportsSelectionDAGSP &= CreatePrologue(F, M, RI, TLI, AI); in InsertStackProtectors()
371 LoadInst *Guard = B.CreateLoad(AI, true, "Guard"); in InsertStackProtectors()
427 LoadInst *LI2 = B.CreateLoad(AI, true); in InsertStackProtectors()