aboutsummaryrefslogtreecommitdiffstats
path: root/src/gallium/state_trackers/clover
diff options
context:
space:
mode:
authorAaron Watry <[email protected]>2019-11-14 22:44:02 -0600
committerAaron Watry <[email protected]>2019-11-15 22:54:31 -0600
commit3b3494174daffabfdf90306652622e6fbba0c94e (patch)
treefb6c59b7b430115305763c628ff6a6efe6e0e69e /src/gallium/state_trackers/clover
parent09ab297e9fc52719ae41fd50b089f8fb684c67aa (diff)
clover/llvm: fix build after llvm 10 commit 1dfede3122ee
CodeGenFileType moved from ::llvm::TargetMachine in llvm/Target/TargetMachine.h to ::llvm:: in llvm/Support/CodeGen.h Signed-off-by: Aaron Watry <[email protected]> Reviewed-by: Jan Vesely <[email protected]> Reviewed-by: Francisco Jerez <[email protected]>
Diffstat (limited to 'src/gallium/state_trackers/clover')
-rw-r--r--src/gallium/state_trackers/clover/llvm/codegen/native.cpp8
-rw-r--r--src/gallium/state_trackers/clover/llvm/compat.hpp16
2 files changed, 20 insertions, 4 deletions
diff --git a/src/gallium/state_trackers/clover/llvm/codegen/native.cpp b/src/gallium/state_trackers/clover/llvm/codegen/native.cpp
index b8ed01c7289..52346131200 100644
--- a/src/gallium/state_trackers/clover/llvm/codegen/native.cpp
+++ b/src/gallium/state_trackers/clover/llvm/codegen/native.cpp
@@ -105,7 +105,7 @@ namespace {
std::vector<char>
emit_code(::llvm::Module &mod, const target &target,
- TargetMachine::CodeGenFileType ft,
+ compat::CodeGenFileType ft,
std::string &r_log) {
std::string err;
auto t = ::llvm::TargetRegistry::lookupTarget(target.triple, err);
@@ -128,7 +128,7 @@ namespace {
mod.setDataLayout(tm->createDataLayout());
tm->Options.MCOptions.AsmVerbose =
- (ft == TargetMachine::CGFT_AssemblyFile);
+ (ft == compat::CGFT_AssemblyFile);
if (compat::add_passes_to_emit_file(*tm, pm, os, ft))
fail(r_log, build_error(), "TargetMachine can't emit this file");
@@ -145,7 +145,7 @@ clover::llvm::build_module_native(::llvm::Module &mod, const target &target,
const clang::CompilerInstance &c,
std::string &r_log) {
const auto code = emit_code(mod, target,
- TargetMachine::CGFT_ObjectFile, r_log);
+ compat::CGFT_ObjectFile, r_log);
return build_module_common(mod, code, get_symbol_offsets(code, r_log), c);
}
@@ -156,7 +156,7 @@ clover::llvm::print_module_native(const ::llvm::Module &mod,
try {
std::unique_ptr< ::llvm::Module> cmod { compat::clone_module(mod) };
return as_string(emit_code(*cmod, target,
- TargetMachine::CGFT_AssemblyFile, log));
+ compat::CGFT_AssemblyFile, log));
} catch (...) {
return "Couldn't output native disassembly: " + log;
}
diff --git a/src/gallium/state_trackers/clover/llvm/compat.hpp b/src/gallium/state_trackers/clover/llvm/compat.hpp
index 2015fccaf8c..51902739acc 100644
--- a/src/gallium/state_trackers/clover/llvm/compat.hpp
+++ b/src/gallium/state_trackers/clover/llvm/compat.hpp
@@ -67,9 +67,25 @@
#include <clang/Frontend/CodeGenOptions.h>
#endif
+#if LLVM_VERSION_MAJOR >= 10
+#include <llvm/Support/CodeGen.h>
+#endif
+
namespace clover {
namespace llvm {
namespace compat {
+
+#if LLVM_VERSION_MAJOR >= 10
+ const auto CGFT_ObjectFile = ::llvm::CGFT_ObjectFile;
+ const auto CGFT_AssemblyFile = ::llvm::CGFT_AssemblyFile;
+ typedef ::llvm::CodeGenFileType CodeGenFileType;
+#else
+ const auto CGFT_ObjectFile = ::llvm::TargetMachine::CGFT_ObjectFile;
+ const auto CGFT_AssemblyFile =
+ ::llvm::TargetMachine::CGFT_AssemblyFile;
+ typedef ::llvm::TargetMachine::CodeGenFileType CodeGenFileType;
+#endif
+
template<typename T, typename AS>
unsigned target_address_space(const T &target, const AS lang_as) {
const auto &map = target.getAddressSpaceMap();