diff options
Diffstat (limited to 'source/slang/slang-emit.cpp')
| -rw-r--r-- | source/slang/slang-emit.cpp | 9 |
1 files changed, 2 insertions, 7 deletions
diff --git a/source/slang/slang-emit.cpp b/source/slang/slang-emit.cpp index 428c9bf66..02dab6dfa 100644 --- a/source/slang/slang-emit.cpp +++ b/source/slang/slang-emit.cpp @@ -598,13 +598,12 @@ Result linkAndOptimizeIR( { applySparseConditionalConstantPropagation(irModule, codeGenContext->getSink()); } - eliminateDeadCode(irModule, deadCodeEliminationOptions); - validateIRModuleIfEnabled(codeGenContext, irModule); // Inline calls to any functions marked with [__unsafeInlineEarly] again, // since we may be missing out cases prevented by the functions that we just specialzied. performMandatoryEarlyInlining(irModule); + eliminateDeadCode(irModule, deadCodeEliminationOptions); // Unroll loops. if (!fastIRSimplificationOptions.minimalOptimization) @@ -691,11 +690,7 @@ Result linkAndOptimizeIR( // do unnecessary work to lower them. unpinWitnessTables(irModule); - if (fastIRSimplificationOptions.minimalOptimization) - { - eliminateDeadCode(irModule, deadCodeEliminationOptions); - } - else + if (!fastIRSimplificationOptions.minimalOptimization) { simplifyIR(targetProgram, irModule, fastIRSimplificationOptions, sink); } |
