LLVM API Documentation
#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 "llvm/ADT/StringExtras.h"
#include <algorithm>
#include <cstdlib>
#include <sstream>
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< TargetData > | X ("targetdata","Target Data Layout") |
static std::map< std::pair< const TargetData *, const StructType * >, StructLayout > * | Layouts = 0 |
static void getTypeInfo | ( | const Type * | Ty, | |
const TargetData * | TD, | |||
uint64_t & | Size, | |||
unsigned char & | Alignment | |||
) | [inline, static] |
Definition at line 240 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().
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 172 of file TargetData.cpp.
Referenced by llvm::TargetData::getStructLayout(), llvm::TargetData::InvalidateStructLayoutInfo(), and llvm::TargetData::~TargetData().
RegisterPass<TargetData> X("targetdata","Target Data Layout") [static] |