radeonsi: Fix build on LLVM < 3.9 v2
authorTom Stellard <thomas.stellard@amd.com>
Wed, 1 Feb 2017 00:18:01 +0000 (00:18 +0000)
committerTom Stellard <thomas.stellard@amd.com>
Wed, 1 Feb 2017 02:10:00 +0000 (02:10 +0000)
This was broken by: e0cc0a614c96011958bc3a1b84da9168e0e1ccbb

v2:
  - Use preprocessor macro

Tested-by: Mark Janes <mark.a.janes@intel.com>
src/gallium/drivers/radeonsi/si_shader_tgsi_setup.c

index 205686a771a95d6841383b653d33d596a90070d1..c7445e037a3906e2cbc28899ab387778bf4e79d8 100644 (file)
@@ -1256,8 +1256,6 @@ void si_llvm_context_init(struct si_shader_context *ctx,
                          const struct tgsi_token *tokens)
 {
        struct lp_type type;
-       LLVMTargetDataRef data_layout = LLVMCreateTargetDataLayout(tm);
-       char *data_layout_str = LLVMCopyStringRepOfTargetData(data_layout);
 
        /* Initialize the gallivm object:
         * We are only using the module, context, and builder fields of this struct.
@@ -1275,9 +1273,13 @@ void si_llvm_context_init(struct si_shader_context *ctx,
                                                ctx->gallivm.context);
        LLVMSetTarget(ctx->gallivm.module, "amdgcn--");
 
+#if HAVE_LLVM >= 0x0309
+       LLVMTargetDataRef data_layout = LLVMCreateTargetDataLayout(tm);
+       char *data_layout_str = LLVMCopyStringRepOfTargetData(data_layout);
        LLVMSetDataLayout(ctx->gallivm.module, data_layout_str);
        LLVMDisposeTargetData(data_layout);
        LLVMDisposeMessage(data_layout_str);
+#endif
 
        bool unsafe_fpmath = (sscreen->b.debug_flags & DBG_UNSAFE_MATH) != 0;
        ctx->gallivm.builder = lp_create_builder(ctx->gallivm.context,