mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-09 06:10:12 +01:00
clover: Fix build after llvm r325155 and r325160
r325155 ("Pass a reference to a module to the bitcode writer.")
and
r325160 ("Pass module reference to CloneModule")
change function interface from pointer to reference.
v2: Fix indentation (tab instead of spaces)
Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu>
Reviewed-by: Francisco Jerez <currojerez@riseup.net>
This commit is contained in:
parent
05d84ed68a
commit
78673b614b
3 changed files with 30 additions and 2 deletions
|
|
@ -66,7 +66,7 @@ namespace {
|
|||
emit_code(const ::llvm::Module &mod) {
|
||||
::llvm::SmallVector<char, 1024> data;
|
||||
::llvm::raw_svector_ostream os { data };
|
||||
WriteBitcodeToFile(&mod, os);
|
||||
compat::write_bitcode_to_file(mod, os);
|
||||
return { os.str().begin(), os.str().end() };
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -156,7 +156,7 @@ clover::llvm::print_module_native(const ::llvm::Module &mod,
|
|||
const target &target) {
|
||||
std::string log;
|
||||
try {
|
||||
std::unique_ptr< ::llvm::Module> cmod { CloneModule(&mod) };
|
||||
std::unique_ptr< ::llvm::Module> cmod { compat::clone_module(mod) };
|
||||
return as_string(emit_code(*cmod, target,
|
||||
TargetMachine::CGFT_AssemblyFile, log));
|
||||
} catch (...) {
|
||||
|
|
|
|||
|
|
@ -36,9 +36,17 @@
|
|||
|
||||
#include "util/algorithm.hpp"
|
||||
|
||||
#if HAVE_LLVM < 0x0400
|
||||
#include <llvm/Bitcode/ReaderWriter.h>
|
||||
#else
|
||||
#include <llvm/Bitcode/BitcodeReader.h>
|
||||
#include <llvm/Bitcode/BitcodeWriter.h>
|
||||
#endif
|
||||
|
||||
#include <llvm/IR/LLVMContext.h>
|
||||
#include <llvm/Linker/Linker.h>
|
||||
#include <llvm/Transforms/IPO.h>
|
||||
#include <llvm/Transforms/Utils/Cloning.h>
|
||||
#include <llvm/Target/TargetMachine.h>
|
||||
#if HAVE_LLVM >= 0x0400
|
||||
#include <llvm/Support/Error.h>
|
||||
|
|
@ -217,6 +225,26 @@ namespace clover {
|
|||
ctx.setDiagnosticHandler(diagnostic_handler, data);
|
||||
#endif
|
||||
}
|
||||
|
||||
inline std::unique_ptr< ::llvm::Module>
|
||||
clone_module(const ::llvm::Module &mod)
|
||||
{
|
||||
#if HAVE_LLVM >= 0x0700
|
||||
return ::llvm::CloneModule(mod);
|
||||
#else
|
||||
return ::llvm::CloneModule(&mod);
|
||||
#endif
|
||||
}
|
||||
|
||||
template<typename T> void
|
||||
write_bitcode_to_file(const ::llvm::Module &mod, T &os)
|
||||
{
|
||||
#if HAVE_LLVM >= 0x0700
|
||||
::llvm::WriteBitcodeToFile(mod, os);
|
||||
#else
|
||||
::llvm::WriteBitcodeToFile(&mod, os);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue