diff options
Diffstat (limited to 'gnu/llvm/include/llvm-c/TargetMachine.h')
| -rw-r--r-- | gnu/llvm/include/llvm-c/TargetMachine.h | 163 |
1 files changed, 0 insertions, 163 deletions
diff --git a/gnu/llvm/include/llvm-c/TargetMachine.h b/gnu/llvm/include/llvm-c/TargetMachine.h deleted file mode 100644 index c06e9edc9aa..00000000000 --- a/gnu/llvm/include/llvm-c/TargetMachine.h +++ /dev/null @@ -1,163 +0,0 @@ -/*===-- llvm-c/TargetMachine.h - Target Machine Library C Interface - C++ -*-=*\ -|* *| -|* The LLVM Compiler Infrastructure *| -|* *| -|* This file is distributed under the University of Illinois Open Source *| -|* License. See LICENSE.TXT for details. *| -|* *| -|*===----------------------------------------------------------------------===*| -|* *| -|* This header declares the C interface to the Target and TargetMachine *| -|* classes, which can be used to generate assembly or object files. *| -|* *| -|* Many exotic languages can interoperate with C code but have a harder time *| -|* with C++ due to name mangling. So in addition to C, this interface enables *| -|* tools written in such languages. *| -|* *| -\*===----------------------------------------------------------------------===*/ - -#ifndef LLVM_C_TARGETMACHINE_H -#define LLVM_C_TARGETMACHINE_H - -#include "llvm-c/Target.h" -#include "llvm-c/Types.h" - -#ifdef __cplusplus -extern "C" { -#endif -typedef struct LLVMOpaqueTargetMachine *LLVMTargetMachineRef; -typedef struct LLVMTarget *LLVMTargetRef; - -typedef enum { - LLVMCodeGenLevelNone, - LLVMCodeGenLevelLess, - LLVMCodeGenLevelDefault, - LLVMCodeGenLevelAggressive -} LLVMCodeGenOptLevel; - -typedef enum { - LLVMRelocDefault, - LLVMRelocStatic, - LLVMRelocPIC, - LLVMRelocDynamicNoPic, - LLVMRelocROPI, - LLVMRelocRWPI, - LLVMRelocROPI_RWPI -} LLVMRelocMode; - -typedef enum { - LLVMCodeModelDefault, - LLVMCodeModelJITDefault, - LLVMCodeModelTiny, - LLVMCodeModelSmall, - LLVMCodeModelKernel, - LLVMCodeModelMedium, - LLVMCodeModelLarge -} LLVMCodeModel; - -typedef enum { - LLVMAssemblyFile, - LLVMObjectFile -} LLVMCodeGenFileType; - -/** Returns the first llvm::Target in the registered targets list. */ -LLVMTargetRef LLVMGetFirstTarget(void); -/** Returns the next llvm::Target given a previous one (or null if there's none) */ -LLVMTargetRef LLVMGetNextTarget(LLVMTargetRef T); - -/*===-- Target ------------------------------------------------------------===*/ -/** Finds the target corresponding to the given name and stores it in \p T. - Returns 0 on success. */ -LLVMTargetRef LLVMGetTargetFromName(const char *Name); - -/** Finds the target corresponding to the given triple and stores it in \p T. - Returns 0 on success. Optionally returns any error in ErrorMessage. - Use LLVMDisposeMessage to dispose the message. */ -LLVMBool LLVMGetTargetFromTriple(const char* Triple, LLVMTargetRef *T, - char **ErrorMessage); - -/** Returns the name of a target. See llvm::Target::getName */ -const char *LLVMGetTargetName(LLVMTargetRef T); - -/** Returns the description of a target. See llvm::Target::getDescription */ -const char *LLVMGetTargetDescription(LLVMTargetRef T); - -/** Returns if the target has a JIT */ -LLVMBool LLVMTargetHasJIT(LLVMTargetRef T); - -/** Returns if the target has a TargetMachine associated */ -LLVMBool LLVMTargetHasTargetMachine(LLVMTargetRef T); - -/** Returns if the target as an ASM backend (required for emitting output) */ -LLVMBool LLVMTargetHasAsmBackend(LLVMTargetRef T); - -/*===-- Target Machine ----------------------------------------------------===*/ -/** Creates a new llvm::TargetMachine. See llvm::Target::createTargetMachine */ -LLVMTargetMachineRef LLVMCreateTargetMachine(LLVMTargetRef T, - const char *Triple, const char *CPU, const char *Features, - LLVMCodeGenOptLevel Level, LLVMRelocMode Reloc, LLVMCodeModel CodeModel); - -/** Dispose the LLVMTargetMachineRef instance generated by - LLVMCreateTargetMachine. */ -void LLVMDisposeTargetMachine(LLVMTargetMachineRef T); - -/** Returns the Target used in a TargetMachine */ -LLVMTargetRef LLVMGetTargetMachineTarget(LLVMTargetMachineRef T); - -/** Returns the triple used creating this target machine. See - llvm::TargetMachine::getTriple. The result needs to be disposed with - LLVMDisposeMessage. */ -char *LLVMGetTargetMachineTriple(LLVMTargetMachineRef T); - -/** Returns the cpu used creating this target machine. See - llvm::TargetMachine::getCPU. The result needs to be disposed with - LLVMDisposeMessage. */ -char *LLVMGetTargetMachineCPU(LLVMTargetMachineRef T); - -/** Returns the feature string used creating this target machine. See - llvm::TargetMachine::getFeatureString. The result needs to be disposed with - LLVMDisposeMessage. */ -char *LLVMGetTargetMachineFeatureString(LLVMTargetMachineRef T); - -/** Create a DataLayout based on the targetMachine. */ -LLVMTargetDataRef LLVMCreateTargetDataLayout(LLVMTargetMachineRef T); - -/** Set the target machine's ASM verbosity. */ -void LLVMSetTargetMachineAsmVerbosity(LLVMTargetMachineRef T, - LLVMBool VerboseAsm); - -/** 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. */ -LLVMBool LLVMTargetMachineEmitToFile(LLVMTargetMachineRef T, LLVMModuleRef M, - char *Filename, LLVMCodeGenFileType codegen, char **ErrorMessage); - -/** Compile the LLVM IR stored in \p M and store the result in \p OutMemBuf. */ -LLVMBool LLVMTargetMachineEmitToMemoryBuffer(LLVMTargetMachineRef T, LLVMModuleRef M, - LLVMCodeGenFileType codegen, char** ErrorMessage, LLVMMemoryBufferRef *OutMemBuf); - -/*===-- Triple ------------------------------------------------------------===*/ -/** Get a triple for the host machine as a string. The result needs to be - disposed with LLVMDisposeMessage. */ -char* LLVMGetDefaultTargetTriple(void); - -/** Normalize a target triple. The result needs to be disposed with - LLVMDisposeMessage. */ -char* LLVMNormalizeTargetTriple(const char* triple); - -/** Get the host CPU as a string. The result needs to be disposed with - LLVMDisposeMessage. */ -char* LLVMGetHostCPUName(void); - -/** Get the host CPU's features as a string. The result needs to be disposed - with LLVMDisposeMessage. */ -char* LLVMGetHostCPUFeatures(void); - -/** Adds the target-specific analysis passes to the pass manager. */ -void LLVMAddAnalysisPasses(LLVMTargetMachineRef T, LLVMPassManagerRef PM); - -#ifdef __cplusplus -} -#endif - -#endif |
