[Mesa-dev] [PATCH 6/9] gallivm: Remove lp_get_module_id.
Jose Fonseca
jfonseca at vmware.com
Mon Apr 18 09:14:33 UTC 2016
Just keep a copy of the module_name in gallivm.
---
src/gallium/auxiliary/gallivm/lp_bld_debug.cpp | 7 -------
src/gallium/auxiliary/gallivm/lp_bld_debug.h | 4 ----
src/gallium/auxiliary/gallivm/lp_bld_init.c | 15 ++++++++++++++-
src/gallium/auxiliary/gallivm/lp_bld_init.h | 1 +
4 files changed, 15 insertions(+), 12 deletions(-)
diff --git a/src/gallium/auxiliary/gallivm/lp_bld_debug.cpp b/src/gallium/auxiliary/gallivm/lp_bld_debug.cpp
index a8c3899..a299c8a 100644
--- a/src/gallium/auxiliary/gallivm/lp_bld_debug.cpp
+++ b/src/gallium/auxiliary/gallivm/lp_bld_debug.cpp
@@ -65,13 +65,6 @@ lp_check_alignment(const void *ptr, unsigned alignment)
}
-extern "C" const char *
-lp_get_module_id(LLVMModuleRef module)
-{
- return llvm::unwrap(module)->getModuleIdentifier().c_str();
-}
-
-
/**
* Same as LLVMDumpValue, but through our debugging channels.
*/
diff --git a/src/gallium/auxiliary/gallivm/lp_bld_debug.h b/src/gallium/auxiliary/gallivm/lp_bld_debug.h
index 375ba6c..efb7495 100644
--- a/src/gallium/auxiliary/gallivm/lp_bld_debug.h
+++ b/src/gallium/auxiliary/gallivm/lp_bld_debug.h
@@ -76,10 +76,6 @@ lp_build_name(LLVMValueRef val, const char *format, ...)
}
-const char *
-lp_get_module_id(LLVMModuleRef module);
-
-
void
lp_debug_dump_value(LLVMValueRef value);
diff --git a/src/gallium/auxiliary/gallivm/lp_bld_init.c b/src/gallium/auxiliary/gallivm/lp_bld_init.c
index bf2b65b..687c01f 100644
--- a/src/gallium/auxiliary/gallivm/lp_bld_init.c
+++ b/src/gallium/auxiliary/gallivm/lp_bld_init.c
@@ -187,6 +187,8 @@ gallivm_free_ir(struct gallivm_state *gallivm)
LLVMDisposeModule(gallivm->module);
}
+ FREE(gallivm->module_name);
+
if (!USE_MCJIT) {
/* Don't free the TargetData, it's owned by the exec engine */
} else {
@@ -203,6 +205,7 @@ gallivm_free_ir(struct gallivm_state *gallivm)
gallivm->engine = NULL;
gallivm->target = NULL;
gallivm->module = NULL;
+ gallivm->module_name = NULL;
gallivm->passmgr = NULL;
gallivm->context = NULL;
gallivm->builder = NULL;
@@ -306,6 +309,15 @@ init_gallivm_state(struct gallivm_state *gallivm, const char *name,
if (!gallivm->context)
goto fail;
+ gallivm->module_name = NULL;
+ if (name) {
+ size_t size = strlen(name) + 1;
+ gallivm->module_name = MALLOC(size);
+ if (gallivm->module_name) {
+ memcpy(gallivm->module_name, name, size);
+ }
+ }
+
gallivm->module = LLVMModuleCreateWithNameInContext(name,
gallivm->context);
if (!gallivm->module)
@@ -574,8 +586,9 @@ gallivm_compile_module(struct gallivm_state *gallivm)
if (gallivm_debug & GALLIVM_DEBUG_PERF) {
int64_t time_end = os_time_get();
int time_msec = (int)(time_end - time_begin) / 1000;
+ assert(gallivm->module_name);
debug_printf("optimizing module %s took %d msec\n",
- lp_get_module_id(gallivm->module), time_msec);
+ gallivm->module_name, time_msec);
}
/* Dump byte code to a file */
diff --git a/src/gallium/auxiliary/gallivm/lp_bld_init.h b/src/gallium/auxiliary/gallivm/lp_bld_init.h
index f0155b3..62ca0c7 100644
--- a/src/gallium/auxiliary/gallivm/lp_bld_init.h
+++ b/src/gallium/auxiliary/gallivm/lp_bld_init.h
@@ -41,6 +41,7 @@ extern "C" {
struct gallivm_state
{
+ char *module_name;
LLVMModuleRef module;
LLVMExecutionEngineRef engine;
LLVMTargetDataRef target;
--
2.5.0
More information about the mesa-dev
mailing list