LLVM  8.0.1
Macros | Typedefs | Enumerations | Functions
Target information
Collaboration diagram for Target information:

Macros

#define LLVM_TARGET(TargetName)   void LLVMInitialize##TargetName##TargetInfo(void);
 
#define LLVM_TARGET(TargetName)   void LLVMInitialize##TargetName##Target(void);
 
#define LLVM_TARGET(TargetName)   void LLVMInitialize##TargetName##TargetMC(void);
 
#define LLVM_TARGET(TargetName)   LLVMInitialize##TargetName##TargetInfo();
 
#define LLVM_TARGET(TargetName)   LLVMInitialize##TargetName##Target();
 
#define LLVM_TARGET(TargetName)   LLVMInitialize##TargetName##TargetMC();
 
#define LLVM_ASM_PRINTER(TargetName)   void LLVMInitialize##TargetName##AsmPrinter(void);
 
#define LLVM_ASM_PRINTER(TargetName)   LLVMInitialize##TargetName##AsmPrinter();
 
#define LLVM_ASM_PARSER(TargetName)   void LLVMInitialize##TargetName##AsmParser(void);
 
#define LLVM_ASM_PARSER(TargetName)   LLVMInitialize##TargetName##AsmParser();
 
#define LLVM_DISASSEMBLER(TargetName)   void LLVMInitialize##TargetName##Disassembler(void);
 
#define LLVM_DISASSEMBLER(TargetName)   LLVMInitialize##TargetName##Disassembler();
 

Typedefs

typedef struct LLVMOpaqueTargetData * LLVMTargetDataRef
 
typedef struct LLVMOpaqueTargetLibraryInfotData * LLVMTargetLibraryInfoRef
 

Enumerations

enum  LLVMByteOrdering { LLVMBigEndian, LLVMLittleEndian }
 

Functions

static void LLVMInitializeAllTargetInfos (void)
 LLVMInitializeAllTargetInfos - The main program should call this function if it wants access to all available targets that LLVM is configured to support. More...
 
static void LLVMInitializeAllTargets (void)
 LLVMInitializeAllTargets - The main program should call this function if it wants to link in all available targets that LLVM is configured to support. More...
 
static void LLVMInitializeAllTargetMCs (void)
 LLVMInitializeAllTargetMCs - The main program should call this function if it wants access to all available target MC that LLVM is configured to support. More...
 
static void LLVMInitializeAllAsmPrinters (void)
 LLVMInitializeAllAsmPrinters - The main program should call this function if it wants all asm printers that LLVM is configured to support, to make them available via the TargetRegistry. More...
 
static void LLVMInitializeAllAsmParsers (void)
 LLVMInitializeAllAsmParsers - The main program should call this function if it wants all asm parsers that LLVM is configured to support, to make them available via the TargetRegistry. More...
 
static void LLVMInitializeAllDisassemblers (void)
 LLVMInitializeAllDisassemblers - The main program should call this function if it wants all disassemblers that LLVM is configured to support, to make them available via the TargetRegistry. More...
 
static LLVMBool LLVMInitializeNativeTarget (void)
 LLVMInitializeNativeTarget - The main program should call this function to initialize the native target corresponding to the host. More...
 
static LLVMBool LLVMInitializeNativeAsmParser (void)
 LLVMInitializeNativeTargetAsmParser - The main program should call this function to initialize the parser for the native target corresponding to the host. More...
 
static LLVMBool LLVMInitializeNativeAsmPrinter (void)
 LLVMInitializeNativeTargetAsmPrinter - The main program should call this function to initialize the printer for the native target corresponding to the host. More...
 
static LLVMBool LLVMInitializeNativeDisassembler (void)
 LLVMInitializeNativeTargetDisassembler - The main program should call this function to initialize the disassembler for the native target corresponding to the host. More...
 
LLVMTargetDataRef LLVMGetModuleDataLayout (LLVMModuleRef M)
 Obtain the data layout for a module. More...
 
void LLVMSetModuleDataLayout (LLVMModuleRef M, LLVMTargetDataRef DL)
 Set the data layout for a module. More...
 
LLVMTargetDataRef LLVMCreateTargetData (const char *StringRep)
 Creates target data from a target layout string. More...
 
void LLVMDisposeTargetData (LLVMTargetDataRef TD)
 Deallocates a TargetData. More...
 
void LLVMAddTargetLibraryInfo (LLVMTargetLibraryInfoRef TLI, LLVMPassManagerRef PM)
 Adds target library information to a pass manager. More...
 
