[Mesa-dev] [PATCH 1/1] clover: Fix build after llvm r325155 and r325160
Francisco Jerez
currojerez at riseup.net
Thu Feb 15 21:57:45 UTC 2018
Jan Vesely <jan.vesely at rutgers.edu> writes:
> 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.
>
> Signed-off-by: Jan Vesely <jan.vesely at rutgers.edu>
> ---
> .../state_trackers/clover/llvm/codegen/bitcode.cpp | 2 +-
> .../state_trackers/clover/llvm/codegen/native.cpp | 2 +-
> src/gallium/state_trackers/clover/llvm/compat.hpp | 28 ++++++++++++++++++++++
> 3 files changed, 30 insertions(+), 2 deletions(-)
>
> diff --git a/src/gallium/state_trackers/clover/llvm/codegen/bitcode.cpp b/src/gallium/state_trackers/clover/llvm/codegen/bitcode.cpp
> index 679ecd8758..40bb426218 100644
> --- a/src/gallium/state_trackers/clover/llvm/codegen/bitcode.cpp
> +++ b/src/gallium/state_trackers/clover/llvm/codegen/bitcode.cpp
> @@ -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() };
> }
> }
> diff --git a/src/gallium/state_trackers/clover/llvm/codegen/native.cpp b/src/gallium/state_trackers/clover/llvm/codegen/native.cpp
> index 12c83a92b6..409f8ac32f 100644
> --- a/src/gallium/state_trackers/clover/llvm/codegen/native.cpp
> +++ b/src/gallium/state_trackers/clover/llvm/codegen/native.cpp
> @@ -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 (...) {
> diff --git a/src/gallium/state_trackers/clover/llvm/compat.hpp b/src/gallium/state_trackers/clover/llvm/compat.hpp
> index 6fc75fb250..db9e8020cf 100644
> --- a/src/gallium/state_trackers/clover/llvm/compat.hpp
> +++ b/src/gallium/state_trackers/clover/llvm/compat.hpp
> @@ -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
Weird indentation. Other than that:
Reviewed-by: Francisco Jerez <currojerez at riseup.net>
> + write_bitcode_to_file(const ::llvm::Module &mod, T &os)
> + {
> +#if HAVE_LLVM >= 0x0700
> + ::llvm::WriteBitcodeToFile(mod, os);
> +#else
> + ::llvm::WriteBitcodeToFile(&mod, os);
> +#endif
> + }
> }
> }
> }
> --
> 2.14.3
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 227 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20180215/fc3a0341/attachment.sig>
More information about the mesa-dev
mailing list