> Going to C-- and then from there going to LLVM loses a lot of the semantic information that one can provide to the LLVM optimiser.
What semantic information?
What semantic information?
This could give a speed boost: LLVM has llvm.assume with which one can annotate IR with, using this would mean that the optimizer doesn't have to infer this (and therefore save time).