charLLVMCopyStringRepOfTargetData (LLVMTargetDataRef TD)
 Converts target data to a target layout string. More...
 
enum LLVMByteOrdering LLVMByteOrder (LLVMTargetDataRef TD)
 Returns the byte order of a target, either LLVMBigEndian or LLVMLittleEndian. More...
 
unsigned LLVMPointerSize (LLVMTargetDataRef TD)
 Returns the pointer size in bytes for a target. More...
 
unsigned LLVMPointerSizeForAS (LLVMTargetDataRef TD, unsigned AS)
 Returns the pointer size in bytes for a target for a specified address space. More...
 
LLVMTypeRef LLVMIntPtrType (LLVMTargetDataRef TD)
 Returns the integer type that is the same size as a pointer on a target. More...
 
LLVMTypeRef LLVMIntPtrTypeForAS (LLVMTargetDataRef TD, unsigned AS)
 Returns the integer type that is the same size as a pointer on a target. More...
 
LLVMTypeRef LLVMIntPtrTypeInContext (LLVMContextRef C, LLVMTargetDataRef TD)
 Returns the integer type that is the same size as a pointer on a target. More...
 
LLVMTypeRef LLVMIntPtrTypeForASInContext (LLVMContextRef C, LLVMTargetDataRef TD, unsigned AS)
 Returns the integer type that is the same size as a pointer on a target. More...
 
unsigned long long LLVMSizeOfTypeInBits (LLVMTargetDataRef TD, LLVMTypeRef Ty)
 Computes the size of a type in bytes for a target. More...
 
unsigned long long LLVMStoreSizeOfType (LLVMTargetDataRef TD, LLVMTypeRef Ty)
 Computes the storage size of a type in bytes for a target. More...
 
unsigned long long LLVMABISizeOfType (LLVMTargetDataRef TD, LLVMTypeRef Ty)
 Computes the ABI size of a type in bytes for a target. More...
 
unsigned LLVMABIAlignmentOfType (LLVMTargetDataRef TD, LLVMTypeRef Ty)
 Computes the ABI alignment of a type in bytes for a target. More...
 
unsigned LLVMCallFrameAlignmentOfType (LLVMTargetDataRef TD, LLVMTypeRef Ty)
 Computes the call frame alignment of a type in bytes for a target. More...
 
unsigned LLVMPreferredAlignmentOfType (LLVMTargetDataRef TD, LLVMTypeRef Ty)
 Computes the preferred alignment of a type in bytes for a target. More...
 
unsigned LLVMPreferredAlignmentOfGlobal (LLVMTargetDataRef TD, LLVMValueRef GlobalVar)
 Computes the preferred alignment of a global variable in bytes for a target. More...
 
unsigned LLVMElementAtOffset (LLVMTargetDataRef TD, LLVMTypeRef StructTy, unsigned long long Offset)
 Computes the structure element that contains the byte offset for a target. More...
 
unsigned long long LLVMOffsetOfElement (LLVMTargetDataRef TD, LLVMTypeRef StructTy, unsigned Element)
 Computes the byte offset of the indexed struct element for a target. More...
 

Detailed Description

Macro Definition Documentation

◆ LLVM_ASM_PARSER [1/2]

#define LLVM_ASM_PARSER (   TargetName)    void LLVMInitialize##TargetName##AsmParser(void);

Definition at line 67 of file Target.h.

◆ LLVM_ASM_PARSER [2/2]

#define LLVM_ASM_PARSER (   TargetName)    LLVMInitialize##TargetName##AsmParser();

Definition at line 67 of file Target.h.

◆ LLVM_ASM_PRINTER [1/2]

#define LLVM_ASM_PRINTER (   TargetName)    void LLVMInitialize##TargetName##AsmPrinter(void);

Definition at line 61 of file Target.h.

◆ LLVM_ASM_PRINTER [2/2]

#define LLVM_ASM_PRINTER (   TargetName)    LLVMInitialize##TargetName##AsmPrinter();

Definition at line 61 of file Target.h.

◆ LLVM_DISASSEMBLER [1/2]

#define LLVM_DISASSEMBLER (   TargetName)    void LLVMInitialize##TargetName##Disassembler(void);

Definition at line 73 of file Target.h.

◆ LLVM_DISASSEMBLER [2/2]

#define LLVM_DISASSEMBLER (   TargetName)    LLVMInitialize##TargetName##Disassembler();

Definition at line 73 of file Target.h.

◆ LLVM_TARGET [1/6]

#define LLVM_TARGET (   TargetName)    void LLVMInitialize##TargetName##TargetInfo(void);

Definition at line 55 of file Target.h.

