LLVM 17.0.0git
Typedefs | Enumerations | Functions
TargetMachine.h File Reference
#include "llvm-c/ExternC.h"
#include "llvm-c/Target.h"
#include "llvm-c/Types.h"
Include dependency graph for TargetMachine.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Typedefs

typedef struct LLVMOpaqueTargetMachine * LLVMTargetMachineRef
 
typedef struct LLVMTarget * LLVMTargetRef
 

Enumerations

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 }
 

Functions

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)
 
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.
 
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.