Thanks to visit codestin.com
Credit goes to llvm.org

LLVM 22.0.0git
Target information
Collaboration diagram for Target information:

Macros

#define LLVM_TARGET(TargetName)
#define LLVM_TARGET(TargetName)
#define LLVM_TARGET(TargetName)
#define LLVM_TARGET(TargetName)
#define LLVM_TARGET(TargetName)
#define LLVM_TARGET(TargetName)
#define LLVM_ASM_PRINTER(TargetName)
#define LLVM_ASM_PRINTER(TargetName)
#define LLVM_ASM_PARSER(TargetName)
#define LLVM_ASM_PARSER(TargetName)
#define LLVM_DISASSEMBLER(TargetName)
#define LLVM_DISASSEMBLER(TargetName)

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.
LLVM_C_ABI LLVMTargetDataRef LLVMGetModuleDataLayout (LLVMModuleRef M)
 Obtain the data layout for a module.
LLVM_C_ABI void LLVMSetModuleDataLayout (LLVMModuleRef M, LLVMTargetDataRef DL)
 Set the data layout for a module.
LLVM_C_ABI LLVMTargetDataRef LLVMCreateTargetData (const char *StringRep)
 Creates target data from a target layout string.
LLVM_C_ABI void LLVMDisposeTargetData (LLVMTargetDataRef TD)
 Deallocates a TargetData.
LLVM_C_ABI void LLVMAddTargetLibraryInfo (LLVMTargetLibraryInfoRef TLI, LLVMPassManagerRef PM)
 Adds target library information to a pass manager.
LLVM_C_ABI charLLVMCopyStringRepOfTargetData (LLVMTargetDataRef TD)
 Converts target data to a target layout string.
LLVM_C_ABI enum LLVMByteOrdering LLVMByteOrder (LLVMTargetDataRef TD)
 Returns the byte order of a target, either LLVMBigEndian or LLVMLittleEndian.
LLVM_C_ABI unsigned LLVMPointerSize (LLVMTargetDataRef TD)
 Returns the pointer size in bytes for a target.
LLVM_C_ABI unsigned LLVMPointerSizeForAS (LLVMTargetDataRef TD, unsigned AS)
 Returns the pointer size in bytes for a target for a specified address space.
LLVM_C_ABI LLVMTypeRef LLVMIntPtrType (LLVMTargetDataRef TD)
 Returns the integer type that is the same size as a pointer on a target.
LLVM_C_ABI LLVMTypeRef LLVMIntPtrTypeForAS (LLVMTargetDataRef TD, unsigned AS)
 Returns the integer type that is the same size as a pointer on a target.
LLVM_C_ABI LLVMTypeRef LLVMIntPtrTypeInContext (LLVMContextRef C, LLVMTargetDataRef TD)
 Returns the integer type that is the same size as a pointer on a target.
LLVM_C_ABI LLVMTypeRef LLVMIntPtrTypeForASInContext (LLVMContextRef C, LLVMTargetDataRef TD, unsigned AS)
 Returns the integer type that is the same size as a pointer on a target.
LLVM_C_ABI unsigned long long LLVMSizeOfTypeInBits (LLVMTargetDataRef TD, LLVMTypeRef Ty)
 Computes the size of a type in bits for a target.
LLVM_C_ABI unsigned long long LLVMStoreSizeOfType (LLVMTargetDataRef TD, LLVMTypeRef Ty)
 Computes the storage size of a type in bytes for a target.
LLVM_C_ABI unsigned long long LLVMABISizeOfType (LLVMTargetDataRef TD, LLVMTypeRef Ty)
 Computes the ABI size of a type in bytes for a target.
LLVM_C_ABI unsigned LLVMABIAlignmentOfType (LLVMTargetDataRef TD, LLVMTypeRef Ty)
 Computes the ABI alignment of a type in bytes for a target.
LLVM_C_ABI unsigned LLVMCallFrameAlignmentOfType (LLVMTargetDataRef TD, LLVMTypeRef Ty)
 Computes the call frame alignment of a type in bytes for a target.
