From 4695984dbcb6b0cd325dba91927959769c89373d Mon Sep 17 00:00:00 2001 From: Marek Olšák Date: Wed, 4 Jul 2018 01:37:30 -0400 Subject: ac: fold LLVMContext creation into ac_llvm_context_init Reviewed-by: Dave Airlie --- src/amd/common/ac_llvm_build.c | 6 +++--- src/amd/common/ac_llvm_build.h | 2 +- src/amd/vulkan/radv_nir_to_llvm.c | 10 ++++------ 3 files changed, 8 insertions(+), 10 deletions(-) (limited to 'src/amd') diff --git a/src/amd/common/ac_llvm_build.c b/src/amd/common/ac_llvm_build.c index 93ae273f900..a77c29270d1 100644 --- a/src/amd/common/ac_llvm_build.c +++ b/src/amd/common/ac_llvm_build.c @@ -57,15 +57,15 @@ struct ac_llvm_flow { * The caller is responsible for initializing ctx::module and ctx::builder. */ void -ac_llvm_context_init(struct ac_llvm_context *ctx, LLVMContextRef context, +ac_llvm_context_init(struct ac_llvm_context *ctx, enum chip_class chip_class, enum radeon_family family) { LLVMValueRef args[1]; + ctx->context = LLVMContextCreate(); + ctx->chip_class = chip_class; ctx->family = family; - - ctx->context = context; ctx->module = NULL; ctx->builder = NULL; diff --git a/src/amd/common/ac_llvm_build.h b/src/amd/common/ac_llvm_build.h index 026955a5556..4e7cbcd5fa0 100644 --- a/src/amd/common/ac_llvm_build.h +++ b/src/amd/common/ac_llvm_build.h @@ -97,7 +97,7 @@ struct ac_llvm_context { }; void -ac_llvm_context_init(struct ac_llvm_context *ctx, LLVMContextRef context, +ac_llvm_context_init(struct ac_llvm_context *ctx, enum chip_class chip_class, enum radeon_family family); void diff --git a/src/amd/vulkan/radv_nir_to_llvm.c b/src/amd/vulkan/radv_nir_to_llvm.c index 45ac0854c17..15c10493022 100644 --- a/src/amd/vulkan/radv_nir_to_llvm.c +++ b/src/amd/vulkan/radv_nir_to_llvm.c @@ -3137,10 +3137,9 @@ LLVMModuleRef ac_translate_nir_to_llvm(struct ac_llvm_compiler *ac_llvm, unsigned i; ctx.options = options; ctx.shader_info = shader_info; - ctx.context = LLVMContextCreate(); - ac_llvm_context_init(&ctx.ac, ctx.context, options->chip_class, - options->family); + ac_llvm_context_init(&ctx.ac, options->chip_class, options->family); + ctx.context = ctx.ac.context; ctx.ac.module = ac_create_module(ac_llvm->tm, ctx.context); enum ac_float_mode float_mode = @@ -3576,12 +3575,11 @@ radv_compile_gs_copy_shader(struct ac_llvm_compiler *ac_llvm, const struct radv_nir_compiler_options *options) { struct radv_shader_context ctx = {0}; - ctx.context = LLVMContextCreate(); ctx.options = options; ctx.shader_info = shader_info; - ac_llvm_context_init(&ctx.ac, ctx.context, options->chip_class, - options->family); + ac_llvm_context_init(&ctx.ac, options->chip_class, options->family); + ctx.context = ctx.ac.context; ctx.ac.module = ac_create_module(ac_llvm->tm, ctx.context); ctx.is_gs_copy_shader = true; -- cgit v1.2.3