summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTom Stellard <[email protected]>2012-10-10 20:22:22 +0000
committerTom Stellard <[email protected]>2012-10-11 21:32:54 +0000
commitdc54c49df9c9e37b00d3ba20455407999e03f391 (patch)
tree75b31e9b2cb9c3571a123eaa3103b6049caafb54
parentc6b0132d1e86556cec71f673473052937d738749 (diff)
clover: Fix build with LLVM 3.2
Reviewed-by: Francisco Jerez <[email protected]>
-rw-r--r--src/gallium/state_trackers/clover/llvm/invocation.cpp11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/gallium/state_trackers/clover/llvm/invocation.cpp b/src/gallium/state_trackers/clover/llvm/invocation.cpp
index 77b02de7e9e..521f998fe58 100644
--- a/src/gallium/state_trackers/clover/llvm/invocation.cpp
+++ b/src/gallium/state_trackers/clover/llvm/invocation.cpp
@@ -35,10 +35,15 @@
#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()) {