Lines Matching refs:DataLayout
1 //===- DataLayout.cpp - Data size & alignment routines ---------------------==//
18 #include "llvm/IR/DataLayout.h"
48 StructLayout::StructLayout(StructType *ST, const DataLayout &DL)
143 // DataLayout Class Implementation
146 bool DataLayout::PrimitiveSpec::operator==(const PrimitiveSpec &Other) const {
151 bool DataLayout::PointerSpec::operator==(const PointerSpec &Other) const {
161 bool operator()(const DataLayout::PrimitiveSpec &LHS,
169 bool operator()(const DataLayout::PointerSpec &LHS,
176 const char *DataLayout::getManglingComponent(const Triple &T) {
190 constexpr DataLayout::PrimitiveSpec DefaultIntSpecs[] = {
197 constexpr DataLayout::PrimitiveSpec DefaultFloatSpecs[] = {
203 constexpr DataLayout::PrimitiveSpec DefaultVectorSpecs[] = {
209 constexpr DataLayout::PointerSpec DefaultPointerSpecs[] = {
214 DataLayout::DataLayout()
220 DataLayout::DataLayout(StringRef LayoutString) : DataLayout() {
225 DataLayout &DataLayout::operator=(const DataLayout &Other) {
247 bool DataLayout::operator==(const DataLayout &Other) const {
264 Expected<DataLayout> DataLayout::parse(StringRef LayoutString) {
265 DataLayout Layout;
335 Error DataLayout::parsePrimitiveSpec(StringRef Spec) {
372 Error DataLayout::parseAggregateSpec(StringRef Spec) {
411 Error DataLayout::parsePointerSpec(StringRef Spec) {
462 Error DataLayout::parseSpecification(
611 Error DataLayout::parseLayoutString(StringRef LayoutString) {
640 void DataLayout::setPrimitiveSpec(char Specifier, uint32_t BitWidth,
668 const DataLayout::PointerSpec &
669 DataLayout::getPointerSpec(uint32_t AddrSpace) const {
680 void DataLayout::setPointerSpec(uint32_t AddrSpace, uint32_t BitWidth,
696 Align DataLayout::getIntegerAlignment(uint32_t BitWidth,
707 DataLayout::~DataLayout() { delete static_cast<StructLayoutMap *>(LayoutMap); }
709 const StructLayout *DataLayout::getStructLayout(StructType *Ty) const {
731 Align DataLayout::getPointerABIAlignment(unsigned AS) const {
735 Align DataLayout::getPointerPrefAlignment(unsigned AS) const {
739 unsigned DataLayout::getPointerSize(unsigned AS) const {
743 unsigned DataLayout::getPointerTypeSizeInBits(Type *Ty) const {
750 unsigned DataLayout::getIndexSize(unsigned AS) const {
754 unsigned DataLayout::getIndexTypeSizeInBits(Type *Ty) const {
769 Align DataLayout::getAlignment(Type *Ty, bool abi_or_pref) const {
843 Align DataLayout::getABITypeAlign(Type *Ty) const {
847 Align DataLayout::getPrefTypeAlign(Type *Ty) const {
851 IntegerType *DataLayout::getIntPtrType(LLVMContext &C,
856 Type *DataLayout::getIntPtrType(Type *Ty) const {
866 Type *DataLayout::getSmallestLegalIntType(LLVMContext &C, unsigned Width) const {
873 unsigned DataLayout::getLargestLegalIntTypeSizeInBits() const {
878 IntegerType *DataLayout::getIndexType(LLVMContext &C,
883 Type *DataLayout::getIndexType(Type *Ty) const {
893 int64_t DataLayout::getIndexedOffsetInType(Type *ElemTy,
941 std::optional<APInt> DataLayout::getGEPIndexForOffset(Type *&ElemTy,
971 SmallVector<APInt> DataLayout::getGEPIndicesForOffset(Type *&ElemTy,
988 Align DataLayout::getPreferredAlign(const GlobalVariable *GV) const {