LLVM API Documentation
#include "DwarfUnit.h"
#include "DwarfAccelTable.h"
#include "DwarfDebug.h"
#include "llvm/ADT/APFloat.h"
#include "llvm/IR/Constants.h"
#include "llvm/IR/DIBuilder.h"
#include "llvm/IR/DataLayout.h"
#include "llvm/IR/GlobalVariable.h"
#include "llvm/IR/Instructions.h"
#include "llvm/IR/Mangler.h"
#include "llvm/MC/MCAsmInfo.h"
#include "llvm/MC/MCContext.h"
#include "llvm/MC/MCSection.h"
#include "llvm/MC/MCStreamer.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Target/TargetFrameLowering.h"
#include "llvm/Target/TargetLoweringObjectFile.h"
#include "llvm/Target/TargetMachine.h"
#include "llvm/Target/TargetRegisterInfo.h"
#include "llvm/Target/TargetSubtargetInfo.h"
Go to the source code of this file.
Defines | |
#define | DEBUG_TYPE "dwarfdebug" |
Functions | |
static bool | isShareableAcrossCUs (DIDescriptor D) |
Check whether the DIE for this MDNode can be shared across CUs. | |
static bool | isUnsignedDIType (DwarfDebug *DD, DIType Ty) |
Return true if type encoding is unsigned. | |
static uint64_t | getBaseTypeSize (DwarfDebug *DD, DIDerivedType Ty) |
If this type is derived from a base type then return base type size. | |
static const ConstantExpr * | getMergedGlobalExpr (const Value *V) |
Variables | |
static cl::opt< bool > | GenerateDwarfTypeUnits ("generate-type-units", cl::Hidden, cl::desc("Generate DWARF4 type units."), cl::init(false)) |
#define DEBUG_TYPE "dwarfdebug" |
Definition at line 37 of file DwarfUnit.cpp.
static uint64_t getBaseTypeSize | ( | DwarfDebug * | DD, |
DIDerivedType | Ty | ||
) | [static] |
If this type is derived from a base type then return base type size.
Definition at line 830 of file DwarfUnit.cpp.
References llvm::dwarf::DW_TAG_const_type, llvm::dwarf::DW_TAG_member, llvm::dwarf::DW_TAG_reference_type, llvm::dwarf::DW_TAG_restrict_type, llvm::dwarf::DW_TAG_rvalue_reference_type, llvm::dwarf::DW_TAG_typedef, llvm::dwarf::DW_TAG_volatile_type, llvm::DIType::getSizeInBits(), llvm::DIDescriptor::getTag(), llvm::DIDerivedType::getTypeDerivedFrom(), llvm::DIDescriptor::isDerivedType(), llvm::DIType::isForwardDecl(), llvm::DIType::isValid(), and llvm::DwarfDebug::resolve().
static const ConstantExpr* getMergedGlobalExpr | ( | const Value * | V | ) | [static] |
Definition at line 1571 of file DwarfUnit.cpp.
References llvm::WinEH::CE, llvm::User::getNumOperands(), llvm::ConstantExpr::getOpcode(), llvm::User::getOperand(), llvm::Value::getType(), and llvm::ConstantInt::isZero().
Referenced by llvm::DwarfCompileUnit::createGlobalVariableDIE().
static bool isShareableAcrossCUs | ( | DIDescriptor | D | ) | [static] |
Check whether the DIE for this MDNode can be shared across CUs.
Definition at line 131 of file DwarfUnit.cpp.
References GenerateDwarfTypeUnits, llvm::DISubprogram::isDefinition(), llvm::DIDescriptor::isSubprogram(), and llvm::DIDescriptor::isType().
Referenced by llvm::DwarfUnit::getDIE(), and llvm::DwarfUnit::insertDIE().
static bool isUnsignedDIType | ( | DwarfDebug * | DD, |
DIType | Ty | ||
) | [static] |
Return true if type encoding is unsigned.
Definition at line 789 of file DwarfUnit.cpp.
References llvm::dwarf::DW_ATE_boolean, llvm::dwarf::DW_ATE_signed, llvm::dwarf::DW_ATE_signed_char, llvm::dwarf::DW_ATE_unsigned, llvm::dwarf::DW_ATE_unsigned_char, llvm::dwarf::DW_ATE_UTF, llvm::dwarf::DW_TAG_const_type, llvm::dwarf::DW_TAG_enumeration_type, llvm::dwarf::DW_TAG_pointer_type, llvm::dwarf::DW_TAG_ptr_to_member_type, llvm::dwarf::DW_TAG_reference_type, llvm::dwarf::DW_TAG_restrict_type, llvm::dwarf::DW_TAG_rvalue_reference_type, llvm::dwarf::DW_TAG_typedef, llvm::dwarf::DW_TAG_volatile_type, llvm::DIBasicType::getEncoding(), llvm::DIDescriptor::getTag(), llvm::DIDerivedType::getTypeDerivedFrom(), llvm::DIDescriptor::isBasicType(), llvm::DIDescriptor::isDerivedType(), and llvm::DwarfDebug::resolve().
Referenced by llvm::DwarfUnit::addConstantValue().
cl::opt<bool> GenerateDwarfTypeUnits("generate-type-units", cl::Hidden, cl::desc("Generate DWARF4 type units."), cl::init(false)) [static] |
Referenced by llvm::DwarfUnit::getOrCreateTypeDIE(), and isShareableAcrossCUs().