LLVM: lib/Target/AMDGPU/AMDGPUAliasAnalysis.h Source File (original) (raw)

1

2

3

4

5

6

7

8

9

10

11

12#ifndef LLVM_LIB_TARGET_AMDGPU_AMDGPUALIASANALYSIS_H

13#define LLVM_LIB_TARGET_AMDGPU_AMDGPUALIASANALYSIS_H

14

17

18namespace llvm {

19

22

23

26

27public:

31

32

33

34

36 FunctionAnalysisManager::Invalidator &Inv) {

37 return false;

38 }

39

43 bool IgnoreLocals);

44};

45

46

59

60

62 std::unique_ptr Result;

63

64public:

65 static char ID;

66

68

71

76

78 Result.reset();

79 return false;

80 }

81

83};

84

85

86

88public:

89 static char ID;

90

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

95 }) {}

96};

97

98}

99

100#endif

Module.h This file contains the declarations for the Module class.

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

A simple AA result that uses TBAA metadata to answer queries.

Definition AMDGPUAliasAnalysis.h:24

AMDGPUAAResult(const DataLayout &DL)

Definition AMDGPUAliasAnalysis.h:28

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

AMDGPUAAResult(AMDGPUAAResult &&Arg)

Definition AMDGPUAliasAnalysis.h:29

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

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

Handle invalidation events from the new pass manager.

Definition AMDGPUAliasAnalysis.h:35

Legacy wrapper pass to provide the AMDGPUAAResult object.

Definition AMDGPUAliasAnalysis.h:61

static char ID

Definition AMDGPUAliasAnalysis.h:65

bool doFinalization(Module &M) override

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

Definition AMDGPUAliasAnalysis.h:77

AMDGPUAAResult & getResult()

Definition AMDGPUAliasAnalysis.h:69

const AMDGPUAAResult & getResult() const

Definition AMDGPUAliasAnalysis.h:70

void getAnalysisUsage(AnalysisUsage &AU) const override

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

bool doInitialization(Module &M) override

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

Definition AMDGPUAliasAnalysis.h:72

Analysis pass providing a never-invalidated alias analysis result.

Definition AMDGPUAliasAnalysis.h:47

AMDGPUAAResult Result

Definition AMDGPUAliasAnalysis.h:53

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

Definition AMDGPUAliasAnalysis.h:55

AMDGPUExternalAAWrapper()

Definition AMDGPUAliasAnalysis.h:91

static char ID

Definition AMDGPUAliasAnalysis.h:89

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.

A parsed version of the target data layout string in and methods for querying it.

Representation for a specific memory location.

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

Pass interface - Implemented by all 'passes'.

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

This is an optimization pass for GlobalISel generic memory operations.

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.

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()