Deleted Added
sdiff udiff text old ( 13443:a111cb197897 ) new ( 13444:26f81be73cb7 )
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.

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

349 * iteration count.
350 * @param pc The unshifted branch PC.
351 * @param taken The predicted branch outcome.
352 * @param bi Pointer to information on the prediction
353 * recorded at prediction time.
354 */
355 void specLoopUpdate(Addr pc, bool taken, BranchInfo* bi);
356
357 const unsigned logRatioBiModalHystEntries;
358 const unsigned logSizeLoopPred;
359 const unsigned nHistoryTables;
360 const unsigned tagTableCounterBits;
361 const unsigned tagTableUBits;
362 const unsigned histBufferSize;
363 const unsigned minHist;
364 const unsigned maxHist;
365 const unsigned pathHistBits;
366 const unsigned loopTableAgeBits;
367 const unsigned loopTableConfidenceBits;
368 const unsigned loopTableTagBits;
369 const unsigned loopTableIterBits;
370 const unsigned logLoopTableAssoc;
371 const uint8_t confidenceThreshold;
372 const uint16_t loopTagMask;
373 const uint16_t loopNumIterMask;
374
375 const std::vector<unsigned> tagTableTagWidths;
376 const std::vector<int> logTagTableSizes;
377
378 std::vector<bool> btablePrediction;
379 std::vector<bool> btableHysteresis;
380 TageEntry **gtable;
381 LoopEntry *ltable;
382
383 // Keep per-thread histories to
384 // support SMT.
385 struct ThreadHistory {

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

400
401 // Speculative folded histories.
402 FoldedHistory *computeIndices;
403 FoldedHistory *computeTags[2];
404 };
405
406 std::vector<ThreadHistory> threadHistory;
407
408 int *histLengths;
409 int *tableIndices;
410 int *tableTags;
411
412 int8_t loopUseCounter;
413 int8_t useAltPredForNewlyAllocated;
414 uint64_t tCounter;
415 uint64_t logUResetPeriod;
416 unsigned useAltOnNaBits;
417 unsigned withLoopBits;
418};
419
420#endif // __CPU_PRED_LTAGE