Add a whole-program compiler for testing and benchmarking