Program optimization for instruction caches | Synapse