summaryrefslogtreecommitdiff
path: root/source/slang/slang-ir-ssa-simplification.cpp
diff options
context:
space:
mode:
authorYong He <yonghe@outlook.com>2024-05-29 18:01:11 -0700
committerGitHub <noreply@github.com>2024-05-29 18:01:11 -0700
commitefdbb954c57b89362e390f955d45f90e59d66878 (patch)
tree7b47d6e52d2de666af99f66a2fd3a5dc387ca5cc /source/slang/slang-ir-ssa-simplification.cpp
parent83f176ba8a3bae5533470aed6a90663653f894b8 (diff)
Improve compile time performance. (#3857)
* Handle type check cache update on extensions more gracefully. * Correctness fix. * Cache implcit cast overload resolution results. * Fix. * More optimizations. * Cache implicit default ctor resolution. * Disable redundancy removal. * Fix. * Fix test. * Fix. * Correctness fix. * Fix. * Fix, * Fix test. * Small tweak.
Diffstat (limited to 'source/slang/slang-ir-ssa-simplification.cpp')
-rw-r--r--source/slang/slang-ir-ssa-simplification.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/source/slang/slang-ir-ssa-simplification.cpp b/source/slang/slang-ir-ssa-simplification.cpp
index 6c02734b5..2a9c0da43 100644
--- a/source/slang/slang-ir-ssa-simplification.cpp
+++ b/source/slang/slang-ir-ssa-simplification.cpp
@@ -18,7 +18,7 @@ namespace Slang
IRSimplificationOptions IRSimplificationOptions::getDefault(TargetProgram* targetProgram)
{
IRSimplificationOptions result;
- result.minimalOptimization = targetProgram->getOptionSet().shouldPerformMinimumOptimizations();
+ result.minimalOptimization = targetProgram ? targetProgram->getOptionSet().shouldPerformMinimumOptimizations() : false;
if (result.minimalOptimization)
result.cfgOptions = CFGSimplificationOptions::getFast();
else
@@ -30,7 +30,7 @@ namespace Slang
IRSimplificationOptions IRSimplificationOptions::getFast(TargetProgram* targetProgram)
{
IRSimplificationOptions result;
- result.minimalOptimization = targetProgram->getOptionSet().shouldPerformMinimumOptimizations();
+ result.minimalOptimization = targetProgram ? targetProgram->getOptionSet().shouldPerformMinimumOptimizations() : false;
result.cfgOptions = CFGSimplificationOptions::getFast();
result.peepholeOptions = PeepholeOptimizationOptions();
return result;