LLVM_C_ABI unsigned LLVMPreferredAlignmentOfType (LLVMTargetDataRef TD, LLVMTypeRef Ty)
 Computes the preferred alignment of a type in bytes for a target.
LLVM_C_ABI unsigned LLVMPreferredAlignmentOfGlobal (LLVMTargetDataRef TD, LLVMValueRef GlobalVar)
 Computes the preferred alignment of a global variable in bytes for a target.
LLVM_C_ABI unsigned LLVMElementAtOffset (LLVMTargetDataRef TD, LLVMTypeRef StructTy, unsigned long long Offset)
 Computes the structure element that contains the byte offset for a target.
LLVM_C_ABI unsigned long long LLVMOffsetOfElement (LLVMTargetDataRef TD, LLVMTypeRef StructTy, unsigned Element)
 Computes the byte offset of the indexed struct element for a target.
LLVM_C_ABI LLVMTargetRef LLVMGetFirstTarget (void)
 Returns the first llvm::Target in the registered targets list.
LLVM_C_ABI LLVMTargetRef LLVMGetNextTarget (LLVMTargetRef T)
 Returns the next llvm::Target given a previous one (or null if there's none)
LLVM_C_ABI LLVMTargetRef LLVMGetTargetFromName (const char *Name)
 Finds the target corresponding to the given name and stores it in T.
LLVM_C_ABI LLVMBool LLVMGetTargetFromTriple (const char *Triple, LLVMTargetRef *T, char **ErrorMessage)
 Finds the target corresponding to the given triple and stores it in T.
LLVM_C_ABI const charLLVMGetTargetName (LLVMTargetRef T)
 Returns the name of a target.
LLVM_C_ABI const charLLVMGetTargetDescription (LLVMTargetRef T)
 Returns the description of a target.
LLVM_C_ABI LLVMBool LLVMTargetHasJIT (LLVMTargetRef T)
 Returns if the target has a JIT.
LLVM_C_ABI LLVMBool LLVMTargetHasTargetMachine (LLVMTargetRef T)
 Returns if the target has a TargetMachine associated.
LLVM_C_ABI LLVMBool LLVMTargetHasAsmBackend (LLVMTargetRef T)
 Returns if the target as an ASM backend (required for emitting output)
LLVM_C_ABI LLVMTargetMachineOptionsRef LLVMCreateTargetMachineOptions (void)
 Create a new set of options for an llvm::TargetMachine.
LLVM_C_ABI void LLVMDisposeTargetMachineOptions (LLVMTargetMachineOptionsRef Options)
 Dispose of an LLVMTargetMachineOptionsRef instance.
LLVM_C_ABI void LLVMTargetMachineOptionsSetCPU (LLVMTargetMachineOptionsRef Options, const char *CPU)
LLVM_C_ABI void LLVMTargetMachineOptionsSetFeatures (LLVMTargetMachineOptionsRef Options, const char *Features)
 Set the list of features for the target machine.
LLVM_C_ABI void LLVMTargetMachineOptionsSetABI (LLVMTargetMachineOptionsRef Options, const char *ABI)
LLVM_C_ABI void LLVMTargetMachineOptionsSetCodeGenOptLevel (LLVMTargetMachineOptionsRef Options, LLVMCodeGenOptLevel Level)
LLVM_C_ABI void LLVMTargetMachineOptionsSetRelocMode (LLVMTargetMachineOptionsRef Options, LLVMRelocMode Reloc)
LLVM_C_ABI void LLVMTargetMachineOptionsSetCodeModel (LLVMTargetMachineOptionsRef Options, LLVMCodeModel CodeModel)
LLVM_C_ABI LLVMTargetMachineRef LLVMCreateTargetMachineWithOptions (LLVMTargetRef T, const char *Triple, LLVMTargetMachineOptionsRef Options)
 Create a new llvm::TargetMachine.
LLVM_C_ABI LLVMTargetMachineRef LLVMCreateTargetMachine (LLVMTargetRef T, const char *Triple, const char *CPU, const char *Features, LLVMCodeGenOptLevel Level, LLVMRelocMode Reloc, LLVMCodeModel CodeModel)
 Creates a new llvm::TargetMachine.
LLVM_C_ABI void LLVMDisposeTargetMachine (LLVMTargetMachineRef T)
 Dispose the LLVMTargetMachineRef instance generated by LLVMCreateTargetMachine.
LLVM_C_ABI LLVMTargetRef LLVMGetTargetMachineTarget (LLVMTargetMachineRef T)
 Returns the Target used in a TargetMachine.
LLVM_C_ABI charLLVMGetTargetMachineTriple (LLVMTargetMachineRef T)
 Returns the triple used creating this target machine.
LLVM_C_ABI charLLVMGetTargetMachineCPU (LLVMTargetMachineRef T)
 Returns the cpu used creating this target machine.
LLVM_C_ABI charLLVMGetTargetMachineFeatureString (LLVMTargetMachineRef T)
 Returns the feature string used creating this target machine.
LLVM_C_ABI LLVMTargetDataRef LLVMCreateTargetDataLayout (LLVMTargetMachineRef T)
 Create a DataLayout based on the targetMachine.
LLVM_C_ABI void LLVMSetTargetMachineAsmVerbosity (LLVMTargetMachineRef T, LLVMBool VerboseAsm)
 Set the target machine's ASM verbosity.
LLVM_C_ABI void LLVMSetTargetMachineFastISel (LLVMTargetMachineRef T, LLVMBool Enable)
 Enable fast-path instruction selection.
LLVM_C_ABI void LLVMSetTargetMachineGlobalISel (LLVMTargetMachineRef T, LLVMBool Enable)
 Enable global instruction selection.
LLVM_C_ABI void LLVMSetTargetMachineGlobalISelAbort (LLVMTargetMachineRef T, LLVMGlobalISelAbortMode Mode)
 Set abort behaviour when global instruction selection fails to lower/select an instruction.
LLVM_C_ABI void LLVMSetTargetMachineMachineOutliner (LLVMTargetMachineRef T, LLVMBool Enable)
 Enable the MachineOutliner pass.
LLVM_C_ABI 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.
LLVM_C_ABI 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.
LLVM_C_ABI charLLVMGetDefaultTargetTriple (void)
 Get a triple for the host machine as a string.
LLVM_C_ABI charLLVMNormalizeTargetTriple (const char *triple)
 Normalize a target triple.
LLVM_C_ABI charLLVMGetHostCPUName (void)
 Get the host CPU as a string.
LLVM_C_ABI charLLVMGetHostCPUFeatures (void)
 Get the host CPU's features as a string.
LLVM_C_ABI 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)
Value:
LLVM_C_ABI void LLVMInitialize##TargetName##AsmParser(void);
#define LLVM_C_ABI
LLVM_C_ABI is the export/visibility macro used to mark symbols declared in llvm-c as exported when bu...
Definition Visibility.h:40

