From 9b8005d758544b40893d57f316a5081728b5fb22 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Juan=20Manuel=20MARTINEZ=20CAAMA=C3=91O?= Date: Fri, 21 Oct 2022 14:04:47 +0000 Subject: [PATCH] SWDEV-287018 - Generate tempraries for _optimized.bc and _linked.bc if -save-temp-all is passed. Change-Id: Ie8a7af66f0764f0a94948d45d7deed786f799c96 --- rocclr/compiler/lib/utils/options.hpp | 3 +++ rocclr/device/devprogram.cpp | 7 +++---- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/rocclr/compiler/lib/utils/options.hpp b/rocclr/compiler/lib/utils/options.hpp index d686902e08..7305cdac94 100644 --- a/rocclr/compiler/lib/utils/options.hpp +++ b/rocclr/compiler/lib/utils/options.hpp @@ -192,6 +192,9 @@ enum DumpFlags { // For a release product, can only dump the following DUMP_PRODUCT_FLAGS = (DUMP_CL | DUMP_I | DUMP_S | DUMP_O | DUMP_DLL | + // handling DUMP_BC_ORIGINAL would require a fair amount of work, + // since the output of comgr is already optimized + DUMP_BC_OPTIMIZED | DUMP_BC_LINKED | DUMP_IL |DUMP_CGIL | DUMP_DEBUGIL | DUMP_ISA | DUMP_BIF), diff --git a/rocclr/device/devprogram.cpp b/rocclr/device/devprogram.cpp index 38303ee116..f0ed019daf 100644 --- a/rocclr/device/devprogram.cpp +++ b/rocclr/device/devprogram.cpp @@ -385,8 +385,7 @@ bool Program::linkLLVMBitcode(const amd_comgr_data_set_t inputs, if (status == AMD_COMGR_STATUS_SUCCESS) { std::string dumpFileName; - if (requiredDump && amdOptions != nullptr && - amdOptions->isDumpFlagSet(amd::option::DUMP_BC_LINKED)) { + if (requiredDump || amdOptions->isDumpFlagSet(amd::option::DUMP_BC_LINKED)) { dumpFileName = amdOptions->getDumpFileName("_linked.bc"); } status = extractByteCodeBinary(*output, AMD_COMGR_DATA_KIND_BC, dumpFileName, binaryData, @@ -491,8 +490,8 @@ bool Program::compileToLLVMBitcode(const amd_comgr_data_set_t compileInputs, if (status == AMD_COMGR_STATUS_SUCCESS) { std::string outFileName; - if (amdOptions->isDumpFlagSet(amd::option::DUMP_BC_ORIGINAL)) { - outFileName = amdOptions->getDumpFileName("_original.bc"); + if (amdOptions->isDumpFlagSet(amd::option::DUMP_BC_OPTIMIZED)) { + outFileName = amdOptions->getDumpFileName("_optimized.bc"); } status = extractByteCodeBinary(output, AMD_COMGR_DATA_KIND_BC, outFileName, binaryData, binarySize);