From 26fa9bfd0dfccf06358180ae740121522d09b51f Mon Sep 17 00:00:00 2001 From: Francisco Jerez Date: Tue, 17 May 2016 16:02:58 +0200 Subject: [PATCH] clover/llvm: Define function for bitcode print-out. Reviewed-by: Serge Martin Tested-by: Jan Vesely --- 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 d4c8addeea3..a51411d9df6 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 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.11.0