mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-01 01:00:10 +01:00
radeon/llvm: Implement radeon_llvm_parse_bitcode() using C API
Also make the function static since it is not used anywhere else.
This commit is contained in:
parent
97bfcddde0
commit
7e9abbea15
2 changed files with 11 additions and 8 deletions
|
|
@ -10,18 +10,22 @@
|
|||
#include <llvm/Support/MemoryBuffer.h>
|
||||
#include <llvm/Support/SourceMgr.h>
|
||||
#include <llvm/Transforms/IPO.h>
|
||||
#include <llvm-c/BitReader.h>
|
||||
#include <llvm-c/Core.h>
|
||||
|
||||
#include "radeon_llvm_util.h"
|
||||
|
||||
|
||||
extern "C" LLVMModuleRef radeon_llvm_parse_bitcode(const unsigned char * bitcode, unsigned bitcode_len)
|
||||
static LLVMModuleRef radeon_llvm_parse_bitcode(const unsigned char * bitcode,
|
||||
unsigned bitcode_len)
|
||||
{
|
||||
llvm::OwningPtr<llvm::Module> M;
|
||||
llvm::StringRef str((const char*)bitcode, bitcode_len);
|
||||
llvm::MemoryBuffer* buffer = llvm::MemoryBuffer::getMemBufferCopy(str);
|
||||
llvm::SMDiagnostic Err;
|
||||
M.reset(llvm::ParseIR(buffer, Err, llvm::getGlobalContext()));
|
||||
return wrap(M.take());
|
||||
LLVMMemoryBufferRef buf;
|
||||
LLVMModuleRef module = LLVMModuleCreateWithName("radeon");
|
||||
|
||||
buf = LLVMCreateMemoryBufferWithMemoryRangeCopy((const char*)bitcode,
|
||||
bitcode_len, "radeon");
|
||||
LLVMParseBitcode(buf, &module, NULL);
|
||||
return module;
|
||||
}
|
||||
|
||||
extern "C" void radeon_llvm_strip_unused_kernels(LLVMModuleRef mod, const char *kernel_name)
|
||||
|
|
|
|||
|
|
@ -7,7 +7,6 @@
|
|||
extern "C" {
|
||||
#endif
|
||||
|
||||
LLVMModuleRef radeon_llvm_parse_bitcode(const unsigned char * bitcode, unsigned bitcode_len);
|
||||
void radeon_llvm_strip_unused_kernels(LLVMModuleRef mod, const char *kernel_name);
|
||||
unsigned radeon_llvm_get_num_kernels(const unsigned char *bitcode, unsigned bitcode_len);
|
||||
LLVMModuleRef radeon_llvm_get_kernel_module(unsigned index,
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue