diff options
| author | Yong He <yonghe@outlook.com> | 2023-10-04 11:20:35 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-10-04 11:20:35 -0700 |
| commit | ac886fd3e329a9599ed1ac7a6d8b26ca5821046c (patch) | |
| tree | 87bcafb3985775f9d90303d6a4239eb743164407 /source/slang/slang-lower-to-ir.cpp | |
| parent | d87493a46c00be37b820a473c0827bbb865eb222 (diff) | |
SPIRV compiler performance fixes. (#3258)
* SPIRV compiler performance fixes.
* Cleanup.
* update project files
* Cleanup debug code.
* Make redundancy removal non-recursive.
---------
Co-authored-by: Yong He <yhe@nvidia.com>
Diffstat (limited to 'source/slang/slang-lower-to-ir.cpp')
| -rw-r--r-- | source/slang/slang-lower-to-ir.cpp | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/source/slang/slang-lower-to-ir.cpp b/source/slang/slang-lower-to-ir.cpp index f62d4b24a..c90230c1f 100644 --- a/source/slang/slang-lower-to-ir.cpp +++ b/source/slang/slang-lower-to-ir.cpp @@ -9371,8 +9371,6 @@ struct DeclLoweringVisitor : DeclVisitor<DeclLoweringVisitor, LoweredValInfo> getBuilder()->addRequireGLSLVersionDecoration(irFunc, Int(getIntegerLiteralValue(versionMod->versionNumberToken))); else if (auto spvVersion = as<RequiredSPIRVVersionModifier>(modifier)) getBuilder()->addRequireSPIRVVersionDecoration(irFunc, spvVersion->version); - else if (auto capMod = as<RequiredSPIRVCapabilityModifier>(modifier)) - getBuilder()->addRequireSPIRVCapabilityDecoration(irFunc, capMod->capability, capMod->extensionName.getUnownedSlice()); else if (auto cudasmVersion = as<RequiredCUDASMVersionModifier>(modifier)) getBuilder()->addRequireCUDASMVersionDecoration(irFunc, cudasmVersion->version); } @@ -10164,7 +10162,7 @@ RefPtr<IRModule> generateIRForTranslationUnit( // temporaries and do basic simplifications. // constructSSA(module); - simplifyCFG(module); + simplifyCFG(module, CFGSimplificationOptions::getDefault()); applySparseConditionalConstantPropagation(module, compileRequest->getSink()); peepholeOptimize(module); @@ -10213,7 +10211,7 @@ RefPtr<IRModule> generateIRForTranslationUnit( bool changed = false; performMandatoryEarlyInlining(module); changed |= constructSSA(module); - simplifyCFG(module); + simplifyCFG(module, CFGSimplificationOptions::getDefault()); changed |= applySparseConditionalConstantPropagation(module, compileRequest->getSink()); changed |= peepholeOptimize(module); for (auto inst : module->getGlobalInsts()) |
