Migrate FunctionCall conversion out of IRGenerator.

We don't currently do FunctionCall optimization, but implementing
something along the lines of skia:10835 would probably involve doing
rewrites for optimization in FunctionCall::Make. This CL is the first
step down that road.

Change-Id: I249b02412e7ebac21bb98d6c5d61af3dcd6f1e69
Bug: skia:11342
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/387156
Commit-Queue: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
diff --git a/src/sksl/SkSLRehydrator.cpp b/src/sksl/SkSLRehydrator.cpp
index 5e5d413..430dfdb 100644
--- a/src/sksl/SkSLRehydrator.cpp
+++ b/src/sksl/SkSLRehydrator.cpp
@@ -477,7 +477,7 @@
             for (int i = 0; i < argCount; ++i) {
                 args.push_back(this->expression());
             }
-            return std::make_unique<FunctionCall>(/*offset=*/-1, type, f, std::move(args));
+            return FunctionCall::Make(fContext, /*offset=*/-1, type, *f, std::move(args));
         }
         case Rehydrator::kIndex_Command: {
             std::unique_ptr<Expression> base = this->expression();