Mesa (master): r600g/llvm: Move llvm wrapper functions into the radeon directory

Tom Stellard tstellar at kemper.freedesktop.org
Wed Mar 13 17:29:02 UTC 2013


Module: Mesa
Branch: master
Commit: 97bfcddde0a0e827cb868b38c7da8d8692da6cce
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=97bfcddde0a0e827cb868b38c7da8d8692da6cce

Author: Tom Stellard <thomas.stellard at amd.com>
Date:   Thu Mar  7 16:51:08 2013 -0500

r600g/llvm: Move llvm wrapper functions into the radeon directory

---

 src/gallium/drivers/r600/Makefile.am               |    6 +-----
 src/gallium/drivers/r600/Makefile.sources          |    1 -
 src/gallium/drivers/r600/evergreen_compute.c       |    6 +++---
 src/gallium/drivers/r600/llvm_wrapper.h            |   20 --------------------
 src/gallium/drivers/radeon/Makefile.sources        |    3 ++-
 .../radeon_llvm_util.cpp}                          |   17 +++++++++--------
 src/gallium/drivers/radeon/radeon_llvm_util.h      |   20 ++++++++++++++++++++
 7 files changed, 35 insertions(+), 38 deletions(-)

diff --git a/src/gallium/drivers/r600/Makefile.am b/src/gallium/drivers/r600/Makefile.am
index e1c8574..a067f2c 100644
--- a/src/gallium/drivers/r600/Makefile.am
+++ b/src/gallium/drivers/r600/Makefile.am
@@ -16,8 +16,7 @@ libr600_la_SOURCES = \
 if R600_NEED_RADEON_GALLIUM
 
 libr600_la_SOURCES += \
-	$(LLVM_C_SOURCES) \
-	$(LLVM_CXX_SOURCES)
+	$(LLVM_C_SOURCES)
 
 libr600_la_LIBADD = ../radeon/libllvmradeon at VERSION@.la
 
@@ -25,9 +24,6 @@ AM_CFLAGS += \
 	$(LLVM_CFLAGS) \
 	-I$(top_srcdir)/src/gallium/drivers/radeon/
 
-AM_CXXFLAGS= \
-	$(LLVM_CXXFLAGS) \
-	$(DEFINES)
 endif
 
 if USE_R600_LLVM_COMPILER
diff --git a/src/gallium/drivers/r600/Makefile.sources b/src/gallium/drivers/r600/Makefile.sources
index a99ef11..b51f274 100644
--- a/src/gallium/drivers/r600/Makefile.sources
+++ b/src/gallium/drivers/r600/Makefile.sources
@@ -20,4 +20,3 @@ C_SOURCES = \
 	compute_memory_pool.c
 
 LLVM_C_SOURCES = r600_llvm.c
-LLVM_CXX_SOURCES = llvm_wrapper.cpp
diff --git a/src/gallium/drivers/r600/evergreen_compute.c b/src/gallium/drivers/r600/evergreen_compute.c
index 80ce739..189ffac 100644
--- a/src/gallium/drivers/r600/evergreen_compute.c
+++ b/src/gallium/drivers/r600/evergreen_compute.c
@@ -47,7 +47,7 @@
 #include "evergreen_compute_internal.h"
 #include "compute_memory_pool.h"
 #ifdef HAVE_OPENCL
