summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Stellard <thomas.stellard@amd.com>2014-09-25 18:11:54 -0700
committerTom Stellard <thomas.stellard@amd.com>2014-09-30 14:01:53 -0400
commit4cea64ac9b779cd3b8b62431f970d6dc3f364824 (patch)
treeaca2cb35557f566e58cb57b7293591d983cab6d0
parent55b10fc2d19e352de8dbffa18da702a2cb1ea24b (diff)
radeon: Remove unused files radeon_llvm_util.[ch]clover-elf-v3
-rw-r--r--src/gallium/drivers/radeon/Makefile.sources2
-rw-r--r--src/gallium/drivers/radeon/radeon_llvm_util.c118
-rw-r--r--src/gallium/drivers/radeon/radeon_llvm_util.h39
3 files changed, 0 insertions, 159 deletions
diff --git a/src/gallium/drivers/radeon/Makefile.sources b/src/gallium/drivers/radeon/Makefile.sources
index f2b70a1b4b4..cc628337624 100644
--- a/src/gallium/drivers/radeon/Makefile.sources
+++ b/src/gallium/drivers/radeon/Makefile.sources
@@ -22,6 +22,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 ec1155923fe..00000000000
--- a/src/gallium/drivers/radeon/radeon_llvm_util.c
+++ /dev/null
@@ -1,118 +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 unsigned 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 unsigned 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)
-{
- const char *data_layout = LLVMGetDataLayout(mod);
- LLVMTargetDataRef TD = LLVMCreateTargetData(data_layout);
- 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);
- }
- }
-
- LLVMAddTargetData(TD, pass_manager);
- LLVMAddAlwaysInlinerPass(pass_manager);
- LLVMPassManagerBuilderPopulateModulePassManager(builder, pass_manager);
-
- LLVMRunPassManager(pass_manager, mod);
- LLVMPassManagerBuilderDispose(builder);
- LLVMDisposePassManager(pass_manager);
- LLVMDisposeTargetData(TD);
-}
-
-LLVMModuleRef radeon_llvm_get_kernel_module(LLVMContextRef ctx, unsigned index,
- const unsigned 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 733c329e99e..00000000000
--- 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@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 unsigned char * bitcode, unsigned bitcode_len);
-unsigned radeon_llvm_get_num_kernels(LLVMContextRef ctx,
- const unsigned char *bitcode, unsigned bitcode_len);
-LLVMModuleRef radeon_llvm_get_kernel_module(LLVMContextRef ctx, unsigned index,
- const unsigned char *bitcode, unsigned bitcode_len);
-
-#endif