diff options
| author | Yong He <yonghe@outlook.com> | 2024-02-20 12:24:00 -0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-02-20 12:24:00 -0800 |
| commit | 4d20fd329956ac89408b1628a8291fea01bc9a6d (patch) | |
| tree | 8e62d9c1ec05142fd25d0b31073fdb56d44691b0 /source/slang/slang-lower-to-ir.cpp | |
| parent | 8e9b61e3bac69dbb37a1451b62302e688a017ced (diff) | |
Refactor compiler option representations. (#3598)
* Refactor compiler option representation.
* Fix binary compatibility.
* Add a test for specifying compiler options at link time.
* Fix binary compatibility.
* Fix binary compatibility.
* Fix backward compatibility on matrix layout.
* Fix.
* Fix.
* Fix.
* Fix gfx.
* Fix gfx.
* Fix dynamic dispatch.
* Polish.
Diffstat (limited to 'source/slang/slang-lower-to-ir.cpp')
| -rw-r--r-- | source/slang/slang-lower-to-ir.cpp | 24 |
1 files changed, 11 insertions, 13 deletions
diff --git a/source/slang/slang-lower-to-ir.cpp b/source/slang/slang-lower-to-ir.cpp index 8fef6f535..8531e4029 100644 --- a/source/slang/slang-lower-to-ir.cpp +++ b/source/slang/slang-lower-to-ir.cpp @@ -2342,8 +2342,6 @@ static void addNameHint( String name = getNameForNameHint(context, decl); if(name.getLength() == 0) return; - if (name == "MyBlockName2") - printf("break"); context->irBuilder->addNameHintDecoration(inst, name.getUnownedSlice()); } @@ -10238,7 +10236,7 @@ RefPtr<IRModule> generateIRForTranslationUnit( SharedIRGenContext sharedContextStorage( session, translationUnit->compileRequest->getSink(), - translationUnit->compileRequest->getLinkage()->m_obfuscateCode, + translationUnit->compileRequest->optionSet.shouldObfuscateCode(), translationUnit->getModuleDecl(), translationUnit->compileRequest->getLinkage()); SharedIRGenContext* sharedContext = &sharedContextStorage; @@ -10252,7 +10250,7 @@ RefPtr<IRModule> generateIRForTranslationUnit( IRBuilder* builder = &builderStorage; context->irBuilder = builder; - context->includeDebugInfo = compileRequest->getLinkage()->debugInfoLevel != DebugInfoLevel::None; + context->includeDebugInfo = compileRequest->getLinkage()->m_optionSet.getDebugInfoLevel() != DebugInfoLevel::None; // We need to emit IR for all public/exported symbols // in the translation unit. @@ -10450,7 +10448,7 @@ RefPtr<IRModule> generateIRForTranslationUnit( Linkage* linkage = compileRequest->getLinkage(); - stripOptions.shouldStripNameHints = linkage->m_obfuscateCode; + stripOptions.shouldStripNameHints = linkage->m_optionSet.shouldObfuscateCode(); // If we are generating an obfuscated source map, we don't want to strip locs, // we want to generate *new* locs that can be mapped (via source map) @@ -10474,7 +10472,7 @@ RefPtr<IRModule> generateIRForTranslationUnit( options.keepExportsAlive = true; eliminateDeadCode(module, options); - if (linkage->m_obfuscateCode) + if (linkage->m_optionSet.shouldObfuscateCode()) { // The obfuscated source map is stored on the module obfuscateModuleLocs(module, compileRequest->getSourceManager()); @@ -10494,7 +10492,7 @@ RefPtr<IRModule> generateIRForTranslationUnit( // If we are being asked to dump IR during compilation, // then we can dump the initial IR for the module here. - if(compileRequest->shouldDumpIR) + if(compileRequest->optionSet.shouldDumpIR()) { DiagnosticSinkWriter writer(compileRequest->getSink()); @@ -10525,7 +10523,7 @@ struct SpecializedComponentTypeIRGenContext : ComponentTypeVisitor SharedIRGenContext sharedContextStorage( session, sink, - linkage->m_obfuscateCode, + linkage->m_optionSet.shouldObfuscateCode(), nullptr, linkage ); @@ -10664,7 +10662,7 @@ struct TypeConformanceIRGenContext linkage = typeConformance->getLinkage(); session = linkage->getSessionImpl(); - SharedIRGenContext sharedContextStorage(session, sink, linkage->m_obfuscateCode, nullptr, linkage); + SharedIRGenContext sharedContextStorage(session, sink, linkage->m_optionSet.shouldObfuscateCode(), nullptr, linkage); SharedIRGenContext* sharedContext = &sharedContextStorage; IRGenContext contextStorage(sharedContext, linkage->getASTBuilder()); @@ -11016,7 +11014,7 @@ RefPtr<IRModule> TargetProgram::createIRModuleForLayout(DiagnosticSink* sink) SharedIRGenContext sharedContextStorage( session, sink, - linkage->m_obfuscateCode, + linkage->m_optionSet.shouldObfuscateCode(), nullptr, linkage); auto sharedContext = &sharedContextStorage; @@ -11111,12 +11109,12 @@ RefPtr<IRModule> TargetProgram::createIRModuleForLayout(DiagnosticSink* sink) } // Lets strip and run DCE here - if (linkage->m_obfuscateCode) + if (linkage->m_optionSet.shouldObfuscateCode()) { IRStripOptions stripOptions; - stripOptions.shouldStripNameHints = linkage->m_obfuscateCode; - stripOptions.stripSourceLocs = linkage->m_obfuscateCode; + stripOptions.shouldStripNameHints = true; + stripOptions.stripSourceLocs = true;; stripFrontEndOnlyInstructions(irModule, stripOptions); |
