16#include "llvm/ADT/ImmutableMap.h"
32 return (CallSite == RHS.CallSite) && (
BlockID == RHS.BlockID);
35 bool operator<(
const CountKey &RHS)
const {
36 return std::tie(CallSite, BlockID) < std::tie(RHS.CallSite, RHS.BlockID);
39 void Profile(llvm::FoldingSetNodeID &ID)
const {
40 ID.AddPointer(CallSite);
41 ID.AddInteger(BlockID);
47typedef llvm::ImmutableMap<CountKey, unsigned>
CountMap;
50 return CountMap(
static_cast<CountMap::TreeTy*
>(
D));
54 return *
static_cast<CountMap::Factory*
>(F);
58 unsigned BlockID)
const {
60 CountMap::data_type*
T = M.lookup(CountKey(CallSite, BlockID));
65 F =
new CountMap::Factory(Alloc);
69 delete static_cast<CountMap::Factory*
>(F);
77 CountKey(CallSite, BlockID),
static CountMap GetMap(void *D)
Definition: