clover: Fix build error with LLVM 3.4.
authorVinson Lee <vlee@freedesktop.org>
Sun, 19 Oct 2014 07:13:33 +0000 (00:13 -0700)
committerVinson Lee <vlee@freedesktop.org>
Tue, 21 Oct 2014 22:40:47 +0000 (15:40 -0700)
DataLayoutPass was added in LLVM 3.5 r202168, commit
57edc9d4ff1648568a5dd7e9958649065b260dca "Make DataLayout a plain
object, not a pass.".

This patch fixes this build error with LLVM 3.4.

  CXX      llvm/libclllvm_la-invocation.lo
llvm/invocation.cpp: In function 'void {anonymous}::optimize(llvm::Module*, unsigned int, const std::vector<llvm::Function*>&)':
llvm/invocation.cpp:324:18: error: expected type-specifier
       PM.add(new llvm::DataLayoutPass(mod));
                  ^

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=85189
Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
src/gallium/state_trackers/clover/llvm/invocation.cpp

index 507daa0e3768da0e58524300b0e44791127f001f..7c31008f52e8500a17bd427f4137a8490a944ab4 100644 (file)
@@ -344,7 +344,9 @@ namespace {
          llvm::Function *kernel = *I;
          export_list.push_back(kernel->getName().data());
       }
-#if HAVE_LLVM < 0x0306
+#if HAVE_LLVM < 0x0305
+      PM.add(new llvm::DataLayout(mod));
+#elif HAVE_LLVM < 0x0306
       PM.add(new llvm::DataLayoutPass(mod));
 #else
       PM.add(new llvm::DataLayoutPass());