Definition at line 64 of file Target.h.

◆ LLVM_ASM_PARSER [2/2]

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

Definition at line 64 of file Target.h.

◆ LLVM_ASM_PRINTER [1/2]

#define LLVM_ASM_PRINTER ( TargetName)
Value:
LLVM_C_ABI void LLVMInitialize##TargetName##AsmPrinter(void);

Definition at line 58 of file Target.h.

◆ LLVM_ASM_PRINTER [2/2]

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

Definition at line 58 of file Target.h.

◆ LLVM_DISASSEMBLER [1/2]

#define LLVM_DISASSEMBLER ( TargetName)
Value:
LLVM_C_ABI void LLVMInitialize##TargetName##Disassembler(void);

Definition at line 70 of file Target.h.

◆ LLVM_DISASSEMBLER [2/2]

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

Definition at line 70 of file Target.h.

◆ LLVM_TARGET [1/6]

#define LLVM_TARGET ( TargetName)
Value:
LLVM_C_ABI void LLVMInitialize##TargetName##TargetInfo(void);

Definition at line 42 of file Target.h.

◆ LLVM_TARGET [2/6]

#define LLVM_TARGET ( TargetName)
Value:
LLVM_C_ABI void LLVMInitialize##TargetName##Target(void);

Definition at line 42 of file Target.h.

