reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
441 AllocaInst *AI = Info.AI; 463 max(MaybeAlign(Info.AI->getAlignment()), kTagGranuleSize); 464 Info.AI->setAlignment(NewAlignment); 466 uint64_t Size = Info.AI->getAllocationSizeInBits(*DL).getValue() / 8; 473 Info.AI->isArrayAllocation() 475 Info.AI->getAllocatedType(), 476 cast<ConstantInt>(Info.AI->getArraySize())->getZExtValue()) 477 : Info.AI->getAllocatedType(); 482 TypeWithPadding, Info.AI->getType()->getAddressSpace(), nullptr, "", Info.AI); 482 TypeWithPadding, Info.AI->getType()->getAddressSpace(), nullptr, "", Info.AI); 483 NewAI->takeName(Info.AI); 484 NewAI->setAlignment(MaybeAlign(Info.AI->getAlignment())); 485 NewAI->setUsedWithInAlloca(Info.AI->isUsedWithInAlloca()); 486 NewAI->setSwiftError(Info.AI->isSwiftError()); 487 NewAI->copyMetadata(*Info.AI); 489 auto *NewPtr = new BitCastInst(NewAI, Info.AI->getType(), "", Info.AI); 489 auto *NewPtr = new BitCastInst(NewAI, Info.AI->getType(), "", Info.AI); 490 Info.AI->replaceAllUsesWith(NewPtr); 491 Info.AI->eraseFromParent(); 492 Info.AI = NewAI; 532 Allocas[AI].AI = AI; 571 assert(Info.AI); 573 if (!isInterestingAlloca(*Info.AI)) { 615 AllocaInst *AI = Info.AI; 620 IRBuilder<> IRB(Info.AI->getNextNode()); 622 F->getParent(), Intrinsic::aarch64_tagp, {Info.AI->getType()}); 624 IRB.CreateCall(TagP, {Constant::getNullValue(Info.AI->getType()), Base, 626 if (Info.AI->hasName()) 627 TagPCall->setName(Info.AI->getName() + ".tag"); 628 Info.AI->replaceAllUsesWith(TagPCall); 629 TagPCall->setOperand(0, Info.AI); 666 uint64_t Size = Info.AI->getAllocationSizeInBits(*DL).getValue() / 8; 684 MetadataAsValue::get(F->getContext(), LocalAsMetadata::get(Info.AI)));