#define RADEON_LLVM_EMIT_H
#include <llvm-c/Core.h>
+#include <llvm-c/TargetMachine.h>
+#include <stdbool.h>
-struct radeon_llvm_binary {
- unsigned char *code;
- unsigned code_size;
- unsigned char *config;
- unsigned config_size;
- int disassembled;
-};
+struct radeon_shader_binary;
void radeon_llvm_shader_type(LLVMValueRef F, unsigned type);
-unsigned radeon_llvm_compile(
- LLVMModuleRef M,
- struct radeon_llvm_binary *binary,
- const char * gpu_family,
- unsigned dump);
+LLVMTargetRef radeon_llvm_get_r600_target(const char *triple);
+
+unsigned radeon_llvm_compile(LLVMModuleRef M, struct radeon_shader_binary *binary,
+ const char *gpu_family, bool dump_ir, bool dump_asm,
+ LLVMTargetMachineRef tm);
#endif /* RADEON_LLVM_EMIT_H */