clover: Fix build with LLVM 3.2
authorTom Stellard <thomas.stellard@amd.com>
Wed, 10 Oct 2012 20:22:22 +0000 (20:22 +0000)
committerTom Stellard <thomas.stellard@amd.com>
Thu, 11 Oct 2012 21:32:54 +0000 (21:32 +0000)
Reviewed-by: Francisco Jerez <currojerez@riseup.net>
src/gallium/state_trackers/clover/llvm/invocation.cpp

index 77b02de..521f998 100644 (file)
 #include <llvm/Support/TargetSelect.h>
 #include <llvm/Support/MemoryBuffer.h>
 #include <llvm/Support/PathV1.h>
-#include <llvm/Target/TargetData.h>
 #include <llvm/Transforms/IPO.h>
 #include <llvm/Transforms/IPO/PassManagerBuilder.h>
 
+#if HAVE_LLVM < 0x0302
+#include <llvm/Target/TargetData.h>
+#else
+#include <llvm/DataLayout.h>
+#endif
+
 #include "pipe/p_state.h"
 #include "util/u_memory.h"
 
@@ -216,7 +221,11 @@ namespace {
                                       E = kernel_func->arg_end(); I != E; ++I) {
             llvm::Argument &arg = *I;
             llvm::Type *arg_type = arg.getType();
+#if HAVE_LLVM < 0x0302
             llvm::TargetData TD(kernel_func->getParent());
+#else
+            llvm::DataLayout TD(kernel_func->getParent()->getDataLayout());
+#endif
             unsigned arg_size = TD.getTypeStoreSize(arg_type);
 
             if (llvm::isa<llvm::PointerType>(arg_type) && arg.hasByValAttr()) {