Lines Matching refs:AI
160 bool StackProtector::HasAddressTaken(const Instruction *AI) { in HasAddressTaken() argument
161 for (const User *U : AI->users()) { in HasAddressTaken()
163 if (AI == SI->getValueOperand()) in HasAddressTaken()
166 if (AI == SI->getOperand(0)) in HasAddressTaken()
250 if (const AllocaInst *AI = dyn_cast<AllocaInst>(&I)) { in RequiresStackProtector() local
251 if (AI->isArrayAllocation()) { in RequiresStackProtector()
260 if (const auto *CI = dyn_cast<ConstantInt>(AI->getArraySize())) { in RequiresStackProtector()
264 Layout.insert(std::make_pair(AI, in RequiresStackProtector()
270 Layout.insert(std::make_pair(AI, in RequiresStackProtector()
277 Layout.insert(std::make_pair(AI, in RequiresStackProtector()
286 if (ContainsProtectableArray(AI->getAllocatedType(), IsLarge, Strong)) { in RequiresStackProtector()
287 Layout.insert(std::make_pair(AI, IsLarge in RequiresStackProtector()
301 if (Strong && HasAddressTaken(AI)) { in RequiresStackProtector()
303 Layout.insert(std::make_pair(AI, MachineFrameInfo::SSPLK_AddrOf)); in RequiresStackProtector()
356 const TargetLoweringBase *TLI, AllocaInst *&AI) { in CreatePrologue() argument
360 AI = B.CreateAlloca(PtrTy, nullptr, "StackGuardSlot"); in CreatePrologue()
364 {GuardSlot, AI}); in CreatePrologue()
382 AllocaInst *AI = nullptr; // Place on stack that stores the stack guard. in InsertStackProtectors() local
393 SupportsSelectionDAGSP &= CreatePrologue(F, M, RI, TLI, AI); in InsertStackProtectors()
403 if (!AI) { in InsertStackProtectors()
406 AI = cast<AllocaInst>(SPCall->getArgOperand(1)); in InsertStackProtectors()
421 LoadInst *Guard = B.CreateLoad(AI, true, "Guard"); in InsertStackProtectors()
477 LoadInst *LI2 = B.CreateLoad(AI, true); in InsertStackProtectors()
531 const AllocaInst *AI = MFI.getObjectAllocation(I); in copyToMachineFrameInfo() local
532 if (!AI) in copyToMachineFrameInfo()
535 SSPLayoutMap::const_iterator LI = Layout.find(AI); in copyToMachineFrameInfo()