summaryrefslogtreecommitdiff
path: root/source/slang/slang-emit.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'source/slang/slang-emit.cpp')
-rw-r--r--source/slang/slang-emit.cpp13
1 files changed, 4 insertions, 9 deletions
diff --git a/source/slang/slang-emit.cpp b/source/slang/slang-emit.cpp
index 3d923179c..2ef0a5647 100644
--- a/source/slang/slang-emit.cpp
+++ b/source/slang/slang-emit.cpp
@@ -54,6 +54,7 @@
#include "slang-ir-liveness.h"
#include "slang-ir-glsl-liveness.h"
#include "slang-ir-string-hash.h"
+#include "slang-ir-simplify-for-emit.h"
#include "slang-legalize-types.h"
#include "slang-lower-to-ir.h"
#include "slang-mangle.h"
@@ -1008,6 +1009,9 @@ SlangResult CodeGenContext::emitEntryPointsSourceFromIR(ComPtr<IArtifact>& outAr
linkedIR));
auto irModule = linkedIR.module;
+
+ // Perform final simplifications to help emit logic to generate more compact code.
+ simplifyForEmit(irModule);
metadata = linkedIR.metadata;
@@ -1015,15 +1019,6 @@ SlangResult CodeGenContext::emitEntryPointsSourceFromIR(ComPtr<IArtifact>& outAr
// passes have been performed, we can emit target code from
// the IR module.
//
- // TODO: do we want to emit directly from IR, or translate the
- // IR back into AST for emission?
-#if 0
- {
- StringBuilder sb;
- StringWriter writer(&sb, Slang::WriterFlag::AutoFlush);
- dumpIR(irModule, getIRDumpOptions(), sourceManager, &writer);
- }
-#endif
sourceEmitter->emitModule(irModule, sink);
}