gallium/radeon: remove unused code - radeon_llvm_util.*
authorMarek Olšák <marek.olsak@amd.com>
Thu, 30 Jun 2016 18:01:26 +0000 (20:01 +0200)
committerMarek Olšák <marek.olsak@amd.com>
Mon, 4 Jul 2016 22:47:12 +0000 (00:47 +0200)
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
src/gallium/drivers/r600/evergreen_compute.c
src/gallium/drivers/radeon/Makefile.sources
src/gallium/drivers/radeon/radeon_llvm_util.c [deleted file]
src/gallium/drivers/radeon/radeon_llvm_util.h [deleted file]
src/gallium/drivers/radeonsi/si_compute.c

index 6f39c90cc62ae3e7e87e80a4b33f1de25a554c95..6dd6e748a1bb7f77e54689c4bff991a3de8cf7fb 100644 (file)
@@ -46,9 +46,6 @@
 #include "evergreen_compute_internal.h"
 #include "compute_memory_pool.h"
 #include "sb/sb_public.h"
-#ifdef HAVE_OPENCL
-#include "radeon/radeon_llvm_util.h"
-#endif
 #include "radeon/radeon_elf_util.h"
 #include <inttypes.h>
 
index 6fbed81f6c13d6fc8ec06976d5c42acb087b7f0d..d6dd786448d8e1ee253c763a17ff3c7f422aea89 100644 (file)
@@ -30,6 +30,4 @@ LLVM_C_FILES := \
        radeon_llvm_emit.c \
        radeon_llvm_emit.h \
        radeon_llvm.h \
-       radeon_llvm_util.c \
-       radeon_llvm_util.h \
        radeon_setup_tgsi_llvm.c
