[Mesa-dev] [PATCH 1/3] clover: Fix build after llvm r332881.

Jan Vesely jan.vesely at rutgers.edu
Tue May 22 23:43:18 UTC 2018


r332881 added an extra parameter to the emit function.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=106619
Signed-off-by: Jan Vesely <jan.vesely at rutgers.edu>
---
 .../state_trackers/clover/llvm/codegen/native.cpp      |  3 +--
 src/gallium/state_trackers/clover/llvm/compat.hpp      | 10 ++++++++++
 2 files changed, 11 insertions(+), 2 deletions(-)

diff --git a/src/gallium/state_trackers/clover/llvm/codegen/native.cpp b/src/gallium/state_trackers/clover/llvm/codegen/native.cpp
index 409f8ac32f..4b589ef50c 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 2e070b2eef..96ba798970 100644
--- a/src/gallium/state_trackers/clover/llvm/compat.hpp
+++ b/src/gallium/state_trackers/clover/llvm/compat.hpp
@@ -245,6 +245,16 @@ namespace clover {
 		::llvm::WriteBitcodeToFile(mod, os);
 #else
 		::llvm::WriteBitcodeToFile(&mod, os);
+#endif
+	}
+	template<typename TM, typename PM, typename OS, typename FT>
+	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
 	}
       }
-- 
2.17.0



More information about the mesa-dev mailing list