SPIRV-LLVM-Translator isn't really built for handling optimized LLVM IR.
It tends to fall over when, for instance, an optimization generates an
i96 type which isn't legal in SPIR-V. Pass -O0 to avoid these cases.
See https://github.com/KhronosGroup/SPIRV-LLVM-Translator/issues/203.
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6432>
"-spir-unknown-unknown" :
"-spir64-unknown-unknown";
auto c = create_compiler_instance(dev, target,
- tokenize(opts + " input.cl"), r_log);
+ tokenize(opts + " -O0 input.cl"), r_log);
auto mod = compile(*ctx, *c, "input.cl", source, headers, dev, opts, false,
r_log);