LLVM  14.0.0git
Public Types | Public Member Functions | Public Attributes | List of all members
AMDGPUInformationCache Class Reference
Inheritance diagram for AMDGPUInformationCache:
Inheritance graph
[legend]
Collaboration diagram for AMDGPUInformationCache:
Collaboration graph
[legend]

Public Types

enum  ConstantStatus { DS_GLOBAL = 1 << 0, ADDR_SPACE_CAST = 1 << 1 }
 
- Public Types inherited from llvm::InformationCache
using InstructionVectorTy = SmallVector< Instruction *, 8 >
 A vector type to hold instructions. More...
 
using OpcodeInstMapTy = DenseMap< unsigned, InstructionVectorTy * >
 A map type from opcodes to instructions with this opcode. More...
 

Public Member Functions

 AMDGPUInformationCache (const Module &M, AnalysisGetter &AG, BumpPtrAllocator &Allocator, SetVector< Function * > *CGSCC, TargetMachine &TM)
 
bool hasApertureRegs (Function &F)
 Check if the subtarget has aperture regs. More...
 
bool needsQueuePtr (const Constant *C, Function &Fn)
 Returns true if Fn needs a queue ptr attribute because of C. More...
 
- Public Member Functions inherited from llvm::InformationCache
 InformationCache (const Module &M, AnalysisGetter &AG, BumpPtrAllocator &Allocator, SetVector< Function * > *CGSCC)
 
 ~InformationCache ()
 
void initializeModuleSlice (SetVector< Function * > &SCC)
 Initialize the ModuleSlice member based on SCC. More...
 
OpcodeInstMapTygetOpcodeInstMapForFunction (const Function &F)
 Return the map that relates "interesting" opcodes with all instructions with that opcode in F. More...
 
InstructionVectorTygetReadOrWriteInstsForFunction (const Function &F)
 Return the instructions in F that may read or write memory. More...
 
MustBeExecutedContextExplorergetMustBeExecutedContextExplorer ()
 Return MustBeExecutedContextExplorer. More...
 
TargetLibraryInfogetTargetLibraryInfoForFunction (const Function &F)
 Return TargetLibraryInfo for function F. More...
 
AAResultsgetAAResultsForFunction (const Function &F)
 Return AliasAnalysis Result for function F. More...
 
bool isInvolvedInMustTailCall (const Argument &Arg)
 Return true if Arg is involved in a must-tail call, thus the argument of the caller or callee. More...
 
template<typename AP >
AP::Result * getAnalysisResultForFunction (const Function &F)
 Return the analysis result from a pass AP for function F. More...
 
unsigned getSccSize (const Function &F)
 Return SCC size on call graph for function F or 0 if unknown. More...
 
const DataLayoutgetDL ()
 Return datalayout used in the module. More...
 
const RetainedKnowledgeMapgetKnowledgeMap () const
 Return the map conaining all the knowledge we have from llvm.assumes. More...
 
bool getPotentiallyReachable (const Instruction &From, const Instruction &To)
 Return if To is potentially reachable form From or not If the same query was answered, return cached result. More...
 
bool isInModuleSlice (const Function &F)
 Check whether F is part of module slice. More...
 
bool stackIsAccessibleByOtherThreads ()
 Return true if the stack (llvm::Alloca) can be accessed by other threads. More...
 
bool targetIsGPU ()
 Return true if the target is a GPU. More...
 

Public Attributes

TargetMachineTM
 
- Public Attributes inherited from llvm::InformationCache
SmallPtrSet< Function *, 8 > ModuleSlice
 The slice of the module we are allowed to look at. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from llvm::InformationCache
template<typename CBTy >
static void foreachUse (Function &F, CBTy CB, bool LookThroughConstantExprUses=true)
 Apply CB to all uses of F. More...
 

Detailed Description

Definition at line 115 of file AMDGPUAttributor.cpp.

Member Enumeration Documentation

◆ ConstantStatus

Enumerator
DS_GLOBAL 
ADDR_SPACE_CAST 

Definition at line 123 of file AMDGPUAttributor.cpp.

Constructor & Destructor Documentation

◆ AMDGPUInformationCache()

AMDGPUInformationCache::AMDGPUInformationCache ( const Module M,
AnalysisGetter AG,
BumpPtrAllocator Allocator,
SetVector< Function * > *  CGSCC,
TargetMachine TM 
)
inline

Definition at line 117 of file AMDGPUAttributor.cpp.

References M.

Member Function Documentation

◆ hasApertureRegs()

bool AMDGPUInformationCache::hasApertureRegs ( Function F)
inline

Check if the subtarget has aperture regs.

Definition at line 126 of file AMDGPUAttributor.cpp.

References F, llvm::ARM_MB::ST, and TM.

◆ needsQueuePtr()

bool AMDGPUInformationCache::needsQueuePtr ( const Constant C,
Function Fn 
)
inline

Returns true if Fn needs a queue ptr attribute because of C.

Definition at line 167 of file AMDGPUAttributor.cpp.

References llvm::Function::getCallingConv(), and llvm::AMDGPU::isEntryFunctionCC().

Member Data Documentation

◆ TM

TargetMachine& AMDGPUInformationCache::TM

Definition at line 121 of file AMDGPUAttributor.cpp.


The documentation for this class was generated from the following file: