LLVM 19.0.0git
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
 
typedef struct LLVMOpaqueTargetMachineOptions * LLVMTargetMachineOptionsRef
 
typedef struct LLVMOpaqueTargetMachine * LLVMTargetMachineRef
 
typedef struct LLVMTarget * LLVMTargetRef
 

Enumerations

enum  LLVMByteOrdering { LLVMBigEndian , LLVMLittleEndian }
 
enum  LLVMCodeGenOptLevel { LLVMCodeGenLevelNone , LLVMCodeGenLevelLess , LLVMCodeGenLevelDefault , LLVMCodeGenLevelAggressive }
 
enum  LLVMRelocMode {
  LLVMRelocDefault , LLVMRelocStatic , LLVMRelocPIC , LLVMRelocDynamicNoPic ,
  LLVMRelocROPI , LLVMRelocRWPI , LLVMRelocROPI_RWPI
}
 
enum  LLVMCodeModel {
  LLVMCodeModelDefault , LLVMCodeModelJITDefault , LLVMCodeModelTiny , LLVMCodeModelSmall ,
  LLVMCodeModelKernel , LLVMCodeModelMedium , LLVMCodeModelLarge
}
 
enum  LLVMCodeGenFileType { LLVMAssemblyFile , LLVMObjectFile }
 
enum  LLVMGlobalISelAbortMode { LLVMGlobalISelAbortEnable , LLVMGlobalISelAbortDisable , LLVMGlobalISelAbortDisableWithDiag }
 

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.
 
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.
 
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.
 
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.
 
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.
 
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.
 
static LLVMBool LLVMInitializeNativeTarget (void)
 LLVMInitializeNativeTarget - The main program should call this function to initialize the native target corresponding to the host.
 
static LLVMBool LLVMInitializeNativeAsmParser (void)
 LLVMInitializeNativeTargetAsmParser - The main program should call this function to initialize the parser for the native target corresponding to the host.
 
static LLVMBool LLVMInitializeNativeAsmPrinter (void)
 LLVMInitializeNativeTargetAsmPrinter - The main program should call this function to initialize the printer for the native target corresponding to the host.
 
static LLVMBool LLVMInitializeNativeDisassembler (void)
 LLVMInitializeNativeTargetDisassembler - The main program should call this function to initialize the disassembler for the native target corresponding to the host.
 
LLVMTargetDataRef LLVMGetModuleDataLayout (LLVMModuleRef M)
 Obtain the data layout for a module.
 
void LLVMSetModuleDataLayout (LLVMModuleRef M, LLVMTargetDataRef DL)
 Set the data layout for a module.
 
LLVMTargetDataRef LLVMCreateTargetData (const char *StringRep)
 Creates target data from a target layout string.
 
void LLVMDisposeTargetData (LLVMTargetDataRef TD)
 Deallocates a TargetData.
 
void LLVMAddTargetLibraryInfo (LLVMTargetLibraryInfoRef TLI, LLVMPassManagerRef PM)
 Adds target library information to a pass manager.
 
charLLVMCopyStringRepOfTargetData (LLVMTargetDataRef TD)
 Converts target data to a target layout string.
 
enum LLVMByteOrdering LLVMByteOrder (LLVMTargetDataRef TD)
 Returns the byte order of a target, either LLVMBigEndian or LLVMLittleEndian.
 
unsigned LLVMPointerSize (LLVMTargetDataRef TD)
 Returns the pointer size in bytes for a target.
 
unsigned LLVMPointerSizeForAS (LLVMTargetDataRef TD, unsigned AS)
 Returns the pointer size in bytes for a target for a specified address space.
 
LLVMTypeRef LLVMIntPtrType (LLVMTargetDataRef TD)
 Returns the integer type that is the same size as a pointer on a target.
 
LLVMTypeRef LLVMIntPtrTypeForAS (LLVMTargetDataRef TD, unsigned AS)
 Returns the integer type that is the same size as a pointer on a target.
 
