Accurate and Practical Profile Driven Compilation Using the Profile Buffer

One the goals of this paper was to present a practical method to
using profiling in commercial software development.   I will agree
that the results of this paper seemed rather encouraging in the
performance results.  One of the goals is clearly to start having
profile information stored inside the processor during runtime either
as an option or all the time.  Assuming that has been implemented
there are still a number of practical question that would need to be
answered for me before I feel that such measures would be used.  My
first question relates to there being an number of different
architectures even for the same processor lines so there are bound to
be different specifications on the profile buffers in different
machines.  I see this really as only a problem with the idea that
beta and alpha testers being able to provide useful profile
information.  Would it be possible to use the techniques of selective
indexing or compiler indexing for different processors or could you
only compile for one processor at a time.  I would also like this
paper to have compared its performance results with some other
optimizations.  For instance using compiler indexing what would one
get as a performance increase compared to a commercial optimizer.  I
would also like to have some feeling for how much compile time would
increase, I'm guessing it is small but I'd like to see it.

Lastly this is an sort of unrelated thought that is interesting to
me.  How are compiler designers going to decide what to optimize for.
There are so many different processor variants particularly in the
x86 family and what is the ideal compilation.  Will we compile for
the fastest processor, the most common, or as systems become even
more complicated will compilation become so specialized for each
architectures and model nuances that there will be multiple versions
of the compilations?  Just wondering how this sort of question is
best answered, I know the easiest answer will usually be chosen.