radeon/llvm: Handle LLVM backend rename from R600 to AMDGPU
authorTom Stellard <thomas.stellard@amd.com>
Thu, 11 Jun 2015 15:42:25 +0000 (15:42 +0000)
committerTom Stellard <thomas.stellard@amd.com>
Sat, 13 Jun 2015 04:02:00 +0000 (21:02 -0700)
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
configure.ac
src/gallium/drivers/radeon/radeon_llvm_emit.c

index be0cd7dd7d97a9399751ab463efce306cec3f3a7..34d1ac988f6797b8587003935e7cbf2a3783295d 100644 (file)
@@ -2048,16 +2048,19 @@ require_egl_drm() {
 }
 
 radeon_llvm_check() {
+    if test ${LLVM_VERSION_INT} -lt 307; then
+        amdgpu_llvm_target_name='r600'
+    else
+        amdgpu_llvm_target_name='amdgpu'
+    fi
     if test "x$enable_gallium_llvm" != "xyes"; then
         AC_MSG_ERROR([--enable-gallium-llvm is required when building $1])
     fi
     llvm_check_version_for "3" "4" "2" $1 
-    if test true && $LLVM_CONFIG --targets-built | grep -qvw 'R600' ; then
-        AC_MSG_ERROR([LLVM R600 Target not enabled.  You can enable it when building the LLVM
-                      sources with the --enable-experimental-targets=R600
-                      configure flag])
+    if test true && $LLVM_CONFIG --targets-built | grep -iqvw $amdgpu_llvm_target_name ; then
+        AC_MSG_ERROR([LLVM $amdgpu_llvm_target_name not enabled in your LLVM build.])
     fi
-    LLVM_COMPONENTS="${LLVM_COMPONENTS} r600 bitreader ipo"
+    LLVM_COMPONENTS="${LLVM_COMPONENTS} $amdgpu_llvm_target_name bitreader ipo"
     NEED_RADEON_LLVM=yes
     if test "x$have_libelf" != xyes; then
        AC_MSG_ERROR([$1 requires libelf when using llvm])
index 624077c74650c491cb5db56d532cc44d04162d59..25580b6bd4cac0c88f5339d5c1289947934035d8 100644 (file)
@@ -86,10 +86,18 @@ static void init_r600_target()
 {
        static unsigned initialized = 0;
        if (!initialized) {
+#if HAVE_LLVM < 0x0307
                LLVMInitializeR600TargetInfo();
                LLVMInitializeR600Target();
                LLVMInitializeR600TargetMC();
                LLVMInitializeR600AsmPrinter();
+#else
+               LLVMInitializeAMDGPUTargetInfo();
+               LLVMInitializeAMDGPUTarget();
+               LLVMInitializeAMDGPUTargetMC();
+               LLVMInitializeAMDGPUAsmPrinter();
+
+#endif
                initialized = 1;
        }
 }