The example I pointed out was for extra stuff, sure, but even just to get a compiler to spit things out, work needs to be done. I don't know Ada's compiler well enough to point to where that work is, but here's the initial implementation of the asmjs and wasm targets in rustc, for example https://github.com/rust-lang/rust/pull/36339
This is just true of any architecture. LLVM is a toolkit, it isn't magic.
This is just true of any architecture. LLVM is a toolkit, it isn't magic.