This version still supports whole-program-generation