LLVM 20.0.0git
|
#include "llvm/IR/DataLayout.h"
#include "llvm/ADT/DenseMap.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/IR/Constants.h"
#include "llvm/IR/DerivedTypes.h"
#include "llvm/IR/GetElementPtrTypeIterator.h"
#include "llvm/IR/GlobalVariable.h"
#include "llvm/IR/Module.h"
#include "llvm/IR/Type.h"
#include "llvm/IR/Value.h"
#include "llvm/Support/Casting.h"
#include "llvm/Support/Error.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/MathExtras.h"
#include "llvm/Support/MemAlloc.h"
#include "llvm/Support/TypeSize.h"
#include "llvm/TargetParser/Triple.h"
#include <algorithm>
#include <cassert>
#include <cstdint>
#include <cstdlib>
#include <new>
#include <utility>
Go to the source code of this file.
Functions | |
static Error | reportError (const Twine &Message) |
static Error | split (StringRef Str, char Separator, std::pair< StringRef, StringRef > &Split) |
Checked version of split, to ensure mandatory subparts. | |
template<typename IntTy > | |
static Error | getInt (StringRef R, IntTy &Result) |
Get an unsigned integer, including error checks. | |
template<typename IntTy > | |
static Error | getIntInBytes (StringRef R, IntTy &Result) |
Get an unsigned integer representing the number of bits and convert it into bytes. | |
static Error | getAddrSpace (StringRef R, unsigned &AddrSpace) |
static SmallVectorImpl< LayoutAlignElem >::const_iterator | findAlignmentLowerBound (const SmallVectorImpl< LayoutAlignElem > &Alignments, uint32_t BitWidth) |
static APInt | getElementIndex (TypeSize ElemSize, APInt &Offset) |
Variables | |
static const std::pair< AlignTypeEnum, LayoutAlignElem > | DefaultAlignments [] |
|
static |
Definition at line 579 of file DataLayout.cpp.
References llvm::BitWidth, llvm::partition_point(), and llvm::LayoutAlignElem::TypeBitWidth.
Definition at line 266 of file DataLayout.cpp.
References getInt(), reportError(), and llvm::Error::success().
Referenced by llvm::AMDGPUTargetLowering::isSDNodeAlwaysUniform().
Definition at line 941 of file DataLayout.cpp.
References assert(), llvm::BitWidth, llvm::APInt::getZero(), llvm::details::FixedOrScalableQuantity< LeafTy, ValueTy >::isScalable(), llvm::isUIntN(), and llvm::Offset.
Referenced by areTwoInsertFromSameBuildVector(), findBuildAggregate_rec(), llvm::DataLayout::getGEPIndexForOffset(), llvm::DataLayout::getGEPIndicesForOffset(), llvm::slpvectorizer::BoUpSLP::getReorderingData(), llvm::slpvectorizer::BoUpSLP::getTreeCost(), isFirstInsertElement(), and llvm::slpvectorizer::BoUpSLP::vectorizeTree().
Get an unsigned integer, including error checks.
Definition at line 247 of file DataLayout.cpp.
References error, reportError(), and llvm::Error::success().
Referenced by getAddrSpace().
Get an unsigned integer representing the number of bits and convert it into bytes.
Error out of not a byte width multiple.
Definition at line 257 of file DataLayout.cpp.
References reportError(), and llvm::Error::success().
Definition at line 230 of file DataLayout.cpp.
References llvm::createStringError(), and llvm::inconvertibleErrorCode().
|
static |
Checked version of split, to ensure mandatory subparts.
Definition at line 235 of file DataLayout.cpp.
References assert(), reportError(), and llvm::Error::success().
Referenced by llvm::jitlink::identifyMachOSectionStartAndEndSymbols(), and llvm::StringRef::split().
|
static |
Definition at line 181 of file DataLayout.cpp.
Referenced by llvm::DataLayout::reset().