From: Jan Vesely Date: Tue, 22 May 2018 21:52:30 +0000 (-0400) Subject: clover: Fix build after llvm r332881. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=d424be0feda503307692db8447f5989fa8e4a843;p=mesa.git clover: Fix build after llvm r332881. v2: fix whitespace and indentation r332881 added an extra parameter to the emit function. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=106619 Signed-off-by: Jan Vesely Reviewed-By: Aaron Watry Tested-By: Aaron Watry Tested-by: Kai Wasserbäch --- diff --git a/src/gallium/state_trackers/clover/llvm/codegen/native.cpp b/src/gallium/state_trackers/clover/llvm/codegen/native.cpp index 409f8ac32f0..21f6c8c88a8 100644 --- a/src/gallium/state_trackers/clover/llvm/codegen/native.cpp +++ b/src/gallium/state_trackers/clover/llvm/codegen/native.cpp @@ -126,13 +126,12 @@ namespace { { compat::pass_manager pm; ::llvm::raw_svector_ostream os { data }; - compat::raw_ostream_to_emit_file fos(os); mod.setDataLayout(compat::get_data_layout(*tm)); tm->Options.MCOptions.AsmVerbose = (ft == TargetMachine::CGFT_AssemblyFile); - if (tm->addPassesToEmitFile(pm, fos, ft)) + if (compat::add_passes_to_emit_file(*tm, pm, os, ft)) fail(r_log, build_error(), "TargetMachine can't emit this file"); pm.run(mod); diff --git a/src/gallium/state_trackers/clover/llvm/compat.hpp b/src/gallium/state_trackers/clover/llvm/compat.hpp index 2e070b2eefc..42a671b7fa3 100644 --- a/src/gallium/state_trackers/clover/llvm/compat.hpp +++ b/src/gallium/state_trackers/clover/llvm/compat.hpp @@ -245,6 +245,17 @@ namespace clover { ::llvm::WriteBitcodeToFile(mod, os); #else ::llvm::WriteBitcodeToFile(&mod, os); +#endif + } + + template + bool add_passes_to_emit_file(TM &tm, PM &pm, OS &os, FT &ft) + { + compat::raw_ostream_to_emit_file fos(os); +#if HAVE_LLVM >= 0x0700 + return tm.addPassesToEmitFile(pm, fos, nullptr, ft); +#else + return tm.addPassesToEmitFile(pm, fos, ft); #endif } }