diff options
| author | Andrew Kelley <superjoe30@gmail.com> | 2015-11-30 14:10:07 -0700 |
|---|---|---|
| committer | Andrew Kelley <superjoe30@gmail.com> | 2015-11-30 14:10:07 -0700 |
| commit | 4ccb98bdcef86b2dac3bd1c8f01b9b823de6e9a4 (patch) | |
| tree | a2c8d3c1ca26c82d1da0963acc978dfb7a1ead4f /src/zig_llvm.hpp | |
| parent | 014711c57ef6544745444e7867d4d03ffd8d389a (diff) | |
| download | zig-4ccb98bdcef86b2dac3bd1c8f01b9b823de6e9a4.tar.gz zig-4ccb98bdcef86b2dac3bd1c8f01b9b823de6e9a4.zip | |
analyze no longer depends on llvm C++ API
Diffstat (limited to 'src/zig_llvm.hpp')
| -rw-r--r-- | src/zig_llvm.hpp | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/src/zig_llvm.hpp b/src/zig_llvm.hpp index e67be49625..f084bf0712 100644 --- a/src/zig_llvm.hpp +++ b/src/zig_llvm.hpp @@ -14,6 +14,15 @@ #include <llvm-c/Initialization.h> #include <llvm-c/TargetMachine.h> +struct LLVMZigDIType; +struct LLVMZigDIBuilder; +struct LLVMZigDICompileUnit; +struct LLVMZigDIScope; +struct LLVMZigDIFile; +struct LLVMZigDILexicalBlock; +struct LLVMZigDISubprogram; +struct LLVMZigDISubroutineType; + void LLVMZigInitializeLoopStrengthReducePass(LLVMPassRegistryRef R); void LLVMZigInitializeLowerIntrinsicsPass(LLVMPassRegistryRef R); void LLVMZigInitializeUnreachableBlockElimPass(LLVMPassRegistryRef R); @@ -26,4 +35,41 @@ void LLVMZigOptimizeModule(LLVMTargetMachineRef targ_machine_ref, LLVMModuleRef LLVMValueRef LLVMZigBuildCall(LLVMBuilderRef B, LLVMValueRef Fn, LLVMValueRef *Args, unsigned NumArgs, unsigned CC, const char *Name); + +LLVMZigDIType *LLVMZigCreateDebugPointerType(LLVMZigDIBuilder *dibuilder, LLVMZigDIType *pointee_type, + uint64_t size_in_bits, uint64_t align_in_bits, const char *name); + +LLVMZigDIType *LLVMZigCreateDebugBasicType(LLVMZigDIBuilder *dibuilder, const char *name, + uint64_t size_in_bits, uint64_t align_in_bits, unsigned encoding); + +unsigned LLVMZigEncoding_DW_ATE_unsigned(void); +unsigned LLVMZigEncoding_DW_ATE_signed(void); +unsigned LLVMZigLang_DW_LANG_C99(void); + +LLVMZigDIBuilder *LLVMZigCreateDIBuilder(LLVMModuleRef module, bool allow_unresolved); + +void LLVMZigSetCurrentDebugLocation(LLVMBuilderRef builder, int line, int column, LLVMZigDIScope *scope); + +LLVMZigDIScope *LLVMZigLexicalBlockToScope(LLVMZigDILexicalBlock *lexical_block); +LLVMZigDIScope *LLVMZigCompileUnitToScope(LLVMZigDICompileUnit *compile_unit); +LLVMZigDIScope *LLVMZigFileToScope(LLVMZigDIFile *difile); +LLVMZigDIScope *LLVMZigSubprogramToScope(LLVMZigDISubprogram *subprogram); + +LLVMZigDILexicalBlock *LLVMZigCreateLexicalBlock(LLVMZigDIBuilder *dbuilder, LLVMZigDIScope *scope, + LLVMZigDIFile *file, unsigned line, unsigned col); + +LLVMZigDICompileUnit *LLVMZigCreateCompileUnit(LLVMZigDIBuilder *dibuilder, + unsigned lang, const char *file, const char *dir, const char *producer, + bool is_optimized, const char *flags, unsigned runtime_version, const char *split_name, + uint64_t dwo_id, bool emit_debug_info); + +LLVMZigDIFile *LLVMZigCreateFile(LLVMZigDIBuilder *dibuilder, const char *filename, const char *directory); + +LLVMZigDISubprogram *LLVMZigCreateFunction(LLVMZigDIBuilder *dibuilder, LLVMZigDIScope *scope, + const char *name, const char *linkage_name, LLVMZigDIFile *file, unsigned lineno, + LLVMZigDISubroutineType *ty, bool is_local_to_unit, bool is_definition, unsigned scope_line, + unsigned flags, bool is_optimized, LLVMValueRef function); + +void LLVMZigDIBuilderFinalize(LLVMZigDIBuilder *dibuilder); + #endif |
