added frexp support to SkSL

This includes an optimizer fix for the situation:

int i;
float f = frexp(foo, i);

If we don't read the variable i, it is considered dead and eliminated -
which then causes an error when we try to write the expression
frexmp(foo, i).

Bug: skia:
Change-Id: Iac385e38e215455346fab62e1f4ec46fa65b3c21
Reviewed-on: https://skia-review.googlesource.com/116521
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
diff --git a/gn/sksl.gni b/gn/sksl.gni
index 974ac16..18b69c7 100644
--- a/gn/sksl.gni
+++ b/gn/sksl.gni
@@ -23,6 +23,7 @@
   "$_src/sksl/ir/SkSLSymbolTable.cpp",
   "$_src/sksl/ir/SkSLSetting.cpp",
   "$_src/sksl/ir/SkSLType.cpp",
+  "$_src/sksl/ir/SkSLVariableReference.cpp",
 ]
 
 skia_gpu_processor_sources = [