skia2/tests/sksl
John Stiles b3dcbb12ef Detect functions that fail to return a value, without using CFG.
This check now runs at function finalization time, before constant
propagation has occurred; this affected the "DeadIfStatement" test.

Our detection isn't smart enough to realize that a loop will run zero
times, so it treats `for` and `while` loops as always running at least
once. This isn't strictly correct, but it actually mirrors how the CFG
implementation works anyway. The only downside is that we would not flag
code like `for (i=0; i<0; ++i) { return x; }` as an error.

Change-Id: I5e43a6ee3a3993045559f0fb0646d36112543a94
Bug: skia:11377
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/379056
Commit-Queue: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-03-04 22:47:05 +00:00
..
blend Revert "Disable control-flow analysis in SkSL. (Performance experiment)" 2021-03-04 15:20:09 +00:00
errors Detect functions that fail to return a value, without using CFG. 2021-03-04 22:47:05 +00:00
folding Revert "Disable control-flow analysis in SkSL. (Performance experiment)" 2021-03-04 15:20:09 +00:00
fp Add new style key information to several core effects 2021-03-04 14:49:07 +00:00
glsl Remove specific blend mode layout qualifiers 2021-02-23 15:45:55 +00:00
inliner Revert "Disable control-flow analysis in SkSL. (Performance experiment)" 2021-03-04 15:20:09 +00:00
intrinsics Revert "Disable control-flow analysis in SkSL. (Performance experiment)" 2021-03-04 15:20:09 +00:00
metal Revert "Disable control-flow analysis in SkSL. (Performance experiment)" 2021-03-04 15:20:09 +00:00
runtime Avoid generating unused variables in the Inliner. 2021-02-25 19:18:19 +00:00
runtime_errors Align SkSL const rules more closely with GLSL 2021-02-26 17:44:11 +00:00
shared Detect functions that fail to return a value, without using CFG. 2021-03-04 22:47:05 +00:00
spirv Improve memory layout handling in SPIRV generator 2021-01-22 22:16:48 +00:00
workarounds Revert "Disable control-flow analysis in SkSL. (Performance experiment)" 2021-03-04 15:20:09 +00:00
README.txt Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00

This directory contains skslc-compiled output from matching source files
in the /resources/sksl/ directory.