- Add is{Hot|Cold}CallSite methods
- Fix a bug in isHotBB where it was looking for MD_prof on a return instruction
- Use MD_prof data only if sample profiling was used to collect profiles.
- Add an unit test to ProfileSummaryInfo
Details
Diff Detail
Event Timeline
lib/Analysis/ProfileSummaryInfo.cpp | ||
---|---|---|
139 | yes, that part was never exercised before. | |
203 | I discussed this with Dehao and he said it is possible that block's hotness got messed up in the upward direction (higher than what it should be) in sample profiling. If there is annotation, it is better to treat it as the ground truth. |
lib/Analysis/ProfileSummaryInfo.cpp | ||
---|---|---|
203 | This is not good for instrumentation based PGO.
In fact, we should probably never need to check weight data for instPGO. |
lib/Analysis/ProfileSummaryInfo.cpp | ||
---|---|---|
203 | Agreed that we should check which mode we're in, but it is not a problem now because the annotations happen only in Sample PGO. |
lib/Analysis/ProfileSummaryInfo.cpp | ||
---|---|---|
203 | ok. A comment there is good for clarification. |
Check MD_prof metadata on calls and branches to determine hotness only when it is sample profile and fix the unittest.
lib/Analysis/ProfileSummaryInfo.cpp | ||
---|---|---|
203 | I have added the check for profile type instead. |
is this a separate fix?