summaryrefslogtreecommitdiffstats
path: root/source/slang/slang-ir.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'source/slang/slang-ir.cpp')
-rw-r--r--source/slang/slang-ir.cpp20
1 files changed, 20 insertions, 0 deletions
diff --git a/source/slang/slang-ir.cpp b/source/slang/slang-ir.cpp
index 5a917e88c..5f49d1966 100644
--- a/source/slang/slang-ir.cpp
+++ b/source/slang/slang-ir.cpp
@@ -4,6 +4,7 @@
#include "slang-ir-util.h"
#include "../core/slang-basic.h"
+#include "../core/slang-writer.h"
#include "slang-ir-dominators.h"
@@ -8605,6 +8606,25 @@ namespace Slang
}
}
+ void IRInst::dump()
+ {
+ if (auto intLit = as<IRIntLit>(this))
+ {
+ std::cout << intLit->getValue() << std::endl;
+ }
+ else if (auto stringLit = as<IRStringLit>(this))
+ {
+ std::cout << stringLit->getStringSlice().begin() << std::endl;
+ }
+ else
+ {
+ StringBuilder sb;
+ IRDumpOptions options;
+ StringWriter writer(&sb, Slang::WriterFlag::AutoFlush);
+ dumpIR(this, options, nullptr, &writer);
+ std::cout << sb.toString().begin() << std::endl;
+ }
+ }
} // namespace Slang
#if SLANG_VC