LLVM: lib/Target/NVPTX/NVPTXAliasAnalysis.h Source File (original) (raw)

1

2

3

4

5

6

7

8

9

10

11

12#ifndef LLVM_LIB_TARGET_NVPTX_NVPTXALIASANALYSIS_H

13#define LLVM_LIB_TARGET_NVPTX_NVPTXALIASANALYSIS_H

14

16

17namespace llvm {

18

20

22public:

25

26

27

28

30 FunctionAnalysisManager::Invalidator &Inv) {

31 return false;

32 }

33

36

38 bool IgnoreLocals);

39

41

45};

46

47

60

61

63 std::unique_ptr Result;

64

65public:

66 static char ID;

67

69

72

77

79 Result.reset();

80 return false;

81 }

82

84};

85

86

87

88

90public:

91 static char ID;

92

96 if (auto *WrapperPass =

98 AAR.addAAResult(WrapperPass->getResult());

99 },

100 true) {}

101

103 return "NVPTX Address space based Alias Analysis Wrapper";

104 }

105};

106

109

110}

111

112#endif

This class stores info we want to provide to or retain within an alias query.

The possible results of an alias query.

A container for analyses that lazily runs them and caches their results.

Represent the analysis usage information of a pass.

Base class for all callable instructions (InvokeInst and CallInst) Holds everything related to callin...

static MemoryEffectsBase unknown()

Representation for a specific memory location.

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

NVPTXAAResult(NVPTXAAResult &&Arg)

Definition NVPTXAliasAnalysis.h:24

AliasResult alias(const MemoryLocation &LocA, const MemoryLocation &LocB, AAQueryInfo &AAQI, const Instruction *CtxI=nullptr)

MemoryEffects getMemoryEffects(const Function *F)

Definition NVPTXAliasAnalysis.h:42

MemoryEffects getMemoryEffects(const CallBase *Call, AAQueryInfo &AAQI)

bool invalidate(Function &, const PreservedAnalyses &, FunctionAnalysisManager::Invalidator &Inv)

Handle invalidation events from the new pass manager.

Definition NVPTXAliasAnalysis.h:29

ModRefInfo getModRefInfoMask(const MemoryLocation &Loc, AAQueryInfo &AAQI, bool IgnoreLocals)

Legacy wrapper pass to provide the NVPTXAAResult object.

Definition NVPTXAliasAnalysis.h:62

NVPTXAAResult & getResult()

Definition NVPTXAliasAnalysis.h:70

const NVPTXAAResult & getResult() const

Definition NVPTXAliasAnalysis.h:71

bool doInitialization(Module &M) override

doInitialization - Virtual method overridden by subclasses to do any necessary initialization before ...

Definition NVPTXAliasAnalysis.h:73

static char ID

Definition NVPTXAliasAnalysis.h:66

void getAnalysisUsage(AnalysisUsage &AU) const override

getAnalysisUsage - This function should be overriden by passes that need analysis information to do t...

bool doFinalization(Module &M) override

doFinalization - Virtual method overriden by subclasses to do any necessary clean up after all passes...

Definition NVPTXAliasAnalysis.h:78

Analysis pass providing a never-invalidated alias analysis result.

Definition NVPTXAliasAnalysis.h:48

NVPTXAAResult run(Function &F, AnalysisManager< Function > &AM)

Definition NVPTXAliasAnalysis.h:56

NVPTXAAResult Result

Definition NVPTXAliasAnalysis.h:54

NVPTXExternalAAWrapper()

Definition NVPTXAliasAnalysis.h:93

static char ID

Definition NVPTXAliasAnalysis.h:91

StringRef getPassName() const override

getPassName - Return a nice clean name for a pass.

Definition NVPTXAliasAnalysis.h:102

Pass interface - Implemented by all 'passes'.

A set of analyses that are preserved following a run of a transformation pass.

StringRef - Represent a constant reference to a string, i.e.

This is an optimization pass for GlobalISel generic memory operations.

ImmutablePass * createNVPTXExternalAAWrapperPass()

MemoryEffectsBase< IRMemLocation > MemoryEffects

Summary of how a function affects memory in the program.

ModRefInfo

Flags indicating whether a memory access modifies or references memory.

OutputIt move(R &&Range, OutputIt Out)

Provide wrappers to std::move which take ranges instead of having to pass begin/end explicitly.

ImmutablePass * createNVPTXAAWrapperPass()

Implement std::hash so that hash_code can be used in STL containers.

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...

LLVM_ABI ExternalAAWrapperPass()