1. A method comprising: executing training executable code using training data, the training executable code being generated from code portions of an application program, the training executable code including a block counter and a call counter; updating the block counter and the call counter during execution of the training executable code according to the number of times one code portion of the code portions is executed during a training run; storing the updated block counter and the updated call counter as profile-directed feedback information associated with the training executable code; performing an analysis on the profile-directed feedback information to produce analyzed information, at least by aggregating data of the profile-directed feedback information to determine a maximum block count associated with the one code portion; and compiling the code portions to produce compiled code output using information including the training executable code and the analyzed information, wherein the compiling includes: adding select intermediate code portions of the code portions having maximum block counts in a predetermined top percentage, the select intermediate code portions included in the training executable code when the training executable code is generated from the code portions; and substituting executable code in the training executable code for excluded intermediate code of the code portions, the excluded intermediate code being intermediate code not included in the training executable code when the training executable code is generated from the code portions.