◆ LLVM_TARGET [3/6]

#define LLVM_TARGET ( TargetName)
Value:
LLVM_C_ABI void LLVMInitialize##TargetName##TargetMC(void);

Definition at line 42 of file Target.h.

◆ LLVM_TARGET [4/6]

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

Definition at line 42 of file Target.h.

◆ LLVM_TARGET [5/6]

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

Definition at line 42 of file Target.h.

◆ LLVM_TARGET [6/6]

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

Definition at line 42 of file Target.h.

Typedef Documentation

◆ LLVMTargetDataRef

typedef struct LLVMOpaqueTargetData* LLVMTargetDataRef

Definition at line 38 of file Target.h.

◆ LLVMTargetLibraryInfoRef

typedef struct LLVMOpaqueTargetLibraryInfotData* LLVMTargetLibraryInfoRef

Definition at line 39 of file Target.h.

◆ LLVMTargetMachineOptionsRef

typedef struct LLVMOpaqueTargetMachineOptions* LLVMTargetMachineOptionsRef

Definition at line 35 of file TargetMachine.h.

◆ LLVMTargetMachineRef

typedef struct LLVMOpaqueTargetMachine* LLVMTargetMachineRef

Definition at line 36 of file TargetMachine.h.

◆ LLVMTargetRef

typedef struct LLVMTarget* LLVMTargetRef

Definition at line 37 of file TargetMachine.h.

Enumeration Type Documentation

◆ LLVMByteOrdering

Enumerator
LLVMBigEndian 
LLVMLittleEndian 

Definition at line 36 of file Target.h.

◆ LLVMCodeGenFileType

Enumerator
LLVMAssemblyFile 
LLVMObjectFile 

Definition at line 66 of file TargetMachine.h.

◆ LLVMCodeGenOptLevel

Enumerator
LLVMCodeGenLevelNone 
LLVMCodeGenLevelLess 
LLVMCodeGenLevelDefault 
LLVMCodeGenLevelAggressive 

Definition at line 39 of file TargetMachine.h.

◆ LLVMCodeModel

Enumerator
LLVMCodeModelDefault 
LLVMCodeModelJITDefault 
LLVMCodeModelTiny 
LLVMCodeModelSmall 
LLVMCodeModelKernel 
LLVMCodeModelMedium 
LLVMCodeModelLarge 

Definition at line 56 of file TargetMachine.h.

◆ LLVMGlobalISelAbortMode

Enumerator
LLVMGlobalISelAbortEnable 
LLVMGlobalISelAbortDisable 
LLVMGlobalISelAbortDisableWithDiag 

Definition at line 71 of file TargetMachine.h.

◆ LLVMRelocMode

Enumerator
LLVMRelocDefault 
LLVMRelocStatic 
LLVMRelocPIC 
LLVMRelocDynamicNoPic 
LLVMRelocROPI 
LLVMRelocRWPI 
LLVMRelocROPI_RWPI 

Definition at line 46 of file TargetMachine.h.

Function Documentation

◆ LLVMABIAlignmentOfType()

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

References llvm::unwrap().

◆ LLVMABISizeOfType()

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

References llvm::unwrap().

◆ LLVMAddAnalysisPasses()

LLVM_C_ABI void LLVMAddAnalysisPasses ( LLVMTargetMachineRef T,
LLVMPassManagerRef PM )

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

Definition at line 373 of file TargetMachineC.cpp.

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

◆ LLVMAddTargetLibraryInfo()

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

References llvm::unwrap().

◆ LLVMByteOrder()

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

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

◆ LLVMCallFrameAlignmentOfType()

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

References llvm::unwrap().

◆ LLVMCopyStringRepOfTargetData()

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

References llvm::unwrap().

◆ LLVMCreateTargetData()

LLVM_C_ABI LLVMTargetDataRef LLVMCreateTargetData ( const char * StringRep)

Creates target data from a target layout string.

See the constructor llvm::DataLayout::DataLayout.

Definition at line 51 of file Target.cpp.

References llvm::wrap().

◆ LLVMCreateTargetDataLayout()

LLVM_C_ABI LLVMTargetDataRef LLVMCreateTargetDataLayout ( LLVMTargetMachineRef T)

Create a DataLayout based on the targetMachine.

Definition at line 287 of file TargetMachineC.cpp.

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

◆ LLVMCreateTargetMachine()

◆ LLVMCreateTargetMachineOptions()

LLVM_C_ABI 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 119 of file TargetMachineC.cpp.

References llvm::wrap().

Referenced by LLVMCreateTargetMachine().

◆ LLVMCreateTargetMachineWithOptions()

LLVM_C_ABI 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 201 of file TargetMachineC.cpp.

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

Referenced by LLVMCreateTargetMachine().

◆ LLVMDisposeTargetData()

LLVM_C_ABI void LLVMDisposeTargetData ( LLVMTargetDataRef TD)

Deallocates a TargetData.

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

Definition at line 55 of file Target.cpp.

References llvm::unwrap().

◆ LLVMDisposeTargetMachine()

LLVM_C_ABI void LLVMDisposeTargetMachine ( LLVMTargetMachineRef T)

Dispose the LLVMTargetMachineRef instance generated by LLVMCreateTargetMachine.

Definition at line 229 of file TargetMachineC.cpp.

References T, and llvm::unwrap().

Referenced by LLVMOrcJITTargetMachineBuilderCreateFromTargetMachine().

◆ LLVMDisposeTargetMachineOptions()

LLVM_C_ABI void LLVMDisposeTargetMachineOptions ( LLVMTargetMachineOptionsRef Options)

Dispose of an LLVMTargetMachineOptionsRef instance.

Definition at line 123 of file TargetMachineC.cpp.

References Options, and llvm::unwrap().

Referenced by LLVMCreateTargetMachine().

◆ LLVMElementAtOffset()

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

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

◆ LLVMGetDefaultTargetTriple()

LLVM_C_ABI char * LLVMGetDefaultTargetTriple ( void )

Get a triple for the host machine as a string.

The result needs to be disposed with LLVMDisposeMessage.

Definition at line 353 of file TargetMachineC.cpp.

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

◆ LLVMGetFirstTarget()

LLVM_C_ABI LLVMTargetRef LLVMGetFirstTarget ( void )

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

Definition at line 63 of file TargetMachineC.cpp.

References llvm::iterator_range< IteratorT >::begin(), llvm::TargetRegistry::targets(), and llvm::wrap().

◆ LLVMGetHostCPUFeatures()

LLVM_C_ABI char * LLVMGetHostCPUFeatures ( void )

Get the host CPU's features as a string.

The result needs to be disposed with LLVMDisposeMessage.

Definition at line 365 of file TargetMachineC.cpp.

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

◆ LLVMGetHostCPUName()

LLVM_C_ABI char * LLVMGetHostCPUName ( void )

Get the host CPU as a string.

The result needs to be disposed with LLVMDisposeMessage.

Definition at line 361 of file TargetMachineC.cpp.

References data, and llvm::sys::getHostCPUName().

◆ LLVMGetModuleDataLayout()

LLVM_C_ABI LLVMTargetDataRef LLVMGetModuleDataLayout ( LLVMModuleRef M)

Obtain the data layout for a module.

See also
Module::getDataLayout()

Definition at line 43 of file Target.cpp.

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

◆ LLVMGetNextTarget()

LLVM_C_ABI 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 T, llvm::unwrap(), and llvm::wrap().

◆ LLVMGetTargetDescription()

LLVM_C_ABI const char * LLVMGetTargetDescription ( LLVMTargetRef T)

Returns the description of a target.

See llvm::Target::getDescription

Definition at line 103 of file TargetMachineC.cpp.

References T, and llvm::unwrap().

◆ LLVMGetTargetFromName()

LLVM_C_ABI 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::iterator_range< IteratorT >::end(), llvm::find_if(), I, T, llvm::TargetRegistry::targets(), and llvm::wrap().

◆ LLVMGetTargetFromTriple()

