LLVM: include/llvm/Analysis/LastRunTrackingAnalysis.h Source File (original) (raw)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30#ifndef LLVM_ANALYSIS_LASTRUNTRACKINGANALYSIS_H

31#define LLVM_ANALYSIS_LASTRUNTRACKINGANALYSIS_H

32

36#include

37

38namespace llvm {

39

40

41

42

43

44

45

46

48public:

51

53

54

55

56

57

58

59

60 template

62 return shouldSkipImpl(ID, &Opt);

63 }

65

66

67

68

69

70

71

72

73 template

76 return static_cast<const OptionT *>(Ptr)->isCompatibleWith(Opt);

77 });

78 }

82

83private:

87

89};

90

91

106

107}

108

109#endif

This file defines the DenseMap class.

This header defines various interfaces for pass management in LLVM.

A function/module analysis which provides an empty LastRunTrackingInfo.

Definition LastRunTrackingAnalysis.h:93

LastRunTrackingInfo run(Module &M, ModuleAnalysisManager &)

Definition LastRunTrackingAnalysis.h:102

LastRunTrackingInfo Result

Definition LastRunTrackingAnalysis.h:98

LastRunTrackingInfo run(Function &F, FunctionAnalysisManager &)

Definition LastRunTrackingAnalysis.h:99

This class is used to track the last run of a set of module/function passes.

Definition LastRunTrackingAnalysis.h:47

std::function< bool(OptionPtr)> CompatibilityCheckFn

Definition LastRunTrackingAnalysis.h:52

const void * OptionPtr

Definition LastRunTrackingAnalysis.h:50

bool shouldSkip(PassID ID) const

Definition LastRunTrackingAnalysis.h:64

void update(PassID ID, bool Changed, const OptionT &Opt)

Update the tracking info.

Definition LastRunTrackingAnalysis.h:74

bool shouldSkip(PassID ID, const OptionT &Opt) const

Check if we should skip a pass.

Definition LastRunTrackingAnalysis.h:61

const void * PassID

Definition LastRunTrackingAnalysis.h:49

void update(PassID ID, bool Changed)

Definition LastRunTrackingAnalysis.h:79

A Module instance is used to store all the information related to an LLVM module.

unsigned ID

LLVM IR allows to use arbitrary numbers as calling convention identifiers.

This is an optimization pass for GlobalISel generic memory operations.

AnalysisManager< Function > FunctionAnalysisManager

Convenience typedef for the Function analysis manager.

AnalysisManager< Module > ModuleAnalysisManager

Convenience typedef for the Module analysis manager.

A CRTP mix-in that provides informational APIs needed for analysis passes.

A special type used by analysis passes to provide an address that identifies that particular analysis...