struct InformationCache
Declaration
struct InformationCache { /* full declaration omitted */ };
Description
Data structure to hold cached (LLVM-IR) information. All attributes are given an InformationCache object at creation time to avoid inspection of the IR by all of them individually. This default InformationCache will hold information required by 'default' attributes, thus the ones deduced when Attributor::identifyDefaultAbstractAttributes(..) is called. If custom abstract attributes, registered manually through Attributor::registerAA(...), need more information, especially if it is not reusable, it is advised to inherit from the InformationCache and cast the instance down in the abstract attributes.
Declared at: llvm/include/llvm/Transforms/IPO/Attributor.h:563
Method Overview
- public InformationCache(const llvm::Module & M, llvm::AnalysisGetter & AG)
- public llvm::AAResults * getAAResultsForFunction(const llvm::Function & F)
- public template <typename AP>typename AP::Result * getAnalysisResultForFunction(const llvm::Function & F)
- public const llvm::DataLayout & getDL()
- public llvm::MustBeExecutedContextExplorer & getMustBeExecutedContextExplorer()
- public llvm::InformationCache::OpcodeInstMapTy & getOpcodeInstMapForFunction(const llvm::Function & F)
- public llvm::InformationCache::InstructionVectorTy & getReadOrWriteInstsForFunction(const llvm::Function & F)
- public unsigned int getSccSize(const llvm::Function & F)
- public llvm::TargetLibraryInfo * getTargetLibraryInfoForFunction(const llvm::Function & F)
Methods
¶InformationCache(const llvm::Module& M,
llvm::AnalysisGetter& AG)
InformationCache(const llvm::Module& M,
llvm::AnalysisGetter& AG)
Declared at: llvm/include/llvm/Transforms/IPO/Attributor.h:564
Parameters
- const llvm::Module& M
- llvm::AnalysisGetter& AG
¶llvm::AAResults* getAAResultsForFunction(
const llvm::Function& F)
llvm::AAResults* getAAResultsForFunction(
const llvm::Function& F)
Description
Return AliasAnalysis Result for function \p F.
Declared at: llvm/include/llvm/Transforms/IPO/Attributor.h:607
Parameters
- const llvm::Function& F
¶template <typename AP>
typename AP::Result* getAnalysisResultForFunction(
const llvm::Function& F)
template <typename AP>
typename AP::Result* getAnalysisResultForFunction(
const llvm::Function& F)
Description
Return the analysis result from a pass \p AP for function \p F.
Declared at: llvm/include/llvm/Transforms/IPO/Attributor.h:613
Templates
- AP
Parameters
- const llvm::Function& F
¶const llvm::DataLayout& getDL()
const llvm::DataLayout& getDL()
Description
Return datalayout used in the module.
Declared at: llvm/include/llvm/Transforms/IPO/Attributor.h:625
¶llvm::MustBeExecutedContextExplorer&
getMustBeExecutedContextExplorer()
llvm::MustBeExecutedContextExplorer&
getMustBeExecutedContextExplorer()
Description
Return MustBeExecutedContextExplorer
Declared at: llvm/include/llvm/Transforms/IPO/Attributor.h:597
¶llvm::InformationCache::OpcodeInstMapTy&
getOpcodeInstMapForFunction(
const llvm::Function& F)
llvm::InformationCache::OpcodeInstMapTy&
getOpcodeInstMapForFunction(
const llvm::Function& F)
Description
Return the map that relates "interesting" opcodes with all instructions with that opcode in \p F.
Declared at: llvm/include/llvm/Transforms/IPO/Attributor.h:584
Parameters
- const llvm::Function& F
¶llvm::InformationCache::InstructionVectorTy&
getReadOrWriteInstsForFunction(
const llvm::Function& F)
llvm::InformationCache::InstructionVectorTy&
getReadOrWriteInstsForFunction(
const llvm::Function& F)
Description
Return the instructions in \p F that may read or write memory.
Declared at: llvm/include/llvm/Transforms/IPO/Attributor.h:592
Parameters
- const llvm::Function& F
¶unsigned int getSccSize(const llvm::Function& F)
unsigned int getSccSize(const llvm::Function& F)
Description
Return SCC size on call graph for function \p F.
Declared at: llvm/include/llvm/Transforms/IPO/Attributor.h:618
Parameters
- const llvm::Function& F
¶llvm::TargetLibraryInfo*
getTargetLibraryInfoForFunction(
const llvm::Function& F)
llvm::TargetLibraryInfo*
getTargetLibraryInfoForFunction(
const llvm::Function& F)
Description
Return TargetLibraryInfo for function \p F.
Declared at: llvm/include/llvm/Transforms/IPO/Attributor.h:602
Parameters
- const llvm::Function& F