LLVMTypeRef LLVMIntPtrTypeInContext (LLVMContextRef C, LLVMTargetDataRef TD)
 Returns the integer type that is the same size as a pointer on a target.
 
LLVMTypeRef LLVMIntPtrTypeForASInContext (LLVMContextRef C, LLVMTargetDataRef TD, unsigned AS)
 Returns the integer type that is the same size as a pointer on a target.
 
unsigned long long LLVMSizeOfTypeInBits (LLVMTargetDataRef TD, LLVMTypeRef Ty)
 Computes the size of a type in bytes for a target.
 
unsigned long long LLVMStoreSizeOfType (LLVMTargetDataRef TD, LLVMTypeRef Ty)
 Computes the storage size of a type in bytes for a target.
 
unsigned long long LLVMABISizeOfType (LLVMTargetDataRef TD, LLVMTypeRef Ty)
 Computes the ABI size of a type in bytes for a target.
 
unsigned LLVMABIAlignmentOfType (LLVMTargetDataRef TD, LLVMTypeRef Ty)
 Computes the ABI alignment of a type in bytes for a target.
 
unsigned LLVMCallFrameAlignmentOfType (LLVMTargetDataRef TD, LLVMTypeRef Ty)
 Computes the call frame alignment of a type in bytes for a target.
 
unsigned LLVMPreferredAlignmentOfType (LLVMTargetDataRef TD, LLVMTypeRef Ty)
 Computes the preferred alignment of a type in bytes for a target.
 
unsigned LLVMPreferredAlignmentOfGlobal (LLVMTargetDataRef TD, LLVMValueRef GlobalVar)
 Computes the preferred alignment of a global variable in bytes for a target.
 
unsigned LLVMElementAtOffset (LLVMTargetDataRef TD, LLVMTypeRef StructTy, unsigned long long Offset)
 Computes the structure element that contains the byte offset for a target.
 
unsigned long long LLVMOffsetOfElement (LLVMTargetDataRef TD, LLVMTypeRef StructTy, unsigned Element)
 Computes the byte offset of the indexed struct element for a target.
 
LLVMTargetRef LLVMGetFirstTarget (void)
 Returns the first llvm::Target in the registered targets list.
 
LLVMTargetRef LLVMGetNextTarget (LLVMTargetRef T)
 Returns the next llvm::Target given a previous one (or null if there's none)
 
LLVMTargetRef LLVMGetTargetFromName (const char *Name)
 Finds the target corresponding to the given name and stores it in T.
 
LLVMBool LLVMGetTargetFromTriple (const char *Triple, LLVMTargetRef *T, char **ErrorMessage)
 Finds the target corresponding to the given triple and stores it in T.
 
const charLLVMGetTargetName (LLVMTargetRef T)
 Returns the name of a target.
 
const charLLVMGetTargetDescription (LLVMTargetRef T)
 Returns the description of a target.
 
LLVMBool LLVMTargetHasJIT (LLVMTargetRef T)
 Returns if the target has a JIT.
 
LLVMBool LLVMTargetHasTargetMachine (LLVMTargetRef T)
 Returns if the target has a TargetMachine associated.
 
LLVMBool LLVMTargetHasAsmBackend (LLVMTargetRef T)
 Returns if the target as an ASM backend (required for emitting output)
 
LLVMTargetMachineOptionsRef LLVMCreateTargetMachineOptions (void)
 Create a new set of options for an llvm::TargetMachine.
 
void LLVMDisposeTargetMachineOptions (LLVMTargetMachineOptionsRef Options)
 Dispose of an LLVMTargetMachineOptionsRef instance.
 
void LLVMTargetMachineOptionsSetCPU (LLVMTargetMachineOptionsRef Options, const char *CPU)
 
void LLVMTargetMachineOptionsSetFeatures (LLVMTargetMachineOptionsRef Options, const char *Features)
 Set the list of features for the target machine.
 
void LLVMTargetMachineOptionsSetABI (LLVMTargetMachineOptionsRef Options, const char *ABI)
 
void LLVMTargetMachineOptionsSetCodeGenOptLevel (LLVMTargetMachineOptionsRef Options, LLVMCodeGenOptLevel Level)
 
void LLVMTargetMachineOptionsSetRelocMode (LLVMTargetMachineOptionsRef Options, LLVMRelocMode Reloc)
 
void LLVMTargetMachineOptionsSetCodeModel (LLVMTargetMachineOptionsRef Options, LLVMCodeModel CodeModel)
 
LLVMTargetMachineRef LLVMCreateTargetMachineWithOptions (LLVMTargetRef T, const char *Triple, LLVMTargetMachineOptionsRef Options)
 Create a new llvm::TargetMachine.
 
LLVMTargetMachineRef LLVMCreateTargetMachine (LLVMTargetRef T, const char *Triple, const char *CPU, const char *Features, LLVMCodeGenOptLevel Level, LLVMRelocMode Reloc, LLVMCodeModel CodeModel)
 Creates a new llvm::TargetMachine.
 
void LLVMDisposeTargetMachine (LLVMTargetMachineRef T)
 Dispose the LLVMTargetMachineRef instance generated by LLVMCreateTargetMachine.
 
LLVMTargetRef LLVMGetTargetMachineTarget (LLVMTargetMachineRef T)
 Returns the Target used in a TargetMachine.
 
charLLVMGetTargetMachineTriple (LLVMTargetMachineRef T)
 Returns the triple used creating this target machine.
 
charLLVMGetTargetMachineCPU (LLVMTargetMachineRef T)
 Returns the cpu used creating this target machine.
 
charLLVMGetTargetMachineFeatureString (LLVMTargetMachineRef T)
 Returns the feature string used creating this target machine.
 
LLVMTargetDataRef LLVMCreateTargetDataLayout (LLVMTargetMachineRef T)
 Create a DataLayout based on the targetMachine.
 
void LLVMSetTargetMachineAsmVerbosity (LLVMTargetMachineRef T, LLVMBool VerboseAsm)
 Set the target machine's ASM verbosity.
 
void LLVMSetTargetMachineFastISel (LLVMTargetMachineRef T, LLVMBool Enable)
 Enable fast-path instruction selection.
 
void LLVMSetTargetMachineGlobalISel (LLVMTargetMachineRef T, LLVMBool Enable)
 Enable global instruction selection.
 
void LLVMSetTargetMachineGlobalISelAbort (LLVMTargetMachineRef T, LLVMGlobalISelAbortMode Mode)
 Set abort behaviour when global instruction selection fails to lower/select an instruction.
 
void LLVMSetTargetMachineMachineOutliner (LLVMTargetMachineRef T, LLVMBool Enable)
 Enable the MachineOutliner pass.
 
LLVMBool LLVMTargetMachineEmitToFile (LLVMTargetMachineRef T, LLVMModuleRef M, const char *Filename, LLVMCodeGenFileType codegen, char **ErrorMessage)
 Emits an asm or object file for the given module to the filename.
 
LLVMBool LLVMTargetMachineEmitToMemoryBuffer (LLVMTargetMachineRef T, LLVMModuleRef M, LLVMCodeGenFileType codegen, char **ErrorMessage, LLVMMemoryBufferRef *OutMemBuf)
 Compile the LLVM IR stored in M and store the result in OutMemBuf.
 
charLLVMGetDefaultTargetTriple (void)
 Get a triple for the host machine as a string.
 
charLLVMNormalizeTargetTriple (const char *triple)
 Normalize a target triple.
 
charLLVMGetHostCPUName (void)
 Get the host CPU as a string.
 
charLLVMGetHostCPUFeatures (void)
 Get the host CPU's features as a string.
 
void LLVMAddAnalysisPasses (LLVMTargetMachineRef T, LLVMPassManagerRef PM)
 Adds the target-specific analysis passes to the pass manager.
 

Detailed Description

Macro Definition Documentation

◆ LLVM_ASM_PARSER [1/2]

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

Definition at line 62 of file Target.h.

◆ LLVM_ASM_PARSER [2/2]

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

Definition at line 62 of file Target.h.

◆ LLVM_ASM_PRINTER [1/2]

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

Definition at line 56 of file Target.h.

◆ LLVM_ASM_PRINTER [2/2]

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

Definition at line 56 of file Target.h.

◆ LLVM_DISASSEMBLER [1/2]

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

Definition at line 68 of file Target.h.

◆ LLVM_DISASSEMBLER [2/2]

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

Definition at line 68 of file Target.h.

◆ LLVM_TARGET [1/6]

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

Definition at line 50 of file Target.h.

◆ LLVM_TARGET [2/6]

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

Definition at line 50 of file Target.h.

◆ LLVM_TARGET [3/6]

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

Definition at line 50 of file Target.h.

◆ LLVM_TARGET [4/6]

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

Definition at line 50 of file Target.h.

◆ LLVM_TARGET [5/6]

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

Definition at line 50 of file Target.h.

◆ LLVM_TARGET [6/6]

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

Definition at line 50 of file Target.h.

Typedef Documentation

◆ LLVMTargetDataRef

typedef struct LLVMOpaqueTargetData* LLVMTargetDataRef

Definition at line 37 of file Target.h.

◆ LLVMTargetLibraryInfoRef

typedef struct LLVMOpaqueTargetLibraryInfotData* LLVMTargetLibraryInfoRef

Definition at line 38 of file Target.h.

◆ LLVMTargetMachineOptionsRef

typedef struct LLVMOpaqueTargetMachineOptions* LLVMTargetMachineOptionsRef

Definition at line 34 of file TargetMachine.h.

◆ LLVMTargetMachineRef

typedef struct LLVMOpaqueTargetMachine* LLVMTargetMachineRef

Definition at line 35 of file TargetMachine.h.

◆ LLVMTargetRef

typedef struct LLVMTarget* LLVMTargetRef

Definition at line 36 of file TargetMachine.h.

Enumeration Type Documentation

◆ LLVMByteOrdering

Enumerator
LLVMBigEndian 
LLVMLittleEndian 

Definition at line 35 of file Target.h.

◆ LLVMCodeGenFileType

Enumerator
LLVMAssemblyFile 
LLVMObjectFile 

Definition at line 65 of file TargetMachine.h.

◆ LLVMCodeGenOptLevel

Enumerator
LLVMCodeGenLevelNone 
LLVMCodeGenLevelLess 
LLVMCodeGenLevelDefault 
LLVMCodeGenLevelAggressive 

Definition at line 38 of file TargetMachine.h.

◆ LLVMCodeModel

Enumerator
LLVMCodeModelDefault 
LLVMCodeModelJITDefault 
LLVMCodeModelTiny 
LLVMCodeModelSmall 
LLVMCodeModelKernel 
LLVMCodeModelMedium 
LLVMCodeModelLarge 

Definition at line 55 of file TargetMachine.h.

◆ LLVMGlobalISelAbortMode

Enumerator
LLVMGlobalISelAbortEnable 
LLVMGlobalISelAbortDisable 
LLVMGlobalISelAbortDisableWithDiag 

Definition at line 70 of file TargetMachine.h.

◆ LLVMRelocMode

Enumerator
LLVMRelocDefault 
LLVMRelocStatic 
LLVMRelocPIC 
LLVMRelocDynamicNoPic 
LLVMRelocROPI 
LLVMRelocRWPI 
LLVMRelocROPI_RWPI 

Definition at line 45 of file TargetMachine.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 108 of file Target.cpp.

References unwrap().

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

References unwrap().

◆ LLVMAddAnalysisPasses()

void LLVMAddAnalysisPasses ( LLVMTargetMachineRef  T,
LLVMPassManagerRef  PM 
)

Adds the target-specific analysis passes to the pass manager.

Definition at line 375 of file TargetMachineC.cpp.

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

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

References unwrap().

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

References LLVMBigEndian, LLVMLittleEndian, and unwrap().

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

References unwrap().

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

References unwrap().

◆ LLVMCreateTargetData()

LLVMTargetDataRef LLVMCreateTargetData ( const char StringRep)

Creates target data from a target layout string.

See the constructor llvm::DataLayout::DataLayout.

Definition at line 50 of file Target.cpp.

References wrap().

◆ LLVMCreateTargetDataLayout()

LLVMTargetDataRef LLVMCreateTargetDataLayout ( LLVMTargetMachineRef  T)

Create a DataLayout based on the targetMachine.

Definition at line 286 of file TargetMachineC.cpp.

References unwrap(), and wrap().

◆ LLVMCreateTargetMachine()

LLVMTargetMachineRef LLVMCreateTargetMachine ( LLVMTargetRef  T,
const char Triple,
const char CPU,
const char Features,
LLVMCodeGenOptLevel  Level,
LLVMRelocMode  Reloc,
LLVMCodeModel  CodeModel 
)

◆ LLVMCreateTargetMachineOptions()

LLVMTargetMachineOptionsRef LLVMCreateTargetMachineOptions ( void  )

Create a new set of options for an llvm::TargetMachine.

The returned option structure must be released with LLVMDisposeTargetMachineOptions() after the call to LLVMCreateTargetMachineWithOptions().

Definition at line 118 of file TargetMachineC.cpp.

References wrap().

Referenced by LLVMCreateTargetMachine().

◆ LLVMCreateTargetMachineWithOptions()

LLVMTargetMachineRef LLVMCreateTargetMachineWithOptions ( LLVMTargetRef  T,
const char Triple,
LLVMTargetMachineOptionsRef  Options 
)

Create a new llvm::TargetMachine.

Parameters
Tthe target to create a machine for.
Triplea triple describing the target machine.
Optionsadditional configuration (see LLVMCreateTargetMachineOptions()).

Definition at line 200 of file TargetMachineC.cpp.

References llvm::MCTargetOptions::ABIName, createTargetMachine(), llvm::TargetOptions::MCOptions, Options, unwrap(), and wrap().

Referenced by LLVMCreateTargetMachine().

◆ LLVMDisposeTargetData()

void LLVMDisposeTargetData ( LLVMTargetDataRef  TD)

Deallocates a TargetData.

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

Definition at line 54 of file Target.cpp.

References unwrap().

◆ LLVMDisposeTargetMachine()

void LLVMDisposeTargetMachine ( LLVMTargetMachineRef  T)

Dispose the LLVMTargetMachineRef instance generated by LLVMCreateTargetMachine.

Definition at line 228 of file TargetMachineC.cpp.

References unwrap().

Referenced by LLVMOrcJITTargetMachineBuilderCreateFromTargetMachine().

◆ LLVMDisposeTargetMachineOptions()

void LLVMDisposeTargetMachineOptions ( LLVMTargetMachineOptionsRef  Options)

Dispose of an LLVMTargetMachineOptionsRef instance.

Definition at line 122 of file TargetMachineC.cpp.

References Options, and unwrap().

Referenced by LLVMCreateTargetMachine().

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

References llvm::Offset, and unwrap().

◆ LLVMGetDefaultTargetTriple()

char * LLVMGetDefaultTargetTriple ( void  )

Get a triple for the host machine as a string.

The result needs to be disposed with LLVMDisposeMessage.

Definition at line 352 of file TargetMachineC.cpp.

References llvm::c_str(), and llvm::sys::getDefaultTargetTriple().

◆ LLVMGetFirstTarget()

LLVMTargetRef LLVMGetFirstTarget ( void  )

Returns the first llvm::Target in the registered targets list.

Definition at line 63 of file TargetMachineC.cpp.

References llvm::TargetRegistry::targets(), and wrap().

◆ LLVMGetHostCPUFeatures()

char * LLVMGetHostCPUFeatures ( void  )

Get the host CPU's features as a string.

The result needs to be disposed with LLVMDisposeMessage.

Definition at line 364 of file TargetMachineC.cpp.

References llvm::SubtargetFeatures::AddFeature(), llvm::sys::getHostCPUFeatures(), and llvm::SubtargetFeatures::getString().

◆ LLVMGetHostCPUName()

char * LLVMGetHostCPUName ( void  )

Get the host CPU as a string.

The result needs to be disposed with LLVMDisposeMessage.

Definition at line 360 of file TargetMachineC.cpp.

References llvm::sys::getHostCPUName().

◆ LLVMGetModuleDataLayout()

LLVMTargetDataRef LLVMGetModuleDataLayout ( LLVMModuleRef  M)

Obtain the data layout for a module.

See also
Module::getDataLayout()

Definition at line 42 of file Target.cpp.

References unwrap(), and wrap().

◆ LLVMGetNextTarget()

LLVMTargetRef LLVMGetNextTarget ( LLVMTargetRef  T)

Returns the next llvm::Target given a previous one (or null if there's none)

Definition at line 71 of file TargetMachineC.cpp.

References unwrap(), and wrap().

◆ LLVMGetTargetDescription()

const char * LLVMGetTargetDescription ( LLVMTargetRef  T)

Returns the description of a target.

See llvm::Target::getDescription

Definition at line 102 of file TargetMachineC.cpp.

References llvm::Target::getShortDescription(), and unwrap().

◆ LLVMGetTargetFromName()

LLVMTargetRef LLVMGetTargetFromName ( const char Name)

Finds the target corresponding to the given name and stores it in T.

Returns 0 on success.

Definition at line 75 of file TargetMachineC.cpp.

References llvm::find_if(), I, Name, llvm::TargetRegistry::targets(), and wrap().

◆ LLVMGetTargetFromTriple()

LLVMBool LLVMGetTargetFromTriple ( const char Triple,
LLVMTargetRef T,
char **  ErrorMessage 
)

Finds the target corresponding to the given triple and stores it in T.

Returns 0 on success. Optionally returns any error in ErrorMessage. Use LLVMDisposeMessage to dispose the message.

Definition at line 82 of file TargetMachineC.cpp.

References llvm::TargetRegistry::lookupTarget(), and wrap().

◆ LLVMGetTargetMachineCPU()

char * LLVMGetTargetMachineCPU ( LLVMTargetMachineRef  T)

Returns the cpu used creating this target machine.

See llvm::TargetMachine::getCPU. The result needs to be disposed with LLVMDisposeMessage.

Definition at line 240 of file TargetMachineC.cpp.

References unwrap().

◆ LLVMGetTargetMachineFeatureString()

char * LLVMGetTargetMachineFeatureString ( LLVMTargetMachineRef  T)

Returns the feature string used creating this target machine.

See llvm::TargetMachine::getFeatureString. The result needs to be disposed with LLVMDisposeMessage.

Definition at line 245 of file TargetMachineC.cpp.

References unwrap().

◆ LLVMGetTargetMachineTarget()

LLVMTargetRef LLVMGetTargetMachineTarget ( LLVMTargetMachineRef  T)

Returns the Target used in a TargetMachine.

Definition at line 230 of file TargetMachineC.cpp.

References unwrap(), and wrap().

◆ LLVMGetTargetMachineTriple()

char * LLVMGetTargetMachineTriple ( LLVMTargetMachineRef  T)

Returns the triple used creating this target machine.

See llvm::TargetMachine::getTriple. The result needs to be disposed with LLVMDisposeMessage.

Definition at line 235 of file TargetMachineC.cpp.

References unwrap().

◆ LLVMGetTargetName()

const char * LLVMGetTargetName ( LLVMTargetRef  T)

Returns the name of a target.

See llvm::Target::getName

Definition at line 98 of file TargetMachineC.cpp.

References llvm::Target::getName(), and unwrap().

◆ 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 112 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 103 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 121 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 76 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 94 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 85 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 146 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 158 of file Target.h.

◆ LLVMInitializeNativeDisassembler()

static LLVMBool LLVMInitializeNativeDisassembler ( void  )
inlinestatic

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

Definition at line 170 of file Target.h.

◆ 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 131 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 80 of file Target.cpp.

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

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

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

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

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

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

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

◆ LLVMNormalizeTargetTriple()

char * LLVMNormalizeTargetTriple ( const char triple)

Normalize a target triple.

The result needs to be disposed with LLVMDisposeMessage.

Definition at line 356 of file TargetMachineC.cpp.

References llvm::c_str(), and llvm::Triple::normalize().

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

References unwrap().

◆ LLVMPointerSize()

unsigned LLVMPointerSize ( LLVMTargetDataRef  TD)

Returns the pointer size in bytes for a target.

See the method llvm::DataLayout::getPointerSize.

Definition at line 72 of file Target.cpp.

References unwrap().

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

References unwrap().

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

References unwrap().

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

References unwrap().

◆ LLVMSetModuleDataLayout()

void LLVMSetModuleDataLayout ( LLVMModuleRef  M,
LLVMTargetDataRef  DL 
)

Set the data layout for a module.

See also
Module::setDataLayout()

Definition at line 46 of file Target.cpp.

References DL, and unwrap().

◆ LLVMSetTargetMachineAsmVerbosity()

void LLVMSetTargetMachineAsmVerbosity ( LLVMTargetMachineRef  T,
LLVMBool  VerboseAsm 
)

Set the target machine's ASM verbosity.

Definition at line 250 of file TargetMachineC.cpp.

References unwrap().

◆ LLVMSetTargetMachineFastISel()

void LLVMSetTargetMachineFastISel ( LLVMTargetMachineRef  T,
LLVMBool  Enable 
)

Enable fast-path instruction selection.

Definition at line 255 of file TargetMachineC.cpp.

References Enable, and unwrap().

◆ LLVMSetTargetMachineGlobalISel()

void LLVMSetTargetMachineGlobalISel ( LLVMTargetMachineRef  T,
LLVMBool  Enable 
)

Enable global instruction selection.

Definition at line 259 of file TargetMachineC.cpp.

References Enable, and unwrap().

◆ LLVMSetTargetMachineGlobalISelAbort()

void LLVMSetTargetMachineGlobalISelAbort ( LLVMTargetMachineRef  T,
LLVMGlobalISelAbortMode  Mode 
)

Set abort behaviour when global instruction selection fails to lower/select an instruction.

Definition at line 263 of file TargetMachineC.cpp.

References LLVMGlobalISelAbortDisable, LLVMGlobalISelAbortDisableWithDiag, LLVMGlobalISelAbortEnable, and unwrap().

◆ LLVMSetTargetMachineMachineOutliner()

void LLVMSetTargetMachineMachineOutliner ( LLVMTargetMachineRef  T,
LLVMBool  Enable 
)

Enable the MachineOutliner pass.

Definition at line 281 of file TargetMachineC.cpp.

References Enable, and unwrap().

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

References unwrap().

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

References unwrap().

◆ LLVMTargetHasAsmBackend()

LLVMBool LLVMTargetHasAsmBackend ( LLVMTargetRef  T)

Returns if the target as an ASM backend (required for emitting output)

Definition at line 114 of file TargetMachineC.cpp.

References llvm::Target::hasMCAsmBackend(), and unwrap().

◆ LLVMTargetHasJIT()

LLVMBool LLVMTargetHasJIT ( LLVMTargetRef  T)

Returns if the target has a JIT.

Definition at line 106 of file TargetMachineC.cpp.

References llvm::Target::hasJIT(), and unwrap().

◆ LLVMTargetHasTargetMachine()

LLVMBool LLVMTargetHasTargetMachine ( LLVMTargetRef  T)

Returns if the target has a TargetMachine associated.

Definition at line 110 of file TargetMachineC.cpp.

References llvm::Target::hasTargetMachine(), and unwrap().

◆ LLVMTargetMachineEmitToFile()

LLVMBool LLVMTargetMachineEmitToFile ( LLVMTargetMachineRef  T,
LLVMModuleRef  M,
const char Filename,
LLVMCodeGenFileType  codegen,
char **  ErrorMessage 
)

Emits an asm or object file for the given module to the filename.

This wraps several c++ only classes (among them a file stream). Returns any error in ErrorMessage. Use LLVMDisposeMessage to dispose the message.

Definition at line 324 of file TargetMachineC.cpp.

References llvm::raw_ostream::flush(), LLVMTargetMachineEmit(), and llvm::sys::fs::OF_None.

◆ LLVMTargetMachineEmitToMemoryBuffer()

LLVMBool LLVMTargetMachineEmitToMemoryBuffer ( LLVMTargetMachineRef  T,
LLVMModuleRef  M,
LLVMCodeGenFileType  codegen,
char **  ErrorMessage,
LLVMMemoryBufferRef OutMemBuf 
)

Compile the LLVM IR stored in M and store the result in OutMemBuf.

Definition at line 339 of file TargetMachineC.cpp.

References LLVMCreateMemoryBufferWithMemoryRangeCopy(), LLVMTargetMachineEmit(), and llvm::raw_svector_ostream::str().

◆ LLVMTargetMachineOptionsSetABI()

void LLVMTargetMachineOptionsSetABI ( LLVMTargetMachineOptionsRef  Options,
const char ABI 
)

Definition at line 136 of file TargetMachineC.cpp.

References Options, and unwrap().

◆ LLVMTargetMachineOptionsSetCodeGenOptLevel()

void LLVMTargetMachineOptionsSetCodeGenOptLevel ( LLVMTargetMachineOptionsRef  Options,
LLVMCodeGenOptLevel  Level 
)

◆ LLVMTargetMachineOptionsSetCodeModel()

void LLVMTargetMachineOptionsSetCodeModel ( LLVMTargetMachineOptionsRef  Options,
LLVMCodeModel  CodeModel 
)

Definition at line 193 of file TargetMachineC.cpp.

References Options, and unwrap().

Referenced by LLVMCreateTargetMachine().

◆ LLVMTargetMachineOptionsSetCPU()

void LLVMTargetMachineOptionsSetCPU ( LLVMTargetMachineOptionsRef  Options,
const char CPU 
)

Definition at line 126 of file TargetMachineC.cpp.

References Options, and unwrap().

Referenced by LLVMCreateTargetMachine().

◆ LLVMTargetMachineOptionsSetFeatures()

void LLVMTargetMachineOptionsSetFeatures ( LLVMTargetMachineOptionsRef  Options,
const char Features 
)

Set the list of features for the target machine.

Parameters
Featuresa comma-separated list of features.

Definition at line 131 of file TargetMachineC.cpp.

References Options, and unwrap().

Referenced by LLVMCreateTargetMachine().

◆ LLVMTargetMachineOptionsSetRelocMode()

void LLVMTargetMachineOptionsSetRelocMode ( LLVMTargetMachineOptionsRef  Options,
LLVMRelocMode  Reloc 
)