LLVM API Documentation
#include "DwarfCompileUnit.h"
#include "DwarfAccelTable.h"
#include "DwarfDebug.h"
#include "llvm/ADT/APFloat.h"
#include "llvm/DIBuilder.h"
#include "llvm/IR/Constants.h"
#include "llvm/IR/DataLayout.h"
#include "llvm/IR/GlobalVariable.h"
#include "llvm/IR/Instructions.h"
#include "llvm/MC/MCSection.h"
#include "llvm/MC/MCStreamer.h"
#include "llvm/Target/Mangler.h"
#include "llvm/Target/TargetFrameLowering.h"
#include "llvm/Target/TargetMachine.h"
#include "llvm/Target/TargetLoweringObjectFile.h"
#include "llvm/Target/TargetRegisterInfo.h"
Go to the source code of this file.
Macros | |
#define | DEBUG_TYPE "dwarfdebug" |
Functions | |
static bool | isShareableAcrossCUs (DIDescriptor D) |
Check whether the DIE for this MDNode can be shared across CUs. More... | |
static bool | isTypeSigned (DwarfDebug *DD, DIType Ty, int *SizeInBits) |
isTypeSigned - Return true if the type is signed. More... | |
static bool | isUnsignedDIType (DwarfDebug *DD, DIType Ty) |
Return true if type encoding is unsigned. More... | |
static uint64_t | getBaseTypeSize (DwarfDebug *DD, DIDerivedType Ty) |
If this type is derived from a base type then return base type size. More... | |
static bool | isTypeUnitScoped (DIType Ty, const DwarfDebug *DD) |
static bool | shouldCreateTypeUnit (DICompositeType CTy, const DwarfDebug *DD) |
Return true if the type should be split out into a type unit. More... | |
static const ConstantExpr * | getMergedGlobalExpr (const Value *V) |
#define DEBUG_TYPE "dwarfdebug" |
Definition at line 14 of file DwarfCompileUnit.cpp.
|
static |
If this type is derived from a base type then return base type size.
Definition at line 691 of file DwarfCompileUnit.cpp.
References llvm::DIType::getSizeInBits(), llvm::DIDescriptor::getTag(), llvm::DIDerivedType::getTypeDerivedFrom(), llvm::DIDescriptor::isDerivedType(), llvm::DIType::isValid(), and llvm::DwarfDebug::resolve().
|
static |
Definition at line 1484 of file DwarfCompileUnit.cpp.
References llvm::User::getNumOperands(), llvm::ConstantExpr::getOpcode(), llvm::User::getOperand(), llvm::Value::getType(), and llvm::ConstantInt::isZero().
Referenced by llvm::CompileUnit::createGlobalVariableDIE().
|
static |
Check whether the DIE for this MDNode can be shared across CUs.
Definition at line 102 of file DwarfCompileUnit.cpp.
References llvm::DISubprogram::isDefinition(), llvm::DIDescriptor::isSubprogram(), and llvm::DIDescriptor::isType().
Referenced by llvm::CompileUnit::getDIE(), and llvm::CompileUnit::insertDIE().
|
static |
isTypeSigned - Return true if the type is signed.
Definition at line 660 of file DwarfCompileUnit.cpp.
References llvm::dwarf::DW_ATE_signed, llvm::dwarf::DW_ATE_signed_char, llvm::DIBasicType::getEncoding(), llvm::DIType::getSizeInBits(), llvm::DIDescriptor::isBasicType(), llvm::DIDescriptor::isDerivedType(), and llvm::DwarfDebug::resolve().
Referenced by llvm::CompileUnit::addConstantValue().
|
static |
Return true if the type is appropriately scoped to be contained inside its own type unit.
Definition at line 1099 of file DwarfCompileUnit.cpp.
References llvm::DIScope::getContext(), llvm::DIType::getContext(), llvm::DIDescriptor::isSubprogram(), and llvm::DwarfDebug::resolve().
Referenced by shouldCreateTypeUnit().
|
static |
Return true if type encoding is unsigned.
Definition at line 674 of file DwarfCompileUnit.cpp.
References llvm::dwarf::DW_ATE_boolean, llvm::dwarf::DW_ATE_unsigned, llvm::dwarf::DW_ATE_unsigned_char, llvm::DIBasicType::getEncoding(), llvm::DIDerivedType::getTypeDerivedFrom(), llvm::DIDescriptor::isBasicType(), llvm::DIDescriptor::isDerivedType(), and llvm::DwarfDebug::resolve().
Referenced by llvm::CompileUnit::constructVariableDIE(), and llvm::CompileUnit::createGlobalVariableDIE().
|
static |
Return true if the type should be split out into a type unit.
Definition at line 1111 of file DwarfCompileUnit.cpp.
References llvm::DIDescriptor::getTag(), llvm::DIType::isForwardDecl(), and isTypeUnitScoped().