IR in quantum compilers:
Modern classical compilers employ multiple IRs (e.g., control flow graph, static single assignment) from high level to low level and different optimizations are applied on different IRs. Today's quantum compilers [1]}, [2]}, [3]}, [4]}, [5]}, on the other hand, are mostly built around low-level representations [6]}, [7]}, [8]}, which makes it difficult to extract high-level information about the semantics of the algorithm and discover non-commutative yet semantics-preserving re-orderings. The most recent version of open quantum assembly language (OpenQASM) [9]} recognizes the need for higher-level semantics such as control, inverse and power operations, but is still incapable of representing Pauli-level semantics which are prevalent in quantum simulation kernels. As we have shown, our Pauli IR can carry high-level semantics through multiple optimization stages, encode all known algorithm constraints, and is compatible with further low-level optimizations by these tools.
