LLVM API Documentation

Defines | Typedefs | Enumerations | Functions
Target information
LLVM-C: C interface to LLVM
Collaboration diagram for Target information:

Defines

#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
typedef struct LLVMStructLayout * LLVMStructLayoutRef

Enumerations

enum  LLVMByteOrdering { LLVMBigEndian, LLVMLittleEndian }

Functions

static void LLVMInitializeAllTargetInfos (void)
static void LLVMInitializeAllTargets (void)
static void LLVMInitializeAllTargetMCs (void)
static void LLVMInitializeAllAsmPrinters (void)
static void LLVMInitializeAllAsmParsers (void)
static void LLVMInitializeAllDisassemblers (void)
static LLVMBool LLVMInitializeNativeTarget (void)
LLVMTargetDataRef LLVMCreateTargetData (const char *StringRep)
void LLVMAddTargetData (LLVMTargetDataRef, LLVMPassManagerRef)
void LLVMAddTargetLibraryInfo (LLVMTargetLibraryInfoRef, LLVMPassManagerRef)
char * LLVMCopyStringRepOfTargetData (LLVMTargetDataRef)
enum LLVMByteOrdering LLVMByteOrder (LLVMTargetDataRef)
unsigned LLVMPointerSize (LLVMTargetDataRef)
unsigned LLVMPointerSizeForAS (LLVMTargetDataRef, unsigned AS)
LLVMTypeRef LLVMIntPtrType (LLVMTargetDataRef)
LLVMTypeRef LLVMIntPtrTypeForAS (LLVMTargetDataRef, unsigned AS)
unsigned long long LLVMSizeOfTypeInBits (LLVMTargetDataRef, LLVMTypeRef)
unsigned long long LLVMStoreSizeOfType (LLVMTargetDataRef, LLVMTypeRef)
unsigned long long LLVMABISizeOfType (LLVMTargetDataRef, LLVMTypeRef)
unsigned LLVMABIAlignmentOfType (LLVMTargetDataRef, LLVMTypeRef)
unsigned LLVMCallFrameAlignmentOfType (LLVMTargetDataRef, LLVMTypeRef)
unsigned LLVMPreferredAlignmentOfType (LLVMTargetDataRef, LLVMTypeRef)
unsigned LLVMPreferredAlignmentOfGlobal (LLVMTargetDataRef, LLVMValueRef GlobalVar)
unsigned LLVMElementAtOffset (LLVMTargetDataRef, LLVMTypeRef StructTy, unsigned long long Offset)
unsigned long long LLVMOffsetOfElement (LLVMTargetDataRef, LLVMTypeRef StructTy, unsigned Element)
void LLVMDisposeTargetData (LLVMTargetDataRef)

Define Documentation

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

Definition at line 64 of file Target.h.

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

Definition at line 64 of file Target.h.

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

Definition at line 58 of file Target.h.

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

Definition at line 58 of file Target.h.

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

Definition at line 70 of file Target.h.

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

Definition at line 70 of file Target.h.

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

Definition at line 52 of file Target.h.

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

Definition at line 52 of file Target.h.

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

Definition at line 52 of file Target.h.

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

Definition at line 52 of file Target.h.

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

Definition at line 52 of file Target.h.

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

Definition at line 52 of file Target.h.


Typedef Documentation

typedef struct LLVMStructLayout* LLVMStructLayoutRef

Definition at line 40 of file Target.h.

typedef struct LLVMOpaqueTargetData* LLVMTargetDataRef

Definition at line 38 of file Target.h.

typedef struct LLVMOpaqueTargetLibraryInfotData* LLVMTargetLibraryInfoRef

Definition at line 39 of file Target.h.


Enumeration Type Documentation

Enumerator:
LLVMBigEndian 
LLVMLittleEndian 

Definition at line 36 of file Target.h.


Function Documentation

unsigned LLVMABIAlignmentOfType ( LLVMTargetDataRef  ,
LLVMTypeRef   
)

Computes the ABI alignment of a type in bytes for a target. See the method llvm::DataLayout::getTypeABISize.

Definition at line 103 of file Target.cpp.

References llvm::unwrap().

unsigned long long LLVMABISizeOfType ( LLVMTargetDataRef  ,
LLVMTypeRef   
)

Computes the ABI size of a type in bytes for a target. See the method llvm::DataLayout::getTypeAllocSize.

Definition at line 99 of file Target.cpp.

References llvm::unwrap().

void LLVMAddTargetData ( LLVMTargetDataRef  ,
LLVMPassManagerRef   
)

Adds target data information to a pass manager. This does not take ownership of the target data. See the method llvm::PassManagerBase::add.

Definition at line 57 of file Target.cpp.

References llvm::unwrap().

void LLVMAddTargetLibraryInfo ( LLVMTargetLibraryInfoRef  ,
LLVMPassManagerRef   
)

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 61 of file Target.cpp.

References llvm::unwrap().

enum LLVMByteOrdering LLVMByteOrder ( LLVMTargetDataRef  )

Returns the byte order of a target, either LLVMBigEndian or LLVMLittleEndian. See the method llvm::DataLayout::isLittleEndian.

Definition at line 71 of file Target.cpp.

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

unsigned LLVMCallFrameAlignmentOfType ( LLVMTargetDataRef  ,
LLVMTypeRef   
)

Computes the call frame alignment of a type in bytes for a target. See the method llvm::DataLayout::getTypeABISize.

Definition at line 107 of file Target.cpp.

References llvm::unwrap().

char* LLVMCopyStringRepOfTargetData ( LLVMTargetDataRef  )

Converts target data to a target layout string. The string must be disposed with LLVMDisposeMessage. See the constructor llvm::DataLayout::DataLayout.

Definition at line 66 of file Target.cpp.

References llvm::LibFunc::strdup, and llvm::unwrap().

LLVMTargetDataRef LLVMCreateTargetData ( const char *  StringRep)

Creates target data from a target layout string. See the constructor llvm::DataLayout::DataLayout.

Definition at line 53 of file Target.cpp.

References llvm::wrap().

void LLVMDisposeTargetData ( LLVMTargetDataRef  )

Deallocates a TargetData. See the destructor llvm::DataLayout::~DataLayout.

Definition at line 132 of file Target.cpp.

References llvm::unwrap().

unsigned LLVMElementAtOffset ( LLVMTargetDataRef  ,
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 120 of file Target.cpp.

References llvm::unwrap().

static void LLVMInitializeAllAsmParsers ( void  ) [inline, static]

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 114 of file Target.h.

static void LLVMInitializeAllAsmPrinters ( void  ) [inline, static]

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 105 of file Target.h.

static void LLVMInitializeAllDisassemblers ( void  ) [inline, static]

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 123 of file Target.h.

static void LLVMInitializeAllTargetInfos ( void  ) [inline, static]

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 78 of file Target.h.

static void LLVMInitializeAllTargetMCs ( void  ) [inline, static]

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 96 of file Target.h.

static void LLVMInitializeAllTargets ( void  ) [inline, static]

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 87 of file Target.h.

static LLVMBool LLVMInitializeNativeTarget ( void  ) [inline, static]

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 133 of file Target.h.

References LLVM_NATIVE_TARGET, LLVM_NATIVE_TARGETINFO, and LLVM_NATIVE_TARGETMC.

LLVMTypeRef LLVMIntPtrType ( LLVMTargetDataRef  )

Returns the integer type that is the same size as a pointer on a target. See the method llvm::DataLayout::getIntPtrType.

Definition at line 83 of file Target.cpp.

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

LLVMTypeRef LLVMIntPtrTypeForAS ( LLVMTargetDataRef  ,
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 87 of file Target.cpp.

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

unsigned long long LLVMOffsetOfElement ( LLVMTargetDataRef  ,
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 126 of file Target.cpp.

References llvm::unwrap().

unsigned LLVMPointerSize ( LLVMTargetDataRef  )

Returns the pointer size in bytes for a target. See the method llvm::DataLayout::getPointerSize.

Definition at line 75 of file Target.cpp.

References llvm::unwrap().

unsigned LLVMPointerSizeForAS ( LLVMTargetDataRef  ,
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 79 of file Target.cpp.

References llvm::unwrap().

unsigned LLVMPreferredAlignmentOfGlobal ( LLVMTargetDataRef  ,
LLVMValueRef  GlobalVar 
)

Computes the preferred alignment of a global variable in bytes for a target. See the method llvm::DataLayout::getPreferredAlignment.

Definition at line 115 of file Target.cpp.

References llvm::unwrap().

unsigned LLVMPreferredAlignmentOfType ( LLVMTargetDataRef  ,
LLVMTypeRef   
)

Computes the preferred alignment of a type in bytes for a target. See the method llvm::DataLayout::getTypeABISize.

Definition at line 111 of file Target.cpp.

References llvm::unwrap().

unsigned long long LLVMSizeOfTypeInBits ( LLVMTargetDataRef  ,
LLVMTypeRef   
)

Computes the size of a type in bytes for a target. See the method llvm::DataLayout::getTypeSizeInBits.

Definition at line 91 of file Target.cpp.

References llvm::unwrap().

unsigned long long LLVMStoreSizeOfType ( LLVMTargetDataRef  ,
LLVMTypeRef   
)

Computes the storage size of a type in bytes for a target. See the method llvm::DataLayout::getTypeStoreSize.

Definition at line 95 of file Target.cpp.

References llvm::unwrap().