bi_mode.cc (12180:72159e1f6701) | bi_mode.cc (13626:d6a6358aa6db) |
---|---|
1/* 2 * Copyright (c) 2014 The Regents of The University of Michigan 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions are 7 * met: redistributions of source code must retain the above copyright 8 * notice, this list of conditions and the following disclaimer; --- 147 unchanged lines hidden (view full) --- 156/* Only the selected direction predictor will be updated with the final 157 * outcome; the status of the unselected one will not be altered. The choice 158 * predictor is always updated with the branch outcome, except when the 159 * choice is opposite to the branch outcome but the selected counter of 160 * the direction predictors makes a correct final prediction. 161 */ 162void 163BiModeBP::update(ThreadID tid, Addr branchAddr, bool taken, void *bpHistory, | 1/* 2 * Copyright (c) 2014 The Regents of The University of Michigan 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions are 7 * met: redistributions of source code must retain the above copyright 8 * notice, this list of conditions and the following disclaimer; --- 147 unchanged lines hidden (view full) --- 156/* Only the selected direction predictor will be updated with the final 157 * outcome; the status of the unselected one will not be altered. The choice 158 * predictor is always updated with the branch outcome, except when the 159 * choice is opposite to the branch outcome but the selected counter of 160 * the direction predictors makes a correct final prediction. 161 */ 162void 163BiModeBP::update(ThreadID tid, Addr branchAddr, bool taken, void *bpHistory, |
164 bool squashed) | 164 bool squashed, const StaticInstPtr & inst, Addr corrTarget) |
165{ 166 assert(bpHistory); 167 168 BPHistory *history = static_cast<BPHistory*>(bpHistory); 169 170 // We do not update the counters speculatively on a squash. 171 // We just restore the global history register. 172 if (squashed) { --- 78 unchanged lines hidden --- | 165{ 166 assert(bpHistory); 167 168 BPHistory *history = static_cast<BPHistory*>(bpHistory); 169 170 // We do not update the counters speculatively on a squash. 171 // We just restore the global history register. 172 if (squashed) { --- 78 unchanged lines hidden --- |