Many #FP languages compile down to C or LLVM IR and, from thence, down to binary. That is all well and good, but I think there is a simpler, better way: to target the classic #Scheme #R4RS as the IR, then use a modern optimising Scheme implementation to compile that IR down to binary.
MacCarthy's #LISP was an imperfect, albeit practical, rendition of 𝜆-calculus, which is the ideal IR for FP languages. By extension, a subset of modern Scheme is the perfect IR for FP languages.