Hello Ramana,
For your PGO list:
* please note that I've been working on PGO for switch code, and also for chains of if-statements with a common condition variable (with Tom de Vries)
* turning conditional execution off will not make a difference, your profile information will be exactly the same. Profile instrumentation happens very early in the pipe line (on purpose, PGO is more accurately "coverage guided optimization", not profiling in the prof/gprof/oprofile sense). And the parts of the CFG that have profile instrumentation cannot be if-converted anyway.
* you can use the script "analyze_brprob" in contrib/ to measure the accuracy of the branch predictors. The script needs some TLC, fixing it is on my TODO list but let me know if linaro folks are going to take care of that. You'll find that the predictors are heavily tuned towards the original Opteron, I'm not aware of much tuning for other architectures.
* The heuristics for profile-guided optimizations are also not tuned for arm. In the past we found that some params have more influence than others (the TRACER* parameters for example).
Hope this helps,
What do you mean with "Only conditionalise those parts that benefit"?
Ciao! Steven