skia2/tests/sksl/blend/golden
John Stiles 345d72124d Eliminate inliner temporary variables for functions with a single exit.
When we determine that a function only contains a single return
statement, there is no need to create a temporary variable and store the
result expression into a variable. Instead, we can directly replace the
function-call expression with the return-statement's expression.

This dramatically simplifies the final optimized output from chains of
very simple inlined functions, which is a very common pattern for trees
of Skia fragment processors.

Change-Id: I6789064a321daf43db2e1cef4915f25ed74d6131
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/344665
Commit-Queue: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2020-12-16 17:26:06 +00:00
..
BlendClear.asm.frag Enable SPIR-V disassembly output from skslc. 2020-11-20 22:54:26 +00:00
BlendClear.glsl Directly compute call counts, rather than mutating state 2020-10-19 16:08:39 +00:00
BlendClear.metal Directly compute call counts, rather than mutating state 2020-10-19 16:08:39 +00:00
BlendClearStandaloneSettings.glsl Directly compute call counts, rather than mutating state 2020-10-19 16:08:39 +00:00
BlendColor.asm.frag Eliminate inliner temporary variables for functions with a single exit. 2020-12-16 17:26:06 +00:00
BlendColor.glsl Eliminate inliner temporary variables for functions with a single exit. 2020-12-16 17:26:06 +00:00
BlendColor.metal Eliminate inliner temporary variables for functions with a single exit. 2020-12-16 17:26:06 +00:00
BlendColorBurn.asm.frag Eliminate inliner temporary variables for functions with a single exit. 2020-12-16 17:26:06 +00:00
BlendColorBurn.glsl Eliminate inliner temporary variables for functions with a single exit. 2020-12-16 17:26:06 +00:00
BlendColorBurn.metal Eliminate inliner temporary variables for functions with a single exit. 2020-12-16 17:26:06 +00:00
BlendColorBurnStandaloneSettings.glsl Eliminate inliner temporary variables for functions with a single exit. 2020-12-16 17:26:06 +00:00
BlendColorDodge.asm.frag Eliminate inliner temporary variables for functions with a single exit. 2020-12-16 17:26:06 +00:00
BlendColorDodge.glsl Eliminate inliner temporary variables for functions with a single exit. 2020-12-16 17:26:06 +00:00
BlendColorDodge.metal Eliminate inliner temporary variables for functions with a single exit. 2020-12-16 17:26:06 +00:00
BlendColorDodgeStandaloneSettings.glsl Eliminate inliner temporary variables for functions with a single exit. 2020-12-16 17:26:06 +00:00
BlendColorStandaloneSettings.glsl Eliminate inliner temporary variables for functions with a single exit. 2020-12-16 17:26:06 +00:00
BlendDarken.asm.frag Eliminate inliner temporary variables for functions with a single exit. 2020-12-16 17:26:06 +00:00
BlendDarken.glsl Eliminate inliner temporary variables for functions with a single exit. 2020-12-16 17:26:06 +00:00
BlendDarken.metal Eliminate inliner temporary variables for functions with a single exit. 2020-12-16 17:26:06 +00:00
BlendDarkenStandaloneSettings.glsl Eliminate inliner temporary variables for functions with a single exit. 2020-12-16 17:26:06 +00:00
BlendDifference.asm.frag Eliminate inliner temporary variables for functions with a single exit. 2020-12-16 17:26:06 +00:00
BlendDifference.glsl Eliminate inliner temporary variables for functions with a single exit. 2020-12-16 17:26:06 +00:00
BlendDifference.metal Eliminate inliner temporary variables for functions with a single exit. 2020-12-16 17:26:06 +00:00
BlendDifferenceStandaloneSettings.glsl Eliminate inliner temporary variables for functions with a single exit. 2020-12-16 17:26:06 +00:00
BlendDst.asm.frag Eliminate inliner temporary variables for functions with a single exit. 2020-12-16 17:26:06 +00:00
BlendDst.glsl Eliminate inliner temporary variables for functions with a single exit. 2020-12-16 17:26:06 +00:00
BlendDst.metal Eliminate inliner temporary variables for functions with a single exit. 2020-12-16 17:26:06 +00:00
BlendDstAtop.asm.frag Eliminate inliner temporary variables for functions with a single exit. 2020-12-16 17:26:06 +00:00
BlendDstAtop.glsl Eliminate inliner temporary variables for functions with a single exit. 2020-12-16 17:26:06 +00:00
BlendDstAtop.metal Eliminate inliner temporary variables for functions with a single exit. 2020-12-16 17:26:06 +00:00
BlendDstAtopStandaloneSettings.glsl Eliminate inliner temporary variables for functions with a single exit. 2020-12-16 17:26:06 +00:00
BlendDstIn.asm.frag Eliminate inliner temporary variables for functions with a single exit. 2020-12-16 17:26:06 +00:00
BlendDstIn.glsl Eliminate inliner temporary variables for functions with a single exit. 2020-12-16 17:26:06 +00:00
BlendDstIn.metal Eliminate inliner temporary variables for functions with a single exit. 2020-12-16 17:26:06 +00:00
BlendDstInStandaloneSettings.glsl Eliminate inliner temporary variables for functions with a single exit. 2020-12-16 17:26:06 +00:00
BlendDstOut.asm.frag Eliminate inliner temporary variables for functions with a single exit. 2020-12-16 17:26:06 +00:00
BlendDstOut.glsl Eliminate inliner temporary variables for functions with a single exit. 2020-12-16 17:26:06 +00:00
BlendDstOut.metal Eliminate inliner temporary variables for functions with a single exit. 2020-12-16 17:26:06 +00:00
BlendDstOutStandaloneSettings.glsl Eliminate inliner temporary variables for functions with a single exit. 2020-12-16 17:26:06 +00:00
BlendDstOver.asm.frag Eliminate inliner temporary variables for functions with a single exit. 2020-12-16 17:26:06 +00:00
BlendDstOver.glsl Eliminate inliner temporary variables for functions with a single exit. 2020-12-16 17:26:06 +00:00
BlendDstOver.metal Eliminate inliner temporary variables for functions with a single exit. 2020-12-16 17:26:06 +00:00
BlendDstOverStandaloneSettings.glsl Eliminate inliner temporary variables for functions with a single exit. 2020-12-16 17:26:06 +00:00
BlendDstStandaloneSettings.glsl Eliminate inliner temporary variables for functions with a single exit. 2020-12-16 17:26:06 +00:00
BlendEnum.asm.frag Eliminate inliner temporary variables for functions with a single exit. 2020-12-16 17:26:06 +00:00
BlendEnum.glsl Eliminate inliner temporary variables for functions with a single exit. 2020-12-16 17:26:06 +00:00
BlendEnum.metal Eliminate inliner temporary variables for functions with a single exit. 2020-12-16 17:26:06 +00:00
BlendEnumStandaloneSettings.glsl Eliminate inliner temporary variables for functions with a single exit. 2020-12-16 17:26:06 +00:00
BlendExclusion.asm.frag Eliminate inliner temporary variables for functions with a single exit. 2020-12-16 17:26:06 +00:00
BlendExclusion.glsl Eliminate inliner temporary variables for functions with a single exit. 2020-12-16 17:26:06 +00:00
BlendExclusion.metal Eliminate inliner temporary variables for functions with a single exit. 2020-12-16 17:26:06 +00:00
BlendExclusionStandaloneSettings.glsl Eliminate inliner temporary variables for functions with a single exit. 2020-12-16 17:26:06 +00:00
BlendHardLight.asm.frag Eliminate inliner temporary variables for functions with a single exit. 2020-12-16 17:26:06 +00:00
BlendHardLight.glsl Eliminate inliner temporary variables for functions with a single exit. 2020-12-16 17:26:06 +00:00
BlendHardLight.metal Eliminate inliner temporary variables for functions with a single exit. 2020-12-16 17:26:06 +00:00
BlendHardLightStandaloneSettings.glsl Eliminate inliner temporary variables for functions with a single exit. 2020-12-16 17:26:06 +00:00
BlendHue.asm.frag Eliminate inliner temporary variables for functions with a single exit. 2020-12-16 17:26:06 +00:00
BlendHue.glsl Eliminate inliner temporary variables for functions with a single exit. 2020-12-16 17:26:06 +00:00
BlendHue.metal Eliminate inliner temporary variables for functions with a single exit. 2020-12-16 17:26:06 +00:00
BlendHueStandaloneSettings.glsl Eliminate inliner temporary variables for functions with a single exit. 2020-12-16 17:26:06 +00:00
BlendLighten.asm.frag Eliminate inliner temporary variables for functions with a single exit. 2020-12-16 17:26:06 +00:00
BlendLighten.glsl Eliminate inliner temporary variables for functions with a single exit. 2020-12-16 17:26:06 +00:00
BlendLighten.metal Eliminate inliner temporary variables for functions with a single exit. 2020-12-16 17:26:06 +00:00
BlendLightenStandaloneSettings.glsl Eliminate inliner temporary variables for functions with a single exit. 2020-12-16 17:26:06 +00:00
BlendLuminosity.asm.frag Eliminate inliner temporary variables for functions with a single exit. 2020-12-16 17:26:06 +00:00
BlendLuminosity.glsl Eliminate inliner temporary variables for functions with a single exit. 2020-12-16 17:26:06 +00:00
BlendLuminosity.metal Eliminate inliner temporary variables for functions with a single exit. 2020-12-16 17:26:06 +00:00
BlendLuminosityStandaloneSettings.glsl Eliminate inliner temporary variables for functions with a single exit. 2020-12-16 17:26:06 +00:00
BlendModulate.asm.frag Eliminate inliner temporary variables for functions with a single exit. 2020-12-16 17:26:06 +00:00
BlendModulate.glsl Eliminate inliner temporary variables for functions with a single exit. 2020-12-16 17:26:06 +00:00
BlendModulate.metal Eliminate inliner temporary variables for functions with a single exit. 2020-12-16 17:26:06 +00:00
BlendModulateStandaloneSettings.glsl Eliminate inliner temporary variables for functions with a single exit. 2020-12-16 17:26:06 +00:00
BlendMultiply.asm.frag Eliminate inliner temporary variables for functions with a single exit. 2020-12-16 17:26:06 +00:00
BlendMultiply.glsl Eliminate inliner temporary variables for functions with a single exit. 2020-12-16 17:26:06 +00:00
BlendMultiply.metal Eliminate inliner temporary variables for functions with a single exit. 2020-12-16 17:26:06 +00:00
BlendMultiplyStandaloneSettings.glsl Eliminate inliner temporary variables for functions with a single exit. 2020-12-16 17:26:06 +00:00
BlendOverlay.asm.frag Eliminate inliner temporary variables for functions with a single exit. 2020-12-16 17:26:06 +00:00
BlendOverlay.glsl Eliminate inliner temporary variables for functions with a single exit. 2020-12-16 17:26:06 +00:00
BlendOverlay.metal Eliminate inliner temporary variables for functions with a single exit. 2020-12-16 17:26:06 +00:00
BlendOverlayStandaloneSettings.glsl Eliminate inliner temporary variables for functions with a single exit. 2020-12-16 17:26:06 +00:00
BlendPlus.asm.frag Eliminate inliner temporary variables for functions with a single exit. 2020-12-16 17:26:06 +00:00
BlendPlus.glsl Eliminate inliner temporary variables for functions with a single exit. 2020-12-16 17:26:06 +00:00
BlendPlus.metal Eliminate inliner temporary variables for functions with a single exit. 2020-12-16 17:26:06 +00:00
BlendPlusStandaloneSettings.glsl Eliminate inliner temporary variables for functions with a single exit. 2020-12-16 17:26:06 +00:00
BlendSaturation.asm.frag Eliminate inliner temporary variables for functions with a single exit. 2020-12-16 17:26:06 +00:00
BlendSaturation.glsl Eliminate inliner temporary variables for functions with a single exit. 2020-12-16 17:26:06 +00:00
BlendSaturation.metal Eliminate inliner temporary variables for functions with a single exit. 2020-12-16 17:26:06 +00:00
BlendSaturationStandaloneSettings.glsl Eliminate inliner temporary variables for functions with a single exit. 2020-12-16 17:26:06 +00:00
BlendScreen.asm.frag Eliminate inliner temporary variables for functions with a single exit. 2020-12-16 17:26:06 +00:00
BlendScreen.glsl Eliminate inliner temporary variables for functions with a single exit. 2020-12-16 17:26:06 +00:00
BlendScreen.metal Eliminate inliner temporary variables for functions with a single exit. 2020-12-16 17:26:06 +00:00
BlendScreenStandaloneSettings.glsl Eliminate inliner temporary variables for functions with a single exit. 2020-12-16 17:26:06 +00:00
BlendSoftLight.asm.frag Eliminate inliner temporary variables for functions with a single exit. 2020-12-16 17:26:06 +00:00
BlendSoftLight.glsl Eliminate inliner temporary variables for functions with a single exit. 2020-12-16 17:26:06 +00:00
BlendSoftLight.metal Eliminate inliner temporary variables for functions with a single exit. 2020-12-16 17:26:06 +00:00
BlendSoftLightStandaloneSettings.glsl Eliminate inliner temporary variables for functions with a single exit. 2020-12-16 17:26:06 +00:00
BlendSrc.asm.frag Eliminate inliner temporary variables for functions with a single exit. 2020-12-16 17:26:06 +00:00
BlendSrc.glsl Eliminate inliner temporary variables for functions with a single exit. 2020-12-16 17:26:06 +00:00
BlendSrc.metal Eliminate inliner temporary variables for functions with a single exit. 2020-12-16 17:26:06 +00:00
BlendSrcAtop.asm.frag Eliminate inliner temporary variables for functions with a single exit. 2020-12-16 17:26:06 +00:00
BlendSrcAtop.glsl Eliminate inliner temporary variables for functions with a single exit. 2020-12-16 17:26:06 +00:00
BlendSrcAtop.metal Eliminate inliner temporary variables for functions with a single exit. 2020-12-16 17:26:06 +00:00
BlendSrcAtopStandaloneSettings.glsl Eliminate inliner temporary variables for functions with a single exit. 2020-12-16 17:26:06 +00:00
BlendSrcIn.asm.frag Eliminate inliner temporary variables for functions with a single exit. 2020-12-16 17:26:06 +00:00
BlendSrcIn.glsl Eliminate inliner temporary variables for functions with a single exit. 2020-12-16 17:26:06 +00:00
BlendSrcIn.metal Eliminate inliner temporary variables for functions with a single exit. 2020-12-16 17:26:06 +00:00
BlendSrcInStandaloneSettings.glsl Eliminate inliner temporary variables for functions with a single exit. 2020-12-16 17:26:06 +00:00
BlendSrcOut.asm.frag Eliminate inliner temporary variables for functions with a single exit. 2020-12-16 17:26:06 +00:00
BlendSrcOut.glsl Eliminate inliner temporary variables for functions with a single exit. 2020-12-16 17:26:06 +00:00
BlendSrcOut.metal Eliminate inliner temporary variables for functions with a single exit. 2020-12-16 17:26:06 +00:00
BlendSrcOutStandaloneSettings.glsl Eliminate inliner temporary variables for functions with a single exit. 2020-12-16 17:26:06 +00:00
BlendSrcOver.asm.frag Eliminate inliner temporary variables for functions with a single exit. 2020-12-16 17:26:06 +00:00
BlendSrcOver.glsl Eliminate inliner temporary variables for functions with a single exit. 2020-12-16 17:26:06 +00:00
BlendSrcOver.metal Eliminate inliner temporary variables for functions with a single exit. 2020-12-16 17:26:06 +00:00
BlendSrcOverStandaloneSettings.glsl Eliminate inliner temporary variables for functions with a single exit. 2020-12-16 17:26:06 +00:00
BlendSrcStandaloneSettings.glsl Eliminate inliner temporary variables for functions with a single exit. 2020-12-16 17:26:06 +00:00
BlendXor.asm.frag Eliminate inliner temporary variables for functions with a single exit. 2020-12-16 17:26:06 +00:00
BlendXor.glsl Eliminate inliner temporary variables for functions with a single exit. 2020-12-16 17:26:06 +00:00
BlendXor.metal Eliminate inliner temporary variables for functions with a single exit. 2020-12-16 17:26:06 +00:00
BlendXorStandaloneSettings.glsl Eliminate inliner temporary variables for functions with a single exit. 2020-12-16 17:26:06 +00:00