LLVM: lib/IR/DataLayout.cpp File Reference (original) (raw)

Go to the source code of this file.

Functions
static Error createSpecFormatError (Twine Format)
static Error parseAddrSpace (StringRef Str, unsigned &AddrSpace)
Attempts to parse an address space component of a specification.
static Error parseSize (StringRef Str, unsigned &BitWidth, StringRef Name="size")
Attempts to parse a size component of a specification.
static Error parseAlignment (StringRef Str, Align &Alignment, StringRef Name, bool AllowZero=false)
Attempts to parse an alignment component of a specification.
static APInt getElementIndex (TypeSize ElemSize, APInt &Offset)

createSpecFormatError()

Error createSpecFormatError ( Twine Format) static

getElementIndex()

Definition at line 973 of file DataLayout.cpp.

References assert(), llvm::BitWidth, llvm::details::FixedOrScalableQuantity< LeafTy, ValueTy >::getFixedValue(), llvm::APInt::getZero(), llvm::details::FixedOrScalableQuantity< LeafTy, ValueTy >::isScalable(), llvm::isUIntN(), and llvm::Offset.

Referenced by findBuildAggregateRec(), llvm::DataLayout::getGEPIndexForOffset(), llvm::DataLayout::getGEPIndicesForOffset(), slpvectorizer::BoUpSLP::getTreeCost(), isFirstInsertElement(), and slpvectorizer::BoUpSLP::vectorizeTree().

parseAddrSpace()

parseAlignment()

Attempts to parse an alignment component of a specification.

On success, returns the value converted to byte amount in Alignment. If the value is zero and AllowZero is true, Alignment is set to one.

Return an error in a number of cases:

Definition at line 297 of file DataLayout.cpp.

References llvm::createStringError(), llvm::isPowerOf2_32(), llvm::isUInt(), llvm::Error::success(), and llvm::to_integer().

parseSize()

DefaultFloatSpecs

DefaultIntSpecs

DefaultPointerSpecs

DefaultVectorSpecs