Deploying Compiler as a FormFunction

One of the values of the Wolfram Compiler is that it is integrated within the rest of the Wolfram ecosystem. A simple example showing this is the ability to create a simple form that accepts a Wolfram function, compiles it, and generates LLVM IR as output.

toLLVMIRString = Function[{prog},
  Quiet@
  FunctionCompileExportString[ToExpression[prog["Input"]]]
];
formFunc = FormFunction[{"Input" -> "String"},
  toLLVMIRString,
  "String"
];
CloudDeploy[formFunc]

This will create a form on the Wolfram Cloud website

If one inputs the functionFunction[{},1]{:.mathematica}, then the following LLVM IR is produced

; ModuleID = 'WolframCompiledFunction$2'
source_filename = "WolframCompiledFunction$2"
target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-pc-linux"

; Function Attrs: inlinehint norecurse nounwind readnone
define dllexport i64 @Main() local_unnamed_addr #0 {
start_1:
  ret i64 1
}

attributes #0 = { inlinehint norecurse nounwind readnone }

!llvm.ident = !{!0}
!wolfram.version = !{!1}
!wolfram.build_time = !{!2}
!wolfram.options = !{!3}
!wolfram.expr = !{!4}

!0 = !{!"Wolfram Compiler 1."}
!1 = !{!"12.0.0 for Linux x86 (64-bit) (April 7, 2019)"}
!2 = !{!"January 21, 2020 7:56 am"}
!3 = !{!"<|PassLogger -> Automatic, AddRuntime -> SharedLibrary, LazyJIT -> True, LLVMOptimization -> ClangOptimization[1], LoopHints -> Automatic, MachineArchitecture -> Automatic, CreateWrapper -> False, ExpressionInterface -> Automatic, TargetArchitecture -> Automatic, TargetSystemID -> Automatic, TargetTriple -> Automatic, DataLayout -> Automatic, Debug -> False, LLVMDebug -> False, ExceptionsModel -> Automatic, AbortHandling -> False, PassOptions -> {}|>"}
!4 = !{!"Compile`Program[Function[{}, 1]]"}

It would be interesting for one to build upon this to create a site analogous toGodblotcompiler site.