LLVM API Documentation

TargetData.cpp File Reference

#include "llvm/Target/TargetData.h"
#include "llvm/Module.h"
#include "llvm/DerivedTypes.h"
#include "llvm/Constants.h"
#include "llvm/Support/GetElementPtrTypeIterator.h"
#include "llvm/Support/MathExtras.h"
#include <algorithm>

Include dependency graph for TargetData.cpp:

Go to the source code of this file.

Functions

static void getTypeInfo (const Type *Ty, const TargetData *TD, uint64_t &Size, unsigned char &Alignment)

Variables

RegisterPass< TargetDataX ("targetdata","Target Data Layout")
static std::map< std::pair<
const TargetData *, const
StructType * >, StructLayout > * 
Layouts = 0


Function Documentation

static void getTypeInfo ( const Type Ty,
const TargetData TD,
uint64_t &  Size,
unsigned char &  Alignment 
) [inline, static]

Definition at line 186 of file TargetData.cpp.

References llvm::Type::ArrayTyID, llvm::Type::BoolTyID, llvm::Type::DoubleTyID, llvm::Type::FloatTyID, llvm::TargetData::getBoolAlignment(), llvm::TargetData::getByteAlignment(), llvm::TargetData::getDoubleAlignment(), llvm::SequentialType::getElementType(), llvm::TargetData::getFloatAlignment(), llvm::TargetData::getIntAlignment(), llvm::TargetData::getLongAlignment(), llvm::PackedType::getNumElements(), llvm::ArrayType::getNumElements(), llvm::TargetData::getPointerAlignment(), llvm::TargetData::getPointerSize(), llvm::TargetData::getShortAlignment(), llvm::TargetData::getStructLayout(), llvm::Type::getTypeID(), llvm::Type::IntTyID, llvm::Type::isSized(), llvm::Type::LabelTyID, llvm::Type::LongTyID, llvm::Type::PackedTyID, llvm::Type::PointerTyID, llvm::Type::SByteTyID, llvm::Type::ShortTyID, llvm::StructLayout::StructAlignment, llvm::StructLayout::StructSize, llvm::Type::StructTyID, TD, Ty, llvm::Type::UByteTyID, llvm::Type::UIntTyID, llvm::Type::ULongTyID, llvm::Type::UShortTyID, and llvm::Type::VoidTyID.

Referenced by llvm::TargetData::getTypeAlignment(), and llvm::TargetData::getTypeSize().


Variable Documentation

std::map<std::pair<const TargetData*,const StructType*>, StructLayout>* Layouts = 0 [static]

Layouts - The lazy cache of structure layout information maintained by TargetData.

Definition at line 138 of file TargetData.cpp.

Referenced by llvm::TargetData::getStructLayout(), llvm::TargetData::InvalidateStructLayoutInfo(), and llvm::TargetData::~TargetData().

RegisterPass<TargetData> X("targetdata","Target Data Layout") [static]