hit_where.cc 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. #include "hit_where.h"
  2. const char * HitWhereString(HitWhere::where_t where) {
  3. switch(where)
  4. {
  5. case HitWhere::L1I: return "L1I";
  6. case HitWhere::L1_OWN: return "L1";
  7. case HitWhere::L2_OWN: return "L2";
  8. case HitWhere::L3_OWN: return "L3";
  9. case HitWhere::L4_OWN: return "L4";
  10. case HitWhere::L1_SIBLING: return "L1_S";
  11. case HitWhere::L2_SIBLING: return "L2_S";
  12. case HitWhere::L3_SIBLING: return "L3_S";
  13. case HitWhere::L4_SIBLING: return "L4_S";
  14. case HitWhere::MISS: return "miss";
  15. case HitWhere::NUCA_CACHE: return "nuca-cache";
  16. case HitWhere::DRAM_CACHE: return "dram-cache";
  17. case HitWhere::DRAM: return "dram";
  18. case HitWhere::DRAM_LOCAL: return "dram-local";
  19. case HitWhere::DRAM_REMOTE: return "dram-remote";
  20. case HitWhere::CACHE_REMOTE: return "cache-remote";
  21. case HitWhere::UNKNOWN: return "unknown";
  22. case HitWhere::PREDICATE_FALSE: return "predicate-false";
  23. case HitWhere::PREFETCH_NO_MAPPING: return "prefetch-no-mapping";
  24. default: return "????";
  25. }
  26. }
  27. bool HitWhereIsValid(HitWhere::where_t where)
  28. {
  29. const char * name = HitWhereString(where);
  30. if (name[0] == '?')
  31. return false;
  32. else
  33. return true;
  34. }