Using LLVM to consume QIR and run optimization, scheduling and then outputting hardware-specific instructions.