LLVM_C_ABI 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(), T, and llvm::wrap().

◆ LLVMGetTargetMachineCPU()

LLVM_C_ABI 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 241 of file TargetMachineC.cpp.

References T, and llvm::unwrap().

◆ LLVMGetTargetMachineFeatureString()

LLVM_C_ABI 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 246 of file TargetMachineC.cpp.

References T, and llvm::unwrap().

◆ LLVMGetTargetMachineTarget()

LLVM_C_ABI LLVMTargetRef LLVMGetTargetMachineTarget ( LLVMTargetMachineRef T)

Returns the Target used in a TargetMachine.

Definition at line 231 of file TargetMachineC.cpp.

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

◆ LLVMGetTargetMachineTriple()

LLVM_C_ABI 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 236 of file TargetMachineC.cpp.

References T, and llvm::unwrap().

◆ LLVMGetTargetName()

LLVM_C_ABI const char * LLVMGetTargetName ( LLVMTargetRef T)

Returns the name of a target.

See llvm::Target::getName

Definition at line 99 of file TargetMachineC.cpp.

References T, and llvm::unwrap().

◆ LLVMInitializeAllAsmParsers()

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

◆ LLVMInitializeAllAsmPrinters()

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

◆ LLVMInitializeAllDisassemblers()

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

◆ LLVMInitializeAllTargetInfos()

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

◆ LLVMInitializeAllTargetMCs()

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

◆ LLVMInitializeAllTargets()

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

◆ LLVMInitializeNativeAsmParser()

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

◆ LLVMInitializeNativeAsmPrinter()

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

◆ LLVMInitializeNativeDisassembler()

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

◆ LLVMInitializeNativeTarget()

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

◆ LLVMIntPtrType()

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

See the method llvm::DataLayout::getIntPtrType.

Definition at line 81 of file Target.cpp.

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

◆ LLVMIntPtrTypeForAS()

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

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

◆ LLVMIntPtrTypeForASInContext()

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

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

◆ LLVMIntPtrTypeInContext()

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

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

◆ LLVMNormalizeTargetTriple()

LLVM_C_ABI char * LLVMNormalizeTargetTriple ( const char * triple)

Normalize a target triple.

The result needs to be disposed with LLVMDisposeMessage.

Definition at line 357 of file TargetMachineC.cpp.

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

◆ LLVMOffsetOfElement()

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

References llvm::unwrap().

◆ LLVMPointerSize()

LLVM_C_ABI unsigned LLVMPointerSize ( LLVMTargetDataRef TD)

Returns the pointer size in bytes for a target.

See the method llvm::DataLayout::getPointerSize.

Definition at line 73 of file Target.cpp.

References llvm::unwrap().

◆ LLVMPointerSizeForAS()

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

References llvm::unwrap().

◆ LLVMPreferredAlignmentOfGlobal()

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

References llvm::unwrap().

◆ LLVMPreferredAlignmentOfType()

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

References llvm::unwrap().

◆ LLVMSetModuleDataLayout()

LLVM_C_ABI void LLVMSetModuleDataLayout ( LLVMModuleRef M,
LLVMTargetDataRef DL )

Set the data layout for a module.

See also
Module::setDataLayout()

Definition at line 47 of file Target.cpp.

References DL, and llvm::unwrap().

◆ LLVMSetTargetMachineAsmVerbosity()

LLVM_C_ABI void LLVMSetTargetMachineAsmVerbosity ( LLVMTargetMachineRef T,
LLVMBool VerboseAsm )

Set the target machine's ASM verbosity.

Definition at line 251 of file TargetMachineC.cpp.

References T, and llvm::unwrap().

◆ LLVMSetTargetMachineFastISel()

LLVM_C_ABI void LLVMSetTargetMachineFastISel ( LLVMTargetMachineRef T,
LLVMBool Enable )

Enable fast-path instruction selection.

Definition at line 256 of file TargetMachineC.cpp.

References Enable, T, and llvm::unwrap().

◆ LLVMSetTargetMachineGlobalISel()

