endif
define mesa-build-with-llvm
- $(if $(filter $(MESA_ANDROID_MAJOR_VERSION), 4 5), \
+ $(if $(filter $(MESA_ANDROID_MAJOR_VERSION), 4 5 6), \
$(warning Unsupported LLVM version in Android $(MESA_ANDROID_MAJOR_VERSION)),) \
- $(if $(filter 6,$(MESA_ANDROID_MAJOR_VERSION)), \
- $(eval LOCAL_CFLAGS += -DLLVM_AVAILABLE -DMESA_LLVM_VERSION_STRING=\"3.7\")) \
$(if $(filter 7,$(MESA_ANDROID_MAJOR_VERSION)), \
$(eval LOCAL_CFLAGS += -DLLVM_AVAILABLE -DMESA_LLVM_VERSION_STRING=\"3.8\")) \
$(if $(filter 8,$(MESA_ANDROID_MAJOR_VERSION)), \
elif with_gallium_opencl or with_gallium_r600
_llvm_version = '>= 3.9.0'
else
- _llvm_version = '>= 3.7.0'
+ _llvm_version = '>= 3.8.0'
endif
_shared_llvm = get_option('shared-llvm')
import SCons.Util
-required_llvm_version = '3.7'
+required_llvm_version = '3.8'
def generate(env):
mask = LLVMBuildTrunc(builder, mask, LLVMInt1TypeInContext(lc), "");
res = LLVMBuildSelect(builder, mask, a, b, "");
}
- else if (!(LLVM_VERSION_MAJOR == 3 && LLVM_VERSION_MINOR == 7) &&
- (LLVMIsConstant(mask) ||
- LLVMGetInstructionOpcode(mask) == LLVMSExt)) {
+ else if (LLVMIsConstant(mask) ||
+ LLVMGetInstructionOpcode(mask) == LLVMSExt) {
/* Generate a vector select.
*
* Using vector selects should avoid emitting intrinsics hence avoid
* hindering optimization passes, but vector selects weren't properly
* supported yet for a long time, and LLVM will generate poor code when
* the mask is not the result of a comparison.
- * Also, llvm 3.7 may miscompile them (bug 94972).
* XXX: Even if the instruction was an SExt, this may still produce
* terrible code. Try piglit stencil-twoside.
*/