[Mesa-dev] [PATCH] radv/ac: workaround regression in llvm 4.0 release
Samuel Pitoiset
samuel.pitoiset at gmail.com
Tue Mar 14 23:51:29 UTC 2017
On 03/14/2017 10:21 PM, Dave Airlie wrote:
> On 15 March 2017 at 07:17, Dave Airlie <airlied at gmail.com> wrote:
>> From: Dave Airlie <airlied at redhat.com>
>>
>> LLVM 4.0 released with a pretty messy regression, that hopefully
>> get fixed in the future.
>>
>> This work around was proposed by Tom, and it fixes the CTS regressions
>> here at least, I'm not sure if this will cause any major side effects,
>> but correctness over speed and all that.
>>
>> radeonsi should possibly consider the same workaround until an llvm
>> fix can be found.
>>
>
> I also deliberately only put this for LLVM 4.0 in the hope llvm will
> get fixed before
> 5 releases.
I think you want to make it >= 0x0400 and change it later because it's
still broken with LLVM master.
>
> Dave.
>
>> Signed-off-by: Dave Airlie <airlied at redhat.com>
>> ---
>> src/amd/common/ac_llvm_util.c | 13 ++++++++++++-
>> 1 file changed, 12 insertions(+), 1 deletion(-)
>>
>> diff --git a/src/amd/common/ac_llvm_util.c b/src/amd/common/ac_llvm_util.c
>> index a2fe631..da12aaa 100644
>> --- a/src/amd/common/ac_llvm_util.c
>> +++ b/src/amd/common/ac_llvm_util.c
>> @@ -26,7 +26,7 @@
>> #include "ac_llvm_util.h"
>> #include "util/bitscan.h"
>> #include <llvm-c/Core.h>
>> -
>> +#include <llvm-c/Support.h>
>> #include "c11/threads.h"
>>
>> #include <assert.h>
>> @@ -39,6 +39,17 @@ static void ac_init_llvm_target()
>> LLVMInitializeAMDGPUTarget();
>> LLVMInitializeAMDGPUTargetMC();
>> LLVMInitializeAMDGPUAsmPrinter();
>> +
>> + /*
>> + * Workaround for bug in llvm 4.0 that causes image intrinsics
>> + * to disappear.
>> + * https://reviews.llvm.org/D26348
>> + */
>> +#if HAVE_LLVM == 0x0400
>> + const char *argv[2] = {"mesa", "-simplifycfg-sink-common=false"};
>> + LLVMParseCommandLineOptions(2, argv, NULL);
>> +#endif
>> +
>> }
>>
>> static once_flag ac_init_llvm_target_once_flag = ONCE_FLAG_INIT;
>> --
>> 2.9.3
>>
>> _______________________________________________
>> mesa-dev mailing list
>> mesa-dev at lists.freedesktop.org
>> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
>
More information about the mesa-dev
mailing list