I found something strange yesterday.
From reading (a lot of) documentation, I had concluded that enabling 'Whole Program Optimization' corresponded to adding '/Qipo' to the compiler parameters.
For my application, I'm always getting bad results for 'Whole Program Optimization' (slight performance drop), even though - given the fact that I often call functions in another object file from within loops - I would have expected an improvement.
Yesterday I tried what would happen if I add /Qipo to the compiler parameters, INSTEAD OF enabling 'Whole Program Optimization'.
Result: Code compiled with /Qipo and WITHOUT Whole Program Optimization is about 5% faster, and the binary that comes out is smaller, than with Whole Program Optimization. With WPO enabled it doesn't matter whether I add /Qipo or not.
/Qipo improves the performance of my code by about 4%, WPO degrades it with about 1%.
Is this a bug?
Compiler version 10.1.013 IA-32.