skia2/tests/sksl/inliner
John Stiles a75ee2620b Optimize away field accesses to known structs.
This is necessary for proper constant-folding, and can help us generate
better code. Most examples are pretty contrived, but a realistic benefit
can be found in inlined code (see TrivialArgumentsInlineDirectly.glsl).

Change-Id: I86aac9d48a70ae35a15109fd0b04400ae39a3b47
Bug: skia:13387
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/547277
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2022-06-06 20:38:43 +00:00
..
DoWhileBodyMustBeInlinedIntoAScope.glsl
DoWhileTestCannotBeInlined.glsl
ExponentialGrowth.glsl Remove InlineMarker IR node. 2022-04-29 17:40:58 +00:00
ExponentialGrowthStandaloneSettings.glsl Remove InlineMarker IR node. 2022-04-29 17:40:58 +00:00
ForBodyMustBeInlinedIntoAScope.glsl
ForInitializerExpressionsCanBeInlined.glsl
ForWithoutReturnInsideCanBeInlined.glsl In SkSL tests, don't force opaque output 2022-02-03 17:25:35 +00:00
ForWithReturnInsideCannotBeInlined.glsl
IfBodyMustBeInlinedIntoAScope.glsl
IfElseBodyMustBeInlinedIntoAScope.glsl
IfElseChainWithReturnsCanBeInlined.glsl
IfTestCanBeInlined.glsl
IfWithReturnsCanBeInlined.glsl
InlineKeywordOverridesThreshold.glsl
InlinerAvoidsVariableNameOverlap.glsl
InlinerCanBeDisabled.glsl Add ReducedBlendModeInfo to shared code. 2022-04-22 17:18:31 +00:00
InlinerCanBeDisabledStandaloneSettings.glsl Add ReducedBlendModeInfo to shared code. 2022-04-22 17:18:31 +00:00
InlinerElidesTempVarForReturnsInsideBlock.glsl
InlinerManglesNames.glsl
InlinerUsesTempVarForMultipleReturns.glsl
InlinerUsesTempVarForReturnsInsideBlockWithVar.glsl
InlineThreshold.glsl
InlineWithModifiedArgument.glsl
InlineWithNestedBigCalls.glsl
InlineWithNestedCalls.glsl Prevent no-op statements in GLSL code generator. 2022-01-19 17:36:54 +00:00
InlineWithUnmodifiedArgument.glsl
InlineWithUnnecessaryBlocks.glsl
NoInline.glsl
Ossfuzz37994.glsl Prevent no-op statements in GLSL code generator. 2022-01-19 17:36:54 +00:00
ShortCircuitEvaluationsCannotInlineRightHandSide.glsl
StaticSwitch.glsl
StructsCanBeInlinedSafely.glsl
SwitchWithCastCanBeInlined.glsl
SwitchWithoutReturnInsideCanBeInlined.glsl
SwizzleCanBeInlinedDirectly.glsl
TernaryResultsCannotBeInlined.glsl
TernaryTestCanBeInlined.glsl
TrivialArgumentsInlineDirectly.glsl Optimize away field accesses to known structs. 2022-06-06 20:38:43 +00:00
TrivialArgumentsInlineDirectlyES3.glsl Add ES3 test for trivially inlinable arguments. 2022-06-06 13:45:13 +00:00
WhileBodyMustBeInlinedIntoAScope.glsl
WhileTestCannotBeInlined.glsl