Revert "[opaque pointer types] Add a FunctionCallee wrapper type, and use it."

This reverts commit f47d6b38c7a61d50db4566b02719de05492dcef1 (r352791).

Seems to run into compilation failures with GCC (but not clang, where
I tested it). Reverting while I investigate.

llvm-svn: 352800
diff --git a/llvm/tools/lli/lli.cpp b/llvm/tools/lli/lli.cpp
index 36d7d98..d7b9368 100644
--- a/llvm/tools/lli/lli.cpp
+++ b/llvm/tools/lli/lli.cpp
@@ -595,8 +595,8 @@
   if (!RemoteMCJIT) {
     // If the program doesn't explicitly call exit, we will need the Exit
     // function later on to make an explicit call, so get the function now.
-    FunctionCallee Exit = Mod->getOrInsertFunction(
-        "exit", Type::getVoidTy(Context), Type::getInt32Ty(Context));
+    Constant *Exit = Mod->getOrInsertFunction("exit", Type::getVoidTy(Context),
+                                                      Type::getInt32Ty(Context));
 
     // Run static constructors.
     if (!ForceInterpreter) {
@@ -620,21 +620,19 @@
 
     // If the program didn't call exit explicitly, we should call it now.
     // This ensures that any atexit handlers get called correctly.
-    if (Function *ExitF =
-            dyn_cast<Function>(Exit.getCallee()->stripPointerCasts())) {
-      if (ExitF->getFunctionType() == Exit.getFunctionType()) {
-        std::vector<GenericValue> Args;
-        GenericValue ResultGV;
-        ResultGV.IntVal = APInt(32, Result);
-        Args.push_back(ResultGV);
-        EE->runFunction(ExitF, Args);
-        WithColor::error(errs(), argv[0])
-            << "exit(" << Result << ") returned!\n";
-        abort();
-      }
+    if (Function *ExitF = dyn_cast<Function>(Exit)) {
+      std::vector<GenericValue> Args;
+      GenericValue ResultGV;
+      ResultGV.IntVal = APInt(32, Result);
+      Args.push_back(ResultGV);
+      EE->runFunction(ExitF, Args);
+      WithColor::error(errs(), argv[0]) << "exit(" << Result << ") returned!\n";
+      abort();
+    } else {
+      WithColor::error(errs(), argv[0])
+          << "exit defined with wrong prototype!\n";
+      abort();
     }
-    WithColor::error(errs(), argv[0]) << "exit defined with wrong prototype!\n";
-    abort();
   } else {
     // else == "if (RemoteMCJIT)"