1. PGO fails if the app being profiled is run multi-threaded (GCC has always had this issue but Visual C++ 2005, which I was using before, worked ok).
The errors occur in the final link step and look like this:
Code: Select all
Merging ..\win64\pgo_build\arasanx!1.pgc
'Scoring::mateScore': Arc 2 --> 4 has negative count (-1068)
Expectation failed: f line 4254
'Scoring::mateScore': Arc 2 --> 4 has negative count (-1068)
Expectation failed: f line 4233
'Board::undoMove': Arc 1 --> 81 has negative count (-167044)
Expectation failed: f line 4254
'Board::doMove': Arc 54 --> 55 has negative count (-145616)
Expectation failed: f line 4254
Expectation failed: f line 4224
'Board::doMove': Arc 54 --> 55 has negative count (-145616)
Expectation failed: f line 4233
'Board::doMove': Arc 55 --> 104 has negative count (-145616)
Expectation failed: f line 4254
'Board::doMove': Arc 55 --> 104 has negative count (-145616)
Expectation failed: f line 4233
'Scoring::calcEndgame': Arc 1 --> 14 has negative count (-658)
Expectation failed: f line 4254
Code: Select all
32 of 1824 ( 1.75%) profiled functions will be compiled for speed, and the rest of the functions will be compiled for size
--Jon