67 std::string StringRep =
unwrap(TD)->getStringRepresentation();
68 return strdup(StringRep.c_str());
76 return unwrap(TD)->getPointerSize(0);
80 return unwrap(TD)->getPointerSize(AS);
116 return unwrap(TD)->getCallFrameTypeAlignment(
unwrap(Ty));
125 return unwrap(TD)->getPreferredAlignment(unwrap<GlobalVariable>(GlobalVar));
129 unsigned long long Offset) {
130 StructType *STy = unwrap<StructType>(StructTy);
131 return unwrap(TD)->getStructLayout(STy)->getElementContainingOffset(Offset);
136 StructType *STy = unwrap<StructType>(StructTy);
137 return unwrap(TD)->getStructLayout(STy)->getElementOffset(Element);
LLVMByteOrdering LLVMByteOrder(LLVMTargetDataRef TD)
struct LLVMOpaqueType * LLVMTypeRef
unsigned LLVMPreferredAlignmentOfGlobal(LLVMTargetDataRef TD, LLVMValueRef GlobalVar)
LLVMContext ** unwrap(LLVMContextRef *Tys)
struct LLVMOpaqueTargetData * LLVMTargetDataRef
LLVMTypeRef LLVMIntPtrType(LLVMTargetDataRef TD)
unsigned long long LLVMABISizeOfType(LLVMTargetDataRef TD, LLVMTypeRef Ty)
void initializeTarget(PassRegistry &)
initializeCodeGen - Initialize all passes linked into the CodeGen library.
unsigned long long LLVMOffsetOfElement(LLVMTargetDataRef TD, LLVMTypeRef StructTy, unsigned Element)
unsigned LLVMElementAtOffset(LLVMTargetDataRef TD, LLVMTypeRef StructTy, unsigned long long Offset)
unsigned long long LLVMSizeOfTypeInBits(LLVMTargetDataRef TD, LLVMTypeRef Ty)
unsigned LLVMPointerSizeForAS(LLVMTargetDataRef TD, unsigned AS)
LLVMTypeRef LLVMIntPtrTypeForASInContext(LLVMContextRef C, LLVMTargetDataRef TD, unsigned AS)
void LLVMDisposeTargetData(LLVMTargetDataRef TD)
struct LLVMOpaqueContext * LLVMContextRef
unsigned LLVMPreferredAlignmentOfType(LLVMTargetDataRef TD, LLVMTypeRef Ty)
unsigned long long LLVMStoreSizeOfType(LLVMTargetDataRef TD, LLVMTypeRef Ty)
struct LLVMOpaqueValue * LLVMValueRef
char *strdup(const char *s1);
char * LLVMCopyStringRepOfTargetData(LLVMTargetDataRef TD)
unsigned LLVMPointerSize(LLVMTargetDataRef TD)
struct LLVMOpaquePassRegistry * LLVMPassRegistryRef
LLVMContextRef * wrap(const LLVMContext **Tys)
struct LLVMOpaqueTargetLibraryInfotData * LLVMTargetLibraryInfoRef
LLVMTargetDataRef LLVMCreateTargetData(const char *StringRep)
void initializeDataLayoutPass(PassRegistry &)
unsigned LLVMCallFrameAlignmentOfType(LLVMTargetDataRef TD, LLVMTypeRef Ty)
void LLVMInitializeTarget(LLVMPassRegistryRef R)
struct LLVMOpaquePassManager * LLVMPassManagerRef
LLVMTypeRef LLVMIntPtrTypeForAS(LLVMTargetDataRef TD, unsigned AS)
void initializeTargetLibraryInfoPass(PassRegistry &)
void LLVMAddTargetData(LLVMTargetDataRef TD, LLVMPassManagerRef PM)
void LLVMAddTargetLibraryInfo(LLVMTargetLibraryInfoRef TLI, LLVMPassManagerRef PM)
unsigned LLVMABIAlignmentOfType(LLVMTargetDataRef TD, LLVMTypeRef Ty)
LLVMTypeRef LLVMIntPtrTypeInContext(LLVMContextRef C, LLVMTargetDataRef TD)
static RegisterPass< NVPTXAllocaHoisting > X("alloca-hoisting","Hoisting alloca instructions in non-entry ""blocks to the entry block")
INITIALIZE_PASS(GlobalMerge,"global-merge","Global Merge", false, false) bool GlobalMerge const DataLayout * TD
LLVMContext & getGlobalContext()