This paper introduces the Camino Compiler Infrastructure. Camino implements several types of profiling, including basic block counts, edge profiling, interprocedural path profiling, and a special technique that allows using a SimPoint-like methodology to do efficient and precise fine-grained power behavior characterization. It also supports a growing set of code placement optimizations such as branch alignment and pattern history table partitioning. In its current implementation, Camino works as a post-processor for the Gnu Compiler Collection (GCC). The goal of Camino is to serve as a testbed for various low-level performance optimizations as well as power and energy optimizations. It currently supports the x86 instruction set.
/lp/association-for-computing-machinery/the-camino-compiler-infrastructure-ffokhxOF0f