diff options
Diffstat (limited to 'source/slang/slang-ir-specialize.h')
| -rw-r--r-- | source/slang/slang-ir-specialize.h | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/source/slang/slang-ir-specialize.h b/source/slang/slang-ir-specialize.h index 734c76427..72f2c6130 100644 --- a/source/slang/slang-ir-specialize.h +++ b/source/slang/slang-ir-specialize.h @@ -7,8 +7,20 @@ struct IRModule; class DiagnosticSink; class TargetProgram; +struct SpecializationOptions +{ + // Option that allows specializeModule to generate dynamic-dispatch code + // wherever possible to open up more specialization opportunities. + // + bool lowerWitnessLookups = false; +}; + /// Specialize generic and interface-based code to use concrete types. -bool specializeModule(TargetProgram* target, IRModule* module, DiagnosticSink* sink); +bool specializeModule( + TargetProgram* target, + IRModule* module, + DiagnosticSink* sink, + SpecializationOptions options); void finalizeSpecialization(IRModule* module); |