◆ LLVM_TARGET [2/6]

#define LLVM_TARGET (   TargetName)    void LLVMInitialize##TargetName##Target(void);

Definition at line 55 of file Target.h.

◆ LLVM_TARGET [3/6]

#define LLVM_TARGET (   TargetName)    void LLVMInitialize##TargetName##TargetMC(void);

Definition at line 55 of file Target.h.

◆ LLVM_TARGET [4/6]

#define LLVM_TARGET (   TargetName)    LLVMInitialize##TargetName##TargetInfo();

Definition at line 55 of file Target.h.

◆ LLVM_TARGET [5/6]

#define LLVM_TARGET (   TargetName)    LLVMInitialize##TargetName##Target();

Definition at line 55 of file Target.h.

◆ LLVM_TARGET [6/6]

#define LLVM_TARGET (   TargetName)    LLVMInitialize##TargetName##TargetMC();

Definition at line 55 of file Target.h.

Typedef Documentation

◆ LLVMTargetDataRef

typedef struct LLVMOpaqueTargetData* LLVMTargetDataRef

Definition at line 42 of file Target.h.

◆ LLVMTargetLibraryInfoRef

typedef struct LLVMOpaqueTargetLibraryInfotData* LLVMTargetLibraryInfoRef

Definition at line 43 of file Target.h.

Enumeration Type Documentation

◆ LLVMByteOrdering

Enumerator
LLVMBigEndian 
LLVMLittleEndian 

Definition at line 40 of file Target.h.

Function Documentation

◆ LLVMABIAlignmentOfType()

unsigned LLVMABIAlignmentOfType ( LLVMTargetDataRef  TD,
LLVMTypeRef  Ty 
)

Computes the ABI alignment of a type in bytes for a target.

See the method llvm::DataLayout::getTypeABISize.

Definition at line 114 of file Target.cpp.

References llvm::unwrap().

Referenced by LLVMInitializeNativeDisassembler().

◆ LLVMABISizeOfType()

unsigned long long LLVMABISizeOfType ( LLVMTargetDataRef  TD,
LLVMTypeRef  Ty 
)

Computes the ABI size of a type in bytes for a target.

See the method llvm::DataLayout::getTypeAllocSize.

Definition at line 110 of file Target.cpp.

References llvm::unwrap().

Referenced by LLVMInitializeNativeDisassembler().

◆ LLVMAddTargetLibraryInfo()

void LLVMAddTargetLibraryInfo ( LLVMTargetLibraryInfoRef  TLI,
LLVMPassManagerRef  PM 
)

Adds target library information to a pass manager.

This does not take ownership of the target library info. See the method llvm::PassManagerBase::add.

Definition at line 64 of file Target.cpp.

References llvm::unwrap().

Referenced by LLVMInitializeNativeDisassembler().

◆ LLVMByteOrder()

enum LLVMByteOrdering LLVMByteOrder ( LLVMTargetDataRef  TD)

Returns the byte order of a target, either LLVMBigEndian or LLVMLittleEndian.

See the method llvm::DataLayout::isLittleEndian.

Definition at line 74 of file Target.cpp.

References LLVMBigEndian, LLVMLittleEndian, and llvm::unwrap().

Referenced by LLVMInitializeNativeDisassembler().

◆ LLVMCallFrameAlignmentOfType()

unsigned LLVMCallFrameAlignmentOfType ( LLVMTargetDataRef  TD,
LLVMTypeRef  Ty 
)

Computes the call frame alignment of a type in bytes for a target.

See the method llvm::DataLayout::getTypeABISize.

Definition at line 118 of file Target.cpp.

References llvm::unwrap().

Referenced by LLVMInitializeNativeDisassembler().

◆ LLVMCopyStringRepOfTargetData()

char* LLVMCopyStringRepOfTargetData ( LLVMTargetDataRef  TD)

Converts target data to a target layout string.

The string must be disposed with LLVMDisposeMessage. See the constructor llvm::DataLayout::DataLayout.

Definition at line 69 of file Target.cpp.

References llvm::unwrap().

Referenced by LLVMInitializeNativeDisassembler().

◆ LLVMCreateTargetData()

LLVMTargetDataRef LLVMCreateTargetData ( const char StringRep)

Creates target data from a target layout string.

See the constructor llvm::DataLayout::DataLayout.

Definition at line 56 of file Target.cpp.

References llvm::wrap().

Referenced by LLVMInitializeNativeDisassembler().

◆ LLVMDisposeTargetData()

void LLVMDisposeTargetData ( LLVMTargetDataRef  TD)

Deallocates a TargetData.