diff --git a/src/gallium/drivers/radeon/radeon_llvm_util.c b/src/gallium/drivers/radeon/radeon_llvm_util.c
deleted file mode 100644 (file)
index da19533..0000000
+++ /dev/null
@@ -1,124 +0,0 @@
-/*
- * Copyright 2012, 2013 Advanced Micro Devices, Inc.
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice (including the next
- * paragraph) shall be included in all copies or substantial portions of the
- * Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Authors: Tom Stellard <thomas.stellard@amd.com>
- *
- */
-
-#include "radeon_llvm_util.h"
-#include "util/u_memory.h"
-
-#include <llvm-c/BitReader.h>
-#include <llvm-c/Core.h>
-#include <llvm-c/Target.h>
-#include <llvm-c/Transforms/IPO.h>
-#include <llvm-c/Transforms/PassManagerBuilder.h>
-
-LLVMModuleRef radeon_llvm_parse_bitcode(LLVMContextRef ctx,
-                                                       const char * bitcode, unsigned bitcode_len)
-{
-       LLVMMemoryBufferRef buf;
-       LLVMModuleRef module;
-
-       buf = LLVMCreateMemoryBufferWithMemoryRangeCopy((const char*)bitcode,
-                                                       bitcode_len, "radeon");
-       LLVMParseBitcodeInContext(ctx, buf, &module, NULL);
-       LLVMDisposeMemoryBuffer(buf);
-       return module;
-}
-
-unsigned radeon_llvm_get_num_kernels(LLVMContextRef ctx,
-                               const char *bitcode, unsigned bitcode_len)
-{
-       LLVMModuleRef mod = radeon_llvm_parse_bitcode(ctx, bitcode, bitcode_len);
-       return LLVMGetNamedMetadataNumOperands(mod, "opencl.kernels");
-}
-
-static void radeon_llvm_optimize(LLVMModuleRef mod)
-{
-#if HAVE_LLVM < 0x0309
-       const char *data_layout = LLVMGetDataLayout(mod);
-       LLVMTargetDataRef TD = LLVMCreateTargetData(data_layout);
-#endif
-       LLVMPassManagerBuilderRef builder = LLVMPassManagerBuilderCreate();
-       LLVMPassManagerRef pass_manager = LLVMCreatePassManager();
-
-       /* Functions calls are not supported yet, so we need to inline
-        * everything.  The most efficient way to do this is to add
-        * the always_inline attribute to all non-kernel functions
-        * and then run the Always Inline pass.  The Always Inline
-        * pass will automaically inline functions with this attribute
-        * and does not perform the expensive cost analysis that the normal
-        * inliner does.
-        */
-
-       LLVMValueRef fn;
-       for (fn = LLVMGetFirstFunction(mod); fn; fn = LLVMGetNextFunction(fn)) {
-               /* All the non-kernel functions have internal linkage */
-               if (LLVMGetLinkage(fn) == LLVMInternalLinkage) {
-                       LLVMAddFunctionAttr(fn, LLVMAlwaysInlineAttribute);
-               }
-       }
-
-#if HAVE_LLVM < 0x0309
-       LLVMAddTargetData(TD, pass_manager);
-#endif
-       LLVMAddAlwaysInlinerPass(pass_manager);
-       LLVMPassManagerBuilderPopulateModulePassManager(builder, pass_manager);
-
-       LLVMRunPassManager(pass_manager, mod);
-       LLVMPassManagerBuilderDispose(builder);
-       LLVMDisposePassManager(pass_manager);
-#if HAVE_LLVM < 0x0309
-       LLVMDisposeTargetData(TD);
-#endif
-}
-
-LLVMModuleRef radeon_llvm_get_kernel_module(LLVMContextRef ctx, unsigned index,
-               const char *bitcode, unsigned bitcode_len)
-{
-       LLVMModuleRef mod;
-       unsigned num_kernels;
-       LLVMValueRef *kernel_metadata;
-       unsigned i;
-
-       mod = radeon_llvm_parse_bitcode(ctx, bitcode, bitcode_len);
-       num_kernels = LLVMGetNamedMetadataNumOperands(mod, "opencl.kernels");
-       kernel_metadata = MALLOC(num_kernels * sizeof(LLVMValueRef));
-       LLVMGetNamedMetadataOperands(mod, "opencl.kernels", kernel_metadata);
-       for (i = 0; i < num_kernels; i++) {
-               LLVMValueRef kernel_signature, *kernel_function;
-               unsigned num_kernel_md_operands;
-               if (i == index) {
-                       continue;
-               }
-               kernel_signature = kernel_metadata[i];
-               num_kernel_md_operands = LLVMGetMDNodeNumOperands(kernel_signature);
-               kernel_function = MALLOC(num_kernel_md_operands * sizeof (LLVMValueRef));
-               LLVMGetMDNodeOperands(kernel_signature, kernel_function);
-               LLVMDeleteFunction(*kernel_function);
-               FREE(kernel_function);
-       }
-       FREE(kernel_metadata);
-       radeon_llvm_optimize(mod);
-       return mod;
-}
diff --git a/src/gallium/drivers/radeon/radeon_llvm_util.h b/src/gallium/drivers/radeon/radeon_llvm_util.h
deleted file mode 100644 (file)
index cc1932a..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Copyright 2012, 2013 Advanced Micro Devices, Inc.
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice (including the next
- * paragraph) shall be included in all copies or substantial portions of the
- * Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Authors: Tom Stellard <thomas.stellard@amd.com>
- *
- */
-
-#ifndef RADEON_LLVM_UTIL_H
-#define RADEON_LLVM_UTIL_H
-
-#include <llvm-c/Core.h>
-
-LLVMModuleRef radeon_llvm_parse_bitcode(LLVMContextRef ctx,
-                       const char * bitcode, unsigned bitcode_len);
-unsigned radeon_llvm_get_num_kernels(LLVMContextRef ctx,
-                       const char *bitcode, unsigned bitcode_len);
-LLVMModuleRef radeon_llvm_get_kernel_module(LLVMContextRef ctx, unsigned index,
-                       const char *bitcode, unsigned bitcode_len);
-
-#endif
index 323204e2ab2c90eb35a8bee66f33cc1f3596c79a..5a402867d4e3848dff893ceede6444387e982667 100644 (file)
@@ -27,7 +27,6 @@
 #include "util/u_upload_mgr.h"
 #include "radeon/r600_pipe_common.h"
 #include "radeon/radeon_elf_util.h"
-#include "radeon/radeon_llvm_util.h"
 
 #include "radeon/r600_cs.h"
 #include "si_pipe.h"