[Mesa-dev] [PATCH 26/47] clover/llvm: Define function for bitcode print-out.

Francisco Jerez currojerez at riseup.net
Mon Jul 4 00:51:35 UTC 2016


Reviewed-by: Serge Martin <edb+mesa at sigluy.net>
---
 src/gallium/state_trackers/clover/llvm/invocation.cpp | 17 ++++++++++-------
 1 file changed, 10 insertions(+), 7 deletions(-)

diff --git a/src/gallium/state_trackers/clover/llvm/invocation.cpp b/src/gallium/state_trackers/clover/llvm/invocation.cpp
index d4c8add..a51411d 100644
--- a/src/gallium/state_trackers/clover/llvm/invocation.cpp
+++ b/src/gallium/state_trackers/clover/llvm/invocation.cpp
@@ -433,6 +433,14 @@ namespace {
                                  c);
    }
 
+   std::string
+   print_module_bitcode(const ::llvm::Module &mod) {
+      std::string s;
+      ::llvm::raw_string_ostream os { s };
+      mod.print(os, NULL);
+      return os.str();
+   }
+
    std::vector<char>
    emit_code(::llvm::Module &mod, const target &target,
              TargetMachine::CodeGenFileType ft,
@@ -572,13 +580,8 @@ clover::compile_program_llvm(const std::string &source,
 
    optimize(*mod, c->getCodeGenOpts().OptimizationLevel);
 
-   if (has_flag(debug::llvm)) {
-      std::string log;
-      raw_string_ostream s_log(log);
-      mod->print(s_log, NULL);
-      s_log.flush();
-      debug::log(".ll", log);
-    }
+   if (has_flag(debug::llvm))
+      debug::log(".ll", print_module_bitcode(*mod));
 
    module m;
    // Build the clover::module
-- 
2.9.0



More information about the mesa-dev mailing list