See the destructor llvm::DataLayout::~DataLayout.

Definition at line 60 of file Target.cpp.

References llvm::unwrap().

Referenced by LLVMInitializeNativeDisassembler().

◆ LLVMElementAtOffset()

unsigned LLVMElementAtOffset ( LLVMTargetDataRef  TD,
LLVMTypeRef  StructTy,
unsigned long long  Offset 
)

Computes the structure element that contains the byte offset for a target.

See the method llvm::StructLayout::getElementContainingOffset.

Definition at line 131 of file Target.cpp.

References llvm::unwrap().

Referenced by LLVMInitializeNativeDisassembler().

◆ LLVMGetModuleDataLayout()

LLVMTargetDataRef LLVMGetModuleDataLayout ( LLVMModuleRef  M)

Obtain the data layout for a module.

See also
Module::getDataLayout()

Definition at line 48 of file Target.cpp.

References llvm::unwrap(), and llvm::wrap().

Referenced by LLVMInitializeNativeDisassembler().

◆ LLVMInitializeAllAsmParsers()

static void LLVMInitializeAllAsmParsers ( void  )
inlinestatic

LLVMInitializeAllAsmParsers - The main program should call this function if it wants all asm parsers that LLVM is configured to support, to make them available via the TargetRegistry.

Definition at line 117 of file Target.h.

◆ LLVMInitializeAllAsmPrinters()

static void LLVMInitializeAllAsmPrinters ( void  )
inlinestatic

LLVMInitializeAllAsmPrinters - The main program should call this function if it wants all asm printers that LLVM is configured to support, to make them available via the TargetRegistry.

Definition at line 108 of file Target.h.

◆ LLVMInitializeAllDisassemblers()

static void LLVMInitializeAllDisassemblers ( void  )
inlinestatic

LLVMInitializeAllDisassemblers - The main program should call this function if it wants all disassemblers that LLVM is configured to support, to make them available via the TargetRegistry.

Definition at line 126 of file Target.h.

◆ LLVMInitializeAllTargetInfos()

static void LLVMInitializeAllTargetInfos ( void  )
inlinestatic

LLVMInitializeAllTargetInfos - The main program should call this function if it wants access to all available targets that LLVM is configured to support.

Definition at line 81 of file Target.h.

◆ LLVMInitializeAllTargetMCs()

static void LLVMInitializeAllTargetMCs ( void  )
inlinestatic

LLVMInitializeAllTargetMCs - The main program should call this function if it wants access to all available target MC that LLVM is configured to support.

Definition at line 99 of file Target.h.

◆ LLVMInitializeAllTargets()

static void LLVMInitializeAllTargets ( void  )
inlinestatic

LLVMInitializeAllTargets - The main program should call this function if it wants to link in all available targets that LLVM is configured to support.

Definition at line 90 of file Target.h.

◆ LLVMInitializeNativeAsmParser()

static LLVMBool LLVMInitializeNativeAsmParser ( void  )
inlinestatic

LLVMInitializeNativeTargetAsmParser - The main program should call this function to initialize the parser for the native target corresponding to the host.

Definition at line 151 of file Target.h.

◆ LLVMInitializeNativeAsmPrinter()

static LLVMBool LLVMInitializeNativeAsmPrinter ( void  )
inlinestatic

LLVMInitializeNativeTargetAsmPrinter - The main program should call this function to initialize the printer for the native target corresponding to the host.

Definition at line 163 of file Target.h.

◆ LLVMInitializeNativeDisassembler()

static LLVMBool LLVMInitializeNativeDisassembler ( void  )
inlinestatic

◆ LLVMInitializeNativeTarget()

static LLVMBool LLVMInitializeNativeTarget ( void  )
inlinestatic

LLVMInitializeNativeTarget - The main program should call this function to initialize the native target corresponding to the host.

This is useful for JIT applications to ensure that the target gets linked in correctly.

Definition at line 136 of file Target.h.

◆ LLVMIntPtrType()

LLVMTypeRef LLVMIntPtrType ( LLVMTargetDataRef  TD)

Returns the integer type that is the same size as a pointer on a target.

See the method llvm::DataLayout::getIntPtrType.

Definition at line 86 of file Target.cpp.

References LLVMGetGlobalContext(), llvm::unwrap(), and llvm::wrap().

Referenced by LLVMInitializeNativeDisassembler().

◆ LLVMIntPtrTypeForAS()

LLVMTypeRef LLVMIntPtrTypeForAS ( LLVMTargetDataRef  TD,
unsigned  AS 
)

Returns the integer type that is the same size as a pointer on a target.

This version allows the address space to be specified. See the method llvm::DataLayout::getIntPtrType.

Definition at line 90 of file Target.cpp.

References LLVMGetGlobalContext(), llvm::unwrap(), and llvm::wrap().

Referenced by LLVMInitializeNativeDisassembler().

◆ LLVMIntPtrTypeForASInContext()

LLVMTypeRef LLVMIntPtrTypeForASInContext ( LLVMContextRef  C,
LLVMTargetDataRef  TD,
unsigned  AS 
)

Returns the integer type that is the same size as a pointer on a target.

This version allows the address space to be specified. See the method llvm::DataLayout::getIntPtrType.

Definition at line 98 of file Target.cpp.

References llvm::unwrap(), and llvm::wrap().

Referenced by LLVMInitializeNativeDisassembler().

◆ LLVMIntPtrTypeInContext()

LLVMTypeRef LLVMIntPtrTypeInContext ( LLVMContextRef  C,
LLVMTargetDataRef  TD 
)

Returns the integer type that is the same size as a pointer on a target.

See the method llvm::DataLayout::getIntPtrType.

Definition at line 94 of file Target.cpp.

References llvm::unwrap(), and llvm::wrap().

Referenced by LLVMInitializeNativeDisassembler().

◆ LLVMOffsetOfElement()

unsigned long long LLVMOffsetOfElement ( LLVMTargetDataRef  TD,
LLVMTypeRef  StructTy,
unsigned  Element 
)

Computes the byte offset of the indexed struct element for a target.

See the method llvm::StructLayout::getElementContainingOffset.

Definition at line 137 of file Target.cpp.

References llvm::unwrap().

Referenced by LLVMInitializeNativeDisassembler().

◆ LLVMPointerSize()

unsigned LLVMPointerSize ( LLVMTargetDataRef  TD)

Returns the pointer size in bytes for a target.

See the method llvm::DataLayout::getPointerSize.

Definition at line 78 of file Target.cpp.

References llvm::unwrap().

Referenced by LLVMInitializeNativeDisassembler().

◆ LLVMPointerSizeForAS()

unsigned LLVMPointerSizeForAS ( LLVMTargetDataRef  TD,
unsigned  AS 
)

Returns the pointer size in bytes for a target for a specified address space.

See the method llvm::DataLayout::getPointerSize.

Definition at line 82 of file Target.cpp.

References llvm::unwrap().

Referenced by LLVMInitializeNativeDisassembler().

◆ LLVMPreferredAlignmentOfGlobal()

unsigned LLVMPreferredAlignmentOfGlobal ( LLVMTargetDataRef  TD,
LLVMValueRef  GlobalVar 
)

Computes the preferred alignment of a global variable in bytes for a target.

See the method llvm::DataLayout::getPreferredAlignment.

Definition at line 126 of file Target.cpp.

References llvm::unwrap().

Referenced by LLVMInitializeNativeDisassembler().

◆ LLVMPreferredAlignmentOfType()

unsigned LLVMPreferredAlignmentOfType ( LLVMTargetDataRef  TD,
LLVMTypeRef  Ty 
)

Computes the preferred alignment of a type in bytes for a target.

See the method llvm::DataLayout::getTypeABISize.

Definition at line 122 of file Target.cpp.

References llvm::unwrap().

Referenced by LLVMInitializeNativeDisassembler().

◆ LLVMSetModuleDataLayout()

void LLVMSetModuleDataLayout ( LLVMModuleRef  M,
LLVMTargetDataRef  DL 
)

Set the data layout for a module.

See also
Module::setDataLayout()

Definition at line 52 of file Target.cpp.

References llvm::unwrap().

Referenced by LLVMInitializeNativeDisassembler().

◆ LLVMSizeOfTypeInBits()

unsigned long long LLVMSizeOfTypeInBits ( LLVMTargetDataRef  TD,
LLVMTypeRef  Ty 
)

Computes the size of a type in bytes for a target.

See the method llvm::DataLayout::getTypeSizeInBits.

Definition at line 102 of file Target.cpp.

References llvm::unwrap().

Referenced by LLVMInitializeNativeDisassembler().

◆ LLVMStoreSizeOfType()

unsigned long long LLVMStoreSizeOfType ( LLVMTargetDataRef  TD,
LLVMTypeRef  Ty 
)

Computes the storage size of a type in bytes for a target.

See the method llvm::DataLayout::getTypeStoreSize.

Definition at line 106 of file Target.cpp.

References llvm::unwrap().

Referenced by LLVMInitializeNativeDisassembler().