|
LLVM
4.0.0
|
Used to lazily calculate structure layout information for a target machine, based on the DataLayout structure. More...
#include <DataLayout.h>
Public Member Functions | |
| uint64_t | getSizeInBytes () const |
| uint64_t | getSizeInBits () const |
| unsigned | getAlignment () const |
| bool | hasPadding () const |
| Returns whether the struct has padding or not between its fields. More... | |
| unsigned | getElementContainingOffset (uint64_t Offset) const |
| Given a valid byte offset into the structure, returns the structure index that contains it. More... | |
| uint64_t | getElementOffset (unsigned Idx) const |
| uint64_t | getElementOffsetInBits (unsigned Idx) const |
Friends | |
| class | DataLayout |
Used to lazily calculate structure layout information for a target machine, based on the DataLayout structure.
Definition at line 496 of file DataLayout.h.
|
inline |
Definition at line 507 of file DataLayout.h.
| unsigned StructLayout::getElementContainingOffset | ( | uint64_t | Offset | ) | const |
Given a valid byte offset into the structure, returns the structure index that contains it.
getElementContainingOffset - Given a valid offset into the structure, return the structure index that contains it.
Definition at line 79 of file DataLayout.cpp.
Referenced by getNaturalGEPRecursively(), getTypePartition(), and stripAggregateTypeWrapping().
|
inline |
Definition at line 517 of file DataLayout.h.
References assert().
Referenced by llvm::GEPOperator::accumulateConstantOffset(), aliasSameBasePointerGEPs(), computeKnownBitsFromOperator(), llvm::ComputeValueVTs(), llvm::EmitGEPOffset(), emitGlobalConstantStruct(), evaluateGEPOffsetExpression(), getElementOffsetInBits(), llvm::TargetTransformInfoImplCRTPBase< AMDGPUTTIImpl >::getGEPCost(), llvm::DataLayout::getIndexedOffsetInType(), getNaturalGEPRecursively(), GetOffsetFromIndex(), getTypePartition(), llvm::ExecutionEngine::InitializeMemory(), isGEPKnownNonNull(), llvm::FastISel::selectGetElementPtr(), and SRAGlobal().
|
inline |
Definition at line 522 of file DataLayout.h.
References getElementOffset().
|
inline |
Definition at line 505 of file DataLayout.h.
Referenced by llvm::DataLayout::getTypeSizeInBits().
|
inline |
Definition at line 503 of file DataLayout.h.
Referenced by aliasSameBasePointerGEPs(), computeArraySize(), emitGlobalConstantStruct(), getNaturalGEPRecursively(), getTypePartition(), PerformHeapAllocSRoA(), and tryToOptimizeStoreOfMallocToGlobal().
|
inline |
Returns whether the struct has padding or not between its fields.
NB: Padding in nested element is not taken into account.
Definition at line 511 of file DataLayout.h.
|
friend |
Definition at line 527 of file DataLayout.h.
1.8.6