[Mesa-dev] [PATCH 2/2] gallium/radeon: remove dead code creating LLVMTargetMachine

Marek Olšák maraeo at gmail.com
Tue Jun 7 23:05:31 UTC 2016


From: Marek Olšák <marek.olsak at amd.com>

This was for some old unsupported LLVM version.
Only si_create_context creates the target machine now.
r600g doesn't use this function.
---
 src/gallium/drivers/radeon/radeon_llvm_emit.c | 23 -----------------------
 src/gallium/drivers/radeon/radeon_llvm_emit.h |  1 -
 src/gallium/drivers/radeonsi/si_shader.c      |  4 +---
 3 files changed, 1 insertion(+), 27 deletions(-)

diff --git a/src/gallium/drivers/radeon/radeon_llvm_emit.c b/src/gallium/drivers/radeon/radeon_llvm_emit.c
index 13633d3..9611f15 100644
--- a/src/gallium/drivers/radeon/radeon_llvm_emit.c
+++ b/src/gallium/drivers/radeon/radeon_llvm_emit.c
@@ -192,40 +192,20 @@ static void radeonDiagnosticHandler(LLVMDiagnosticInfoRef di, void *context)
  * @returns 0 for success, 1 for failure
  */
 unsigned radeon_llvm_compile(LLVMModuleRef M, struct radeon_shader_binary *binary,
-			     const char *gpu_family,
 			     LLVMTargetMachineRef tm,
 			     struct pipe_debug_callback *debug)
 {
 	struct radeon_llvm_diagnostics diag;
-	char cpu[CPU_STRING_LEN];
-	char fs[FS_STRING_LEN];
 	char *err;
-	bool dispose_tm = false;
 	LLVMContextRef llvm_ctx;
 	LLVMMemoryBufferRef out_buffer;
 	unsigned buffer_size;
 	const char *buffer_data;
-	char triple[TRIPLE_STRING_LEN];
 	LLVMBool mem_err;
 
 	diag.debug = debug;
 	diag.retval = 0;
 
-	if (!tm) {
-		strncpy(triple, "r600--", TRIPLE_STRING_LEN);
-		LLVMTargetRef target = radeon_llvm_get_r600_target(triple);
-		if (!target) {
-			return 1;
-		}
-		strncpy(cpu, gpu_family, CPU_STRING_LEN);
-		memset(fs, 0, sizeof(fs));
-		strncpy(fs, "+DumpCode", FS_STRING_LEN);
-		tm = LLVMCreateTargetMachine(target, triple, cpu, fs,
-				  LLVMCodeGenLevelDefault, LLVMRelocDefault,
-						  LLVMCodeModelDefault);
-		dispose_tm = true;
-	}
-
 	/* Setup Diagnostic Handler*/
 	llvm_ctx = LLVMGetModuleContext(M);
 
@@ -255,9 +235,6 @@ unsigned radeon_llvm_compile(LLVMModuleRef M, struct radeon_shader_binary *binar
 	LLVMDisposeMemoryBuffer(out_buffer);
 
 out:
-	if (dispose_tm) {
-		LLVMDisposeTargetMachine(tm);
-	}
 	if (diag.retval != 0)
 		pipe_debug_message(debug, SHADER_INFO, "LLVM compile failed");
 	return diag.retval;
diff --git a/src/gallium/drivers/radeon/radeon_llvm_emit.h b/src/gallium/drivers/radeon/radeon_llvm_emit.h
index 84dbd25..677978b 100644
--- a/src/gallium/drivers/radeon/radeon_llvm_emit.h
+++ b/src/gallium/drivers/radeon/radeon_llvm_emit.h
@@ -40,7 +40,6 @@ void radeon_llvm_shader_type(LLVMValueRef F, unsigned type);
 LLVMTargetRef radeon_llvm_get_r600_target(const char *triple);
 
 unsigned radeon_llvm_compile(LLVMModuleRef M, struct radeon_shader_binary *binary,
-			     const char *gpu_family,
 			     LLVMTargetMachineRef tm,
 			     struct pipe_debug_callback *debug);
 
diff --git a/src/gallium/drivers/radeonsi/si_shader.c b/src/gallium/drivers/radeonsi/si_shader.c
index d392807..0b5dc55 100644
--- a/src/gallium/drivers/radeonsi/si_shader.c
+++ b/src/gallium/drivers/radeonsi/si_shader.c
@@ -6176,9 +6176,7 @@ int si_compile_llvm(struct si_screen *sscreen,
 	}
 
 	if (!si_replace_shader(count, binary)) {
-		r = radeon_llvm_compile(mod, binary,
-			r600_get_llvm_processor_name(sscreen->b.family), tm,
-			debug);
+		r = radeon_llvm_compile(mod, binary, tm, debug);
 		if (r)
 			return r;
 	}
-- 
2.7.4



More information about the mesa-dev mailing list