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