It is possible that multiple indirect call targets have been promoted for a single callsite from the profiled binary. Current implementation repeats promotion for all these targets as far as the callsite itself is hot (the callsite is assumed to be hot if any one of these targets was "hot" during the profiling). However, even when one of the ICPed target is hot other targets may not, and we should not repeat promotion for "cold" targets.
Details
Details
Diff Detail
Diff Detail
- Repository
- rG LLVM Github Monorepo
- Build Status
Buildable 29755 Build 29754: arc lint + arc unit
Event Timeline
Comment Actions
Thanks! The change makes a lot sense to me.
llvm/test/Transforms/SampleProfile/cold-indirect-call.ll | ||
---|---|---|
2 | Could you add the check for new pass manager too? |
Could you add the check for new pass manager too?