[Mesa-dev] [PATCH 8/8] gallium/radeon: remove unused code - radeon_llvm_util.*
Nicolai Hähnle
nhaehnle at gmail.com
Sat Jul 2 09:30:06 UTC 2016
For the series:
Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>
On 01.07.2016 01:28, Marek Olšák wrote:
> From: Marek Olšák <marek.olsak at amd.com>
>
> ---
> src/gallium/drivers/r600/evergreen_compute.c | 3 -
> src/gallium/drivers/radeon/Makefile.sources | 2 -
> src/gallium/drivers/radeon/radeon_llvm_util.c | 124 --------------------------
> src/gallium/drivers/radeon/radeon_llvm_util.h | 39 --------
> src/gallium/drivers/radeonsi/si_compute.c | 1 -
> 5 files changed, 169 deletions(-)
> delete mode 100644 src/gallium/drivers/radeon/radeon_llvm_util.c
> delete mode 100644 src/gallium/drivers/radeon/radeon_llvm_util.h
>
> diff --git a/src/gallium/drivers/r600/evergreen_compute.c b/src/gallium/drivers/r600/evergreen_compute.c
> index 8db525e..96495f4 100644
> --- a/src/gallium/drivers/r600/evergreen_compute.c
> +++ b/src/gallium/drivers/r600/evergreen_compute.c
> @@ -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>
>
> diff --git a/src/gallium/drivers/radeon/Makefile.sources b/src/gallium/drivers/radeon/Makefile.sources
> index 6fbed81..d6dd786 100644
> --- a/src/gallium/drivers/radeon/Makefile.sources
> +++ b/src/gallium/drivers/radeon/Makefile.sources
> @@ -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
> index da19533..0000000
> --- a/src/gallium/drivers/radeon/radeon_llvm_util.c
> +++ /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 at 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
> index cc1932a..0000000
> --- a/src/gallium/drivers/radeon/radeon_llvm_util.h
> +++ /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 at 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
> diff --git a/src/gallium/drivers/radeonsi/si_compute.c b/src/gallium/drivers/radeonsi/si_compute.c
> index 323204e..5a40286 100644
> --- a/src/gallium/drivers/radeonsi/si_compute.c
> +++ b/src/gallium/drivers/radeonsi/si_compute.c
> @@ -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"
>
More information about the mesa-dev
mailing list