LLVM_C_ABI void LLVMSetTargetMachineGlobalISel ( LLVMTargetMachineRef T,
LLVMBool Enable )

Enable global instruction selection.

Definition at line 260 of file TargetMachineC.cpp.

References Enable, T, and llvm::unwrap().

◆ LLVMSetTargetMachineGlobalISelAbort()

LLVM_C_ABI void LLVMSetTargetMachineGlobalISelAbort ( LLVMTargetMachineRef T,
LLVMGlobalISelAbortMode Mode )

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

Definition at line 264 of file TargetMachineC.cpp.

References llvm::Disable, llvm::DisableWithDiag, llvm::Enable, LLVMGlobalISelAbortDisable, LLVMGlobalISelAbortDisableWithDiag, LLVMGlobalISelAbortEnable, Mode, T, and llvm::unwrap().

◆ LLVMSetTargetMachineMachineOutliner()

LLVM_C_ABI void LLVMSetTargetMachineMachineOutliner ( LLVMTargetMachineRef T,
LLVMBool Enable )

Enable the MachineOutliner pass.

Definition at line 282 of file TargetMachineC.cpp.

References Enable, T, and llvm::unwrap().

◆ LLVMSizeOfTypeInBits()

LLVM_C_ABI unsigned long long LLVMSizeOfTypeInBits ( LLVMTargetDataRef TD,
LLVMTypeRef Ty )

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

See the method llvm::DataLayout::getTypeSizeInBits.

Definition at line 97 of file Target.cpp.

References llvm::unwrap().

◆ LLVMStoreSizeOfType()

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

References llvm::unwrap().

◆ LLVMTargetHasAsmBackend()

LLVM_C_ABI LLVMBool LLVMTargetHasAsmBackend ( LLVMTargetRef T)

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

Definition at line 115 of file TargetMachineC.cpp.

References T, and llvm::unwrap().

◆ LLVMTargetHasJIT()

LLVM_C_ABI LLVMBool LLVMTargetHasJIT ( LLVMTargetRef T)

Returns if the target has a JIT.

Definition at line 107 of file TargetMachineC.cpp.

References T, and llvm::unwrap().

◆ LLVMTargetHasTargetMachine()

LLVM_C_ABI LLVMBool LLVMTargetHasTargetMachine ( LLVMTargetRef T)

Returns if the target has a TargetMachine associated.

Definition at line 111 of file TargetMachineC.cpp.

References T, and llvm::unwrap().

◆ LLVMTargetMachineEmitToFile()

LLVM_C_ABI 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 325 of file TargetMachineC.cpp.

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

◆ LLVMTargetMachineEmitToMemoryBuffer()

LLVM_C_ABI 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 340 of file TargetMachineC.cpp.

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

◆ LLVMTargetMachineOptionsSetABI()

LLVM_C_ABI void LLVMTargetMachineOptionsSetABI ( LLVMTargetMachineOptionsRef Options,
const char * ABI )

Definition at line 137 of file TargetMachineC.cpp.

References Options, and llvm::unwrap().

◆ LLVMTargetMachineOptionsSetCodeGenOptLevel()

◆ LLVMTargetMachineOptionsSetCodeModel()

LLVM_C_ABI void LLVMTargetMachineOptionsSetCodeModel ( LLVMTargetMachineOptionsRef Options,
LLVMCodeModel CodeModel )

Definition at line 194 of file TargetMachineC.cpp.

References Options, and llvm::unwrap().

Referenced by LLVMCreateTargetMachine().

◆ LLVMTargetMachineOptionsSetCPU()

LLVM_C_ABI void LLVMTargetMachineOptionsSetCPU ( LLVMTargetMachineOptionsRef Options,
const char * CPU )

Definition at line 127 of file TargetMachineC.cpp.

References Options, and llvm::unwrap().

Referenced by LLVMCreateTargetMachine().

◆ LLVMTargetMachineOptionsSetFeatures()

LLVM_C_ABI 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 132 of file TargetMachineC.cpp.

References Options, and llvm::unwrap().

Referenced by LLVMCreateTargetMachine().

◆ LLVMTargetMachineOptionsSetRelocMode()