Implement uniform control flow restrictions
<rdar://problem/44403001>
Some standard library functions must never be called in nonuniform control flow. Right now, we have a definition of "uniform control flow" in the spec which is validated at run-time, not compile-time. We also (will) have a definition of "control flow which was arrived-at by branching on a non-uniform value" which is validated at compile-time, not run-time. This is currently only used for variables marked "uniform" (which is a totally different thing). We need to figure out whether or not we can unify these two definitions.
I'm going to do this in the same patch as https://bugs.webkit.org/show_bug.cgi?id=189125 *** This bug has been marked as a duplicate of bug 189125 ***
Migrated to https://github.com/gpuweb/WHLSL/issues/57