LLVM: lib/IR/MetadataImpl.h Source File (original) (raw)
Go to the documentation of this file.
1
2
3
4
5
6
7
8
9
10
11
12
13#ifndef LLVM_IR_METADATAIMPL_H
14#define LLVM_IR_METADATAIMPL_H
15
18
19namespace llvm {
20
21template <class T, class InfoT>
23 const typename InfoT::KeyTy &Key) {
24 auto I = Store.find_as(Key);
25 return I == Store.end() ? nullptr : *I;
26}
27
33 N->storeDistinctInContext();
34 break;
36 break;
37 }
38 return N;
39}
40
41template <class T, class StoreT>
45 Store.insert(N);
46 break;
48 N->storeDistinctInContext();
49 break;
51 break;
52 }
53 return N;
54}
55
56}
57
58#endif
This file defines the DenseSet and SmallDenseSet classes.
Implements a dense probed hash-table based set.
static T * storeImpl(T *N, StorageType Storage, StoreT &Store)
Definition MetadataImpl.h:42
#define llvm_unreachable(msg)
Marks that the current location is not supposed to be reachable.
This is an optimization pass for GlobalISel generic memory operations.
static T * getUniqued(DenseSet< T *, InfoT > &Store, const typename InfoT::KeyTy &Key)
Definition MetadataImpl.h:22
LLVM_ATTRIBUTE_VISIBILITY_DEFAULT AnalysisKey InnerAnalysisManagerProxy< AnalysisManagerT, IRUnitT, ExtraArgTs... >::Key