Major update to branch predictor
Created by: rosethompson
Significant performance improvements to branch predictor. Solved several bugs with btb's valid bit and ghr corruption on branch class misprediction.
- Optomized gshare.
- BTB cleanup.
- Found minor bug in gshare.
- Updated gitflow.
- More btb cleanup.
- Added logic to forward btb prediction results.
- Fixed subtle bug in btb.
- Cleaned up branch predictor.
- More branch predictor improvements.
- Improved RAS.
- Improved RAS again.
- RAS is now compliant with our header and documentation guide.
- Fixed typos.
- Intermediate commit. Passes regression tests, but RAS is not correct.
- Modified the RAS to correctly repair itself.
- Improved no class prediction mode.
- Fixed compressed branch class decode.
- Fixed another bug with the compressed instruction class decode.
- Changed the performance counters to track different data. Now rather than tracking jump(r) we track jump(r) and taken branches.
- Very hacky. But I think gshare is now correct with respect to repair on instruction class miss prediction.
- Found issue with branch predictor.
- Removed pessimistic x propagation issue for wally32priv test in the branch predictor.
- Clarified gshare bp.
- Possible fix for speculative gshare.
- Possible workign instruction class prediction repair.
- Found an issue where the btb was not forwarding the valid bit!
- Added another performance counter to track overall branch miss-predictions.
- Fixed bug with the new csr.
- Fixed another bug with the speculative gshare with instruction class prediction.
- Fixed bug with the btb's valid bit not beind held on a stall.
- Updated testbench for branch logger.
- Fixed bug in the branch logger.
- Fixed another bug with the branch logger.
- Fixed typo in testbench branch logger.
- Updated benchmark parsing script.
- Found bug in gshare.
- Gshare cleanup.
- gshare cleanup.