Deleted Added
sdiff udiff text old ( 13454:19a5b4fb1f1f ) new ( 13455:56e25a5f9603 )
full compact
1/*
2 * Copyright (c) 2014 The University of Wisconsin
3 *
4 * Copyright (c) 2006 INRIA (Institut National de Recherche en
5 * Informatique et en Automatique / French National Research Institute
6 * for Computer Science and Applied Mathematics)
7 *
8 * All rights reserved.

--- 214 unchanged lines hidden (view full) ---

223
224 bool pred_taken = tagePredict(tid, branch_pc, cond_branch, bi);
225
226 if (cond_branch) {
227 bi->loopPred = getLoop(branch_pc, bi); // loop prediction
228
229 if ((loopUseCounter >= 0) && bi->loopPredValid) {
230 pred_taken = bi->loopPred;
231 }
232 DPRINTF(LTage, "Predict for %lx: taken?:%d, loopTaken?:%d, "
233 "loopValid?:%d, loopUseCounter:%d, tagePred:%d, altPred:%d\n",
234 branch_pc, pred_taken, bi->loopPred, bi->loopPredValid,
235 loopUseCounter, bi->tagePred, bi->altTaken);
236 }
237
238 specLoopUpdate(branch_pc, pred_taken, bi);

--- 44 unchanged lines hidden (view full) ---

283 int idx = bi->loopIndex + bi->loopHit;
284 ltable[idx].currentIterSpec = bi->currentIter;
285 }
286 }
287
288 TAGE::squash(tid, bp_history);
289}
290
291LTAGE*
292LTAGEParams::create()
293{
294 return new LTAGE(this);
295}