2424#include " mlir/Target/LLVMIR/Dialect/LLVMIR/LLVMToLLVMIRTranslation.h"
2525#include " mlir/Target/LLVMIR/Dialect/NVVM/NVVMToLLVMIRTranslation.h"
2626#include " mlir/Target/LLVMIR/Export.h"
27+ #include " llvm/Support/InterleavedRange.h"
2728
2829#include " llvm/ADT/ScopeExit.h"
2930#include " llvm/Config/Targets.h"
31+ #include " llvm/Support/DebugLog.h"
3032#include " llvm/Support/FileSystem.h"
3133#include " llvm/Support/FileUtilities.h"
3234#include " llvm/Support/FormatVariadic.h"
@@ -452,17 +454,11 @@ NVPTXSerializer::compileToBinary(const std::string &ptxCode) {
452454
453455 // Dump tool invocation commands.
454456#define DEBUG_TYPE " serialize-to-binary"
455- LLVM_DEBUG ({
456- llvm::dbgs () << " Tool invocation for module: "
457- << getOperation ().getNameAttr () << " \n " ;
458- llvm::dbgs () << " ptxas executable:" << ptxasCompiler.value () << " \n " ;
459- llvm::interleave (ptxasArgs, llvm::dbgs (), " " );
460- llvm::dbgs () << " \n " ;
461- if (createFatbin) {
462- llvm::interleave (fatbinArgs, llvm::dbgs (), " " );
463- llvm::dbgs () << " \n " ;
464- }
465- });
457+ LDBG () << " Tool invocation for module: " << getOperation ().getNameAttr ()
458+ << " \n ptxas executable:" << ptxasCompiler.value ()
459+ << " \n ptxas args: " << llvm::interleaved (ptxasArgs, " " );
460+ if (createFatbin)
461+ LDBG () << " fatbin args: " << llvm::interleaved (fatbinArgs, " " );
466462#undef DEBUG_TYPE
467463
468464 // Helper function for printing tool error logs.
@@ -507,7 +503,7 @@ NVPTXSerializer::compileToBinary(const std::string &ptxCode) {
507503 llvm::ErrorOr<std::unique_ptr<llvm::MemoryBuffer>> logBuffer =
508504 llvm::MemoryBuffer::getFile (logFile->first );
509505 if (logBuffer && !(*logBuffer)->getBuffer ().empty ()) {
510- llvm::dbgs () << " Output:\n " << (*logBuffer)->getBuffer () << " \n " ;
506+ LDBG () << " Output:\n " << (*logBuffer)->getBuffer ();
511507 llvm::dbgs ().flush ();
512508 }
513509 });
@@ -529,7 +525,7 @@ NVPTXSerializer::compileToBinary(const std::string &ptxCode) {
529525 llvm::ErrorOr<std::unique_ptr<llvm::MemoryBuffer>> logBuffer =
530526 llvm::MemoryBuffer::getFile (logFile->first );
531527 if (logBuffer && !(*logBuffer)->getBuffer ().empty ()) {
532- llvm::dbgs () << " Output:\n " << (*logBuffer)->getBuffer () << " \n " ;
528+ LDBG () << " Output:\n " << (*logBuffer)->getBuffer ();
533529 llvm::dbgs ().flush ();
534530 }
535531 });
@@ -629,12 +625,11 @@ NVPTXSerializer::compileToBinaryNVPTX(const std::string &ptxCode) {
629625 SmallVector<char > log (logSize + 1 , 0 );
630626 RETURN_ON_NVPTXCOMPILER_ERROR (
631627 nvPTXCompilerGetInfoLog (compiler, log.data ()));
632- llvm::dbgs () << " NVPTX compiler invocation for module: "
633- << getOperation ().getNameAttr () << " \n " ;
634- llvm::dbgs () << " Arguments: " ;
635- llvm::interleave (cmdOpts.second , llvm::dbgs (), " " );
636- llvm::dbgs () << " \n Output\n " << log.data () << " \n " ;
637- llvm::dbgs ().flush ();
628+ LDBG () << " NVPTX compiler invocation for module: "
629+ << getOperation ().getNameAttr ()
630+ << " \n Arguments: " << llvm::interleaved (cmdOpts.second , " " )
631+ << " \n Output\n "
632+ << log.data ();
638633 }
639634 });
640635#undef DEBUG_TYPE
@@ -678,10 +673,8 @@ NVPTXSerializer::moduleToObject(llvm::Module &llvmModule) {
678673 // Return LLVM IR if the compilation target is `offload`.
679674#define DEBUG_TYPE " serialize-to-llvm"
680675 LLVM_DEBUG ({
681- llvm::dbgs () << " LLVM IR for module: " << getOperation ().getNameAttr ()
682- << " \n " ;
683- llvm::dbgs () << llvmModule << " \n " ;
684- llvm::dbgs ().flush ();
676+ LDBG () << " LLVM IR for module: " << getOperation ().getNameAttr ();
677+ LDBG () << llvmModule;
685678 });
686679#undef DEBUG_TYPE
687680 if (targetOptions.getCompilationTarget () == gpu::CompilationTarget::Offload)
@@ -716,11 +709,8 @@ NVPTXSerializer::moduleToObject(llvm::Module &llvmModule) {
716709 isaCallback (serializedISA.value ());
717710
718711#define DEBUG_TYPE " serialize-to-isa"
719- LLVM_DEBUG ({
720- llvm::dbgs () << " PTX for module: " << getOperation ().getNameAttr () << " \n " ;
721- llvm::dbgs () << *serializedISA << " \n " ;
722- llvm::dbgs ().flush ();
723- });
712+ LDBG () << " PTX for module: " << getOperation ().getNameAttr () << " \n "
713+ << *serializedISA;
724714#undef DEBUG_TYPE
725715
726716 // Return PTX if the compilation target is `assembly`.
0 commit comments