clover: Dump linked binary to a different file

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>
This commit is contained in:
Jan Vesely 2017-02-13 15:46:03 -05:00
parent 800b82ea13
commit 010fecb853
1 changed files with 6 additions and 2 deletions

View 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);