diff --git a/src/engine/Tuning.v3 b/src/engine/Tuning.v3 index ca6200375..4ecd590e2 100644 --- a/src/engine/Tuning.v3 +++ b/src/engine/Tuning.v3 @@ -63,7 +63,8 @@ component SpcTuning { var inlineWhammProbes = true; // inline whamm probe functions var maxInlineBytecodeSize = 100; // max bytecode size to inline var maxInlineParams = 10; // max parameters to inline - var maxInlineDepth = 0; // max inlining nesting depth + var maxInlineDepth = 0; // max inlining nesting depth for regular (non-fast) functions + var maxFastInlineDepth = 0; // max inlining nesting depth for fast functions def probeCallFreesRegs = true; // probe calls frees registers in abstract state def runtimeCallFreesRegs = true; // runtime calls frees registers in abstract state var intrinsifyMemoryProbes = true; diff --git a/src/engine/compiler/CompilerOptions.v3 b/src/engine/compiler/CompilerOptions.v3 index 55c27f540..7b9ae7329 100644 --- a/src/engine/compiler/CompilerOptions.v3 +++ b/src/engine/compiler/CompilerOptions.v3 @@ -35,6 +35,8 @@ component CompilerOptions { .onSet(fun v => void(SpcTuning.maxInlineParams = v)); group.newIntOption("inline-max-depth", SpcTuning.maxInlineDepth, "Maximum inlining nesting depth.") .onSet(fun v => void(SpcTuning.maxInlineDepth = v)); + group.newIntOption("fast-inline-max-depth", SpcTuning.maxFastInlineDepth, "Maximum inlining nesting depth for fast functions.") + .onSet(fun v => void(SpcTuning.maxFastInlineDepth = v)); } def printHelp(out: TraceBuilder) {