Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (3)
🚧 Files skipped from review as they are similar to previous changes (1)
📝 WalkthroughWalkthroughRefactored taken-target computation in BTB prediction: added Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Possibly related PRs
Suggested labels
Suggested reviewers
Poem
🚥 Pre-merge checks | ✅ 2 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Pull request overview
Aligns path-history (PHR) PC/target selection in FullBTBPrediction::getPHistInfo() with the main fetch-target selection logic in getTarget() to avoid using stale BTB targets for indirect control flow.
Changes:
- Updates
getPHistInfo()so unconditional indirect branches can source their target fromindirectTargets(ITTAGE) orreturnTarget(RAS), matchinggetTarget(). - Fixes an incorrect comment describing the unconditional-branch PC.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
bf1efb6 to
382ed1b
Compare
- Refactor FullBTBPrediction to share taken-target resolution between getTarget() and getPHistInfo() - keeping path history consistent with the final predicted target for indirect and return branches - Add TAGE and MGSC tests for indirect and return target overrides in path-history updates. Change-Id: I7c111611d19a759b34199c9aa6ab823325ac7578
🚀 Coremark Smoke Test Results
✅ Difftest smoke test passed! |
|
🚀 Performance test triggered: gcc12-spec06-0.8c |
|
Thank you very much for your contribution and your PR. This is indeed a serious bug in the PHR update of the model, which may affect the update performance of TAGE, etc. I'm curious how you discovered this bug, whether through testing or code reading. Currently, it seems that XiangShan RTL does not have this bug, and we are evaluating the performance impact of this PR. |
|
[Generated by GEM5 Performance Robot] Ideal BTB PerformanceOverall Score
|
gcc12-spec06-0.8c performance analysisCompared against the xs-dev Ideal BTB baseline used by the performance robot:
Overall
Per-benchmark score / condMPKI
Takeaway
|
Add a completed ExecPlan documenting the PHR target-alignment investigation for PR #814. The example records the RTL path-history findings, the consistency check against gem5, and the supporting gcc12-spec06-0.8c performance analysis. Change-Id: I545fb4d7a4eab68c2e339e2c4da514b62c50dc34
getPHistInfowithgetTargetChange-Id: I3cf46388e19780eccbaa80656db2f74652b97677
Summary by CodeRabbit
Bug Fixes
Tests