  In recent years, Fully Homomorphic Encryption (FHE) has undergone several
breakthroughs and advancements, leading to a leap in performance. Today,
performance is no longer a major barrier to adoption. Instead, it is the
complexity of developing an efficient FHE application that currently limits
deploying FHE in practice and at scale. Several FHE compilers have emerged
recently to ease FHE development. However, none of these answer how to
automatically transform imperative programs to secure and efficient FHE
implementations. This is a fundamental issue that needs to be addressed before
we can realistically expect broader use of FHE. Automating these
transformations is challenging because the restrictive set of operations in FHE
and their non-intuitive performance characteristics require programs to be
drastically transformed to achieve efficiency. Moreover, existing tools are
monolithic and focus on individual optimizations. Therefore, they fail to fully
address the needs of end-to-end FHE development. In this paper, we present
HECO, a new end-to-end design for FHE compilers that takes high-level
imperative programs and emits efficient and secure FHE implementations. In our
design, we take a broader view of FHE development, extending the scope of
optimizations beyond the cryptographic challenges existing tools focus on.