-#include "llvm_wrapper.h"
+#include "radeon_llvm_util.h"
 #endif
 
 /**
@@ -140,12 +140,12 @@ void *evergreen_create_compute_state(
 	shader->input_size = cso->req_input_mem;
 
 #ifdef HAVE_OPENCL 
-	shader->num_kernels = llvm_get_num_kernels(code, header->num_bytes);
+	shader->num_kernels = radeon_llvm_get_num_kernels(code, header->num_bytes);
 	shader->kernels = CALLOC(sizeof(struct r600_kernel), shader->num_kernels);
 
 	for (i = 0; i < shader->num_kernels; i++) {
 		struct r600_kernel *kernel = &shader->kernels[i];
-		kernel->llvm_module = llvm_get_kernel_module(i, code,
+		kernel->llvm_module = radeon_llvm_get_kernel_module(i, code,
 							header->num_bytes);
 	}
 #endif
diff --git a/src/gallium/drivers/r600/llvm_wrapper.h b/src/gallium/drivers/r600/llvm_wrapper.h
deleted file mode 100644
index 4b9b93f..0000000
--- a/src/gallium/drivers/r600/llvm_wrapper.h
+++ /dev/null
@@ -1,20 +0,0 @@
-#ifndef LLVM_WRAPPER_H
-#define LLVM_WRAPPER_H
-
-#include <llvm-c/Core.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-LLVMModuleRef llvm_parse_bitcode(const unsigned char * bitcode, unsigned bitcode_len);
-void llvm_strip_unused_kernels(LLVMModuleRef mod, const char *kernel_name);
-unsigned llvm_get_num_kernels(const unsigned char *bitcode, unsigned bitcode_len);
-LLVMModuleRef llvm_get_kernel_module(unsigned index,
-			const unsigned char *bitcode, unsigned bitcode_len);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
diff --git a/src/gallium/drivers/radeon/Makefile.sources b/src/gallium/drivers/radeon/Makefile.sources
index 39f9532..aa32749 100644
--- a/src/gallium/drivers/radeon/Makefile.sources
+++ b/src/gallium/drivers/radeon/Makefile.sources
@@ -1,5 +1,6 @@
 CPP_FILES := \
-	radeon_llvm_emit.cpp
+	radeon_llvm_emit.cpp \
+	radeon_llvm_util.cpp
 
 C_FILES := \
 	radeon_setup_tgsi_llvm.c
diff --git a/src/gallium/drivers/r600/llvm_wrapper.cpp b/src/gallium/drivers/radeon/radeon_llvm_util.cpp
similarity index 71%
rename from src/gallium/drivers/r600/llvm_wrapper.cpp
rename to src/gallium/drivers/radeon/radeon_llvm_util.cpp
index ae2f4d2..22c6dc6 100644
--- a/src/gallium/drivers/r600/llvm_wrapper.cpp
+++ b/src/gallium/drivers/radeon/radeon_llvm_util.cpp
@@ -11,10 +11,10 @@
 #include <llvm/Support/SourceMgr.h>
 #include <llvm/Transforms/IPO.h>
 
-#include "llvm_wrapper.h"
+#include "radeon_llvm_util.h"
 
 
-extern "C" LLVMModuleRef llvm_parse_bitcode(const unsigned char * bitcode, unsigned bitcode_len)
+extern "C" 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);
@@ -24,7 +24,7 @@ extern "C" LLVMModuleRef llvm_parse_bitcode(const unsigned char * bitcode, unsig
 	return wrap(M.take());
 }
 
-extern "C" void llvm_strip_unused_kernels(LLVMModuleRef mod, const char *kernel_name)
+extern "C" void radeon_llvm_strip_unused_kernels(LLVMModuleRef mod, const char *kernel_name)
 {
 	llvm::Module *M = llvm::unwrap(mod);
 	std::vector<const char *> export_list;
@@ -35,10 +35,10 @@ extern "C" void llvm_strip_unused_kernels(LLVMModuleRef mod, const char *kernel_
 	PM.run(*M);
 }
 
-extern "C" unsigned llvm_get_num_kernels(const unsigned char *bitcode,
+extern "C" unsigned radeon_llvm_get_num_kernels(const unsigned char *bitcode,
 				unsigned bitcode_len)
 {
-	LLVMModuleRef mod = llvm_parse_bitcode(bitcode, bitcode_len);
+	LLVMModuleRef mod = radeon_llvm_parse_bitcode(bitcode, bitcode_len);
 	llvm::Module *M = llvm::unwrap(mod);
 	const llvm::NamedMDNode *kernel_node
 				= M->getNamedMetadata("opencl.kernels");
@@ -47,15 +47,16 @@ extern "C" unsigned llvm_get_num_kernels(const unsigned char *bitcode,
 	return kernel_count;
 }
 
-extern "C" LLVMModuleRef llvm_get_kernel_module(unsigned index,
+extern "C" LLVMModuleRef radeon_llvm_get_kernel_module(unsigned index,
 		const unsigned char *bitcode, unsigned bitcode_len)
 {
-	LLVMModuleRef mod = llvm_parse_bitcode(bitcode, bitcode_len);
+	LLVMModuleRef mod = radeon_llvm_parse_bitcode(bitcode, bitcode_len);
 	llvm::Module *M = llvm::unwrap(mod);
 	const llvm::NamedMDNode *kernel_node =
 				M->getNamedMetadata("opencl.kernels");
 	const char* kernel_name = kernel_node->getOperand(index)->
 					getOperand(0)->getName().data();
-	llvm_strip_unused_kernels(mod, kernel_name);
+	radeon_llvm_strip_unused_kernels(mod, kernel_name);
 	return mod;
+
 }
diff --git a/src/gallium/drivers/radeon/radeon_llvm_util.h b/src/gallium/drivers/radeon/radeon_llvm_util.h
new file mode 100644
index 0000000..a7dfa9b
--- /dev/null
+++ b/src/gallium/drivers/radeon/radeon_llvm_util.h
@@ -0,0 +1,20 @@
+#ifndef RADEON_LLVM_UTIL_H
+#define RADEON_LLVM_UTIL_H
+
+#include <llvm-c/Core.h>
+
+#ifdef __cplusplus
+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,
+			const unsigned char *bitcode, unsigned bitcode_len);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif




More information about the mesa-commit mailing list