clover: Dump linked binary to a different file
authorJan Vesely <jan.vesely@rutgers.edu>
Mon, 13 Feb 2017 20:46:03 +0000 (15:46 -0500)
committerJan Vesely <jan.vesely@rutgers.edu>
Mon, 27 Feb 2017 21:11:48 +0000 (16:11 -0500)
this allows to pass the generated files directly to llc or bugpoint

v2: add atomic counter ID
v3: remove extra scope operator, constify

Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu>
Reviewed-by: Francisco Jerez <currojerez@riseup.net>
src/gallium/state_trackers/clover/llvm/invocation.cpp

index f63ff3d41c3fe4d4fbf17ba81a1c7b84e5a16969..deebef5726c7250280aa5f67ffa5726e94a9ec42 100644 (file)
@@ -281,8 +281,12 @@ clover::llvm::link_program(const std::vector<module> &modules,
 
    optimize(*mod, c->getCodeGenOpts().OptimizationLevel, !create_library);
 
+   static std::atomic_uint seq(0);
+   const std::string id = "." + mod->getModuleIdentifier() + "-" +
+      std::to_string(seq++);
+
    if (has_flag(debug::llvm))
-      debug::log(".ll", print_module_bitcode(*mod));
+      debug::log(id + ".ll", print_module_bitcode(*mod));
 
    if (create_library) {
       return build_module_library(*mod, module::section::text_library);
@@ -292,7 +296,7 @@ clover::llvm::link_program(const std::vector<module> &modules,
 
    } else if (ir == PIPE_SHADER_IR_NATIVE) {
       if (has_flag(debug::native))
-         debug::log(".asm", print_module_native(*mod, target));
+         debug::log(id +  ".asm", print_module_native(*mod, target));
 
       return build_module_native(*mod, target, *c, r_log);