1. A method comprising: identifying a plurality of potential candidates for value specialization in software code; selecting a group of candidates from the plurality of potential candidates based on a value profile associated with each of the plurality of potential candidates; determining specialized data for each candidate in the group of candidates using a corresponding value profile; and forming a plurality of optimized regions based on corresponding specialized data, each of the plurality of optimized regions including one or more candidates from the group of candidates.