LLVM
8.0.1
|
Builder for the alloca slices. More...
Public Member Functions | |
SliceBuilder (const DataLayout &DL, AllocaInst &AI, AllocaSlices &AS) | |
Public Member Functions inherited from llvm::PtrUseVisitor< SliceBuilder > | |
PtrUseVisitor (const DataLayout &DL) | |
PtrInfo | visitPtr (Instruction &I) |
Recursively visit the uses of the given pointer. More... | |
Friends | |
class | PtrUseVisitor< SliceBuilder > |
class | InstVisitor< SliceBuilder > |
Builder for the alloca slices.
This class builds a set of alloca slices by recursively visiting the uses of an alloca and making a slice for each load and store at each offset.
|
inline |
Definition at line 671 of file SROA.cpp.
References llvm::sroa::AllocaSlices::AllocaSlices(), assert(), llvm::sys::path::begin(), llvm::SmallPtrSetImpl< PtrType >::count(), llvm::count(), llvm::dbgs(), llvm::sroa::AllocaSlices::dump(), llvm::dyn_cast(), E, llvm::SmallVectorBase::empty(), llvm::sys::path::end(), llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::end(), llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::find(), foldPHINodeOrSelectInst(), GEP, llvm::gep_type_begin(), llvm::gep_type_end(), llvm::detail::PtrUseVisitorBase::PtrInfo::getAbortingInst(), llvm::CallBase::getArgOperand(), llvm::APInt::getBitWidth(), llvm::Module::getDataLayout(), llvm::StructLayout::getElementOffset(), llvm::detail::PtrUseVisitorBase::PtrInfo::getEscapingInst(), llvm::MemIntrinsicBase< Derived >::getLength(), llvm::ConstantInt::getLimitedValue(), llvm::APInt::getLimitedValue(), llvm::Instruction::getModule(), llvm::User::getOperand(), llvm::MemIntrinsicBase< Derived >::getRawDest(), llvm::MemTransferBase< BaseCL >::getRawSource(), llvm::DataLayout::getStructLayout(), llvm::Value::getType(), llvm::DataLayout::getTypeAllocSize(), llvm::DataLayout::getTypeStoreSize(), llvm::ConstantInt::getValue(), llvm::StoreInst::getValueOperand(), llvm::ConstantInt::getZExtValue(), llvm::APInt::getZExtValue(), I, Indent, llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::insert(), llvm::SmallPtrSetImpl< PtrType >::insert(), llvm::detail::PtrUseVisitorBase::PtrInfo::isAborted(), llvm::detail::PtrUseVisitorBase::PtrInfo::isEscaped(), llvm::GetElementPtrInst::isInBounds(), llvm::Type::isIntegerTy(), llvm::Instruction::isLifetimeStartOrEnd(), llvm::LoadInst::isSimple(), llvm::StoreInst::isSimple(), llvm::Type::isSingleValueType(), llvm::AMDGPU::HSAMD::Kernel::Arg::Key::IsVolatile, llvm::LoadInst::isVolatile(), llvm::StoreInst::isVolatile(), llvm::MemIntrinsic::isVolatile(), LLVM_DEBUG, LLVM_DUMP_METHOD, llvm::max(), now(), llvm::SmallVectorImpl< T >::pop_back_val(), print(), llvm::sroa::AllocaSlices::print(), llvm::sroa::AllocaSlices::printSlice(), llvm::sroa::AllocaSlices::printUse(), llvm::SmallVectorTemplateBase< T, bool >::push_back(), llvm::SmallVectorTemplateBase< T >::push_back(), llvm::remove_if(), llvm::APInt::sextOrTrunc(), SI, Size, llvm::SmallVectorBase::size(), llvm::sort(), SROARandomShuffleSlices, SROAStrictInbounds, llvm::APInt::uge(), llvm::APInt::ugt(), llvm::Value::use_empty(), llvm::Value::users(), and llvm::PtrUseVisitor< DerivedT >::visitPtr().
|
friend |
|
friend |