  Fault-tolerant protocols enable large and precise quantum algorithms. Many
such protocols rely on a feed-forward processing of data, enabled by a hybrid
of quantum and classical logic. Representing the control structure of such
programs can be a challenge. Here we explore two such fault-tolerant
subroutines and analyze the performance of the subroutines using Quantum
Intermediate Representation (QIR) as their underlying intermediate
representation. First, we look at QIR's ability to leverage the LLVM compiler
toolchain to unroll the quantum iteration logic required to perform magic state
distillation on the $[[5,1,3]]$ quantum error-correcting code as originally
introduced by Bravyi and Kitaev [Phys. Rev. A 71, 022316 (2005)]. This allows
us to not only realize the first implementation of a real-time magic state
distillation protocol on quantum hardware, but also demonstrate QIR's ability
to optimize complex program structures without degrading machine performance.
Next, we investigate a different fault-tolerant protocol that was first
introduced by Paetznick and Svore [arXiv:1311.1074 (2013)], that reduces the
amount of non-Clifford gates needed for a particular algorithm. We look at four
different implementations of this two-stage repeat-until-success algorithm to
analyze the performance changes as the results of programming choices. We find
the QIR offers a viable representation for a compiled high-level program that
performs nearly as well as a hand-optimized version written directly in quantum
assembly. Both of these results demonstrate QIR's ability to accurately and
efficiently expand the complexity of fault-tolerant protocols that can be
realized today on quantum hardware.
