aboutsummaryrefslogtreecommitdiff
path: root/src/zig_llvm.hpp
diff options
context:
space:
mode:
authorAndrew Kelley <superjoe30@gmail.com>2015-11-30 14:10:07 -0700
committerAndrew Kelley <superjoe30@gmail.com>2015-11-30 14:10:07 -0700
commit4ccb98bdcef86b2dac3bd1c8f01b9b823de6e9a4 (patch)
treea2c8d3c1ca26c82d1da0963acc978dfb7a1ead4f /src/zig_llvm.hpp
parent014711c57ef6544745444e7867d4d03ffd8d389a (diff)
downloadzig-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.hpp46
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