diff options
| -rw-r--r-- | source/slang/slang-emit.cpp | 26 | ||||
| -rw-r--r-- | source/slang/slang-ir.cpp | 20 | ||||
| -rw-r--r-- | source/slang/slang-ir.h | 1 | ||||
| -rw-r--r-- | source/slang/slang-lower-to-ir.cpp | 9 | ||||
| -rw-r--r-- | tests/ir/string-literal.slang.expected | 2 |
5 files changed, 29 insertions, 29 deletions
diff --git a/source/slang/slang-emit.cpp b/source/slang/slang-emit.cpp index b08f26137..7d8a4074e 100644 --- a/source/slang/slang-emit.cpp +++ b/source/slang/slang-emit.cpp @@ -126,29 +126,6 @@ StructTypeLayout* getGlobalStructLayout( return getScopeStructLayout(programLayout); } -static void dumpIR( - BackEndCompileRequest* compileRequest, - IRModule* irModule, - char const* label) -{ - DiagnosticSinkWriter writerImpl(compileRequest->getSink()); - WriterHelper writer(&writerImpl); - - if(label) - { - writer.put("### "); - writer.put(label); - writer.put(":\n"); - } - - dumpIR(irModule, writer.getWriter()); - - if( label ) - { - writer.put("###\n"); - } -} - static void dumpIRIfEnabled( BackEndCompileRequest* compileRequest, IRModule* irModule, @@ -156,7 +133,8 @@ static void dumpIRIfEnabled( { if(compileRequest->shouldDumpIR) { - dumpIR(compileRequest, irModule, label); + DiagnosticSinkWriter writer(compileRequest->getSink()); + dumpIR(irModule, &writer, label); } } diff --git a/source/slang/slang-ir.cpp b/source/slang/slang-ir.cpp index f551dcbba..a5e0de0c5 100644 --- a/source/slang/slang-ir.cpp +++ b/source/slang/slang-ir.cpp @@ -4637,6 +4637,25 @@ namespace Slang writer->flush(); } + void dumpIR(IRModule* module, ISlangWriter* slangWriter, char const* label) + { + WriterHelper writer(slangWriter); + + if (label) + { + writer.put("### "); + writer.put(label); + writer.put(":\n"); + } + + dumpIR(module, slangWriter, IRDumpMode::Simplified); + + if (label) + { + writer.put("###\n"); + } + } + String getSlangIRAssembly(IRModule* module, IRDumpMode mode) { StringBuilder sb; @@ -5377,4 +5396,3 @@ namespace Slang ptrType->getOperand(0)->op == opCode; } } - diff --git a/source/slang/slang-ir.h b/source/slang/slang-ir.h index 481e4f601..d95951553 100644 --- a/source/slang/slang-ir.h +++ b/source/slang/slang-ir.h @@ -1422,6 +1422,7 @@ String getSlangIRAssembly(IRModule* module, IRDumpMode mode = IRDumpMode::Simpli void dumpIR(IRModule* module, ISlangWriter* writer, IRDumpMode mode = IRDumpMode::Simplified); void dumpIR(IRInst* globalVal, ISlangWriter* writer, IRDumpMode mode = IRDumpMode::Simplified); +void dumpIR(IRModule* module, ISlangWriter* slangWriter, char const* label); IRInst* createEmptyInst( IRModule* module, diff --git a/source/slang/slang-lower-to-ir.cpp b/source/slang/slang-lower-to-ir.cpp index 322489d89..c72f7aca5 100644 --- a/source/slang/slang-lower-to-ir.cpp +++ b/source/slang/slang-lower-to-ir.cpp @@ -7343,9 +7343,10 @@ IRModule* generateIRForTranslationUnit( } #if 0 - fprintf(stderr, "### GENERATED\n"); - dumpIR(module); - fprintf(stderr, "###\n"); + { + DiagnosticSinkWriter writer(compileRequest->getSink()); + dumpIR(module, &writer, "GENERATED"); + } #endif validateIRModuleIfEnabled(compileRequest, module); @@ -7451,7 +7452,7 @@ IRModule* generateIRForTranslationUnit( if(compileRequest->shouldDumpIR) { DiagnosticSinkWriter writer(compileRequest->getSink()); - dumpIR(module, &writer); + dumpIR(module, &writer, "LOWER-TO-IR"); } return module; diff --git a/tests/ir/string-literal.slang.expected b/tests/ir/string-literal.slang.expected index 3f6b2f0ff..80d7ce67c 100644 --- a/tests/ir/string-literal.slang.expected +++ b/tests/ir/string-literal.slang.expected @@ -1,5 +1,6 @@ result code = 0 standard error = { +### LOWER-TO-IR: [entryPoint(6, "main")] [numThreads(1, 1, 1)] [export("_S3tu04mainp1puV")] @@ -12,6 +13,7 @@ block %1( return_void } global_hashed_string_literals("Hello \t\n\0x083 World") +### } standard output = { } |
