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

Methods

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)

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)

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

Description

Return datalayout used in the module.

Declared at: llvm/include/llvm/Transforms/IPO/Attributor.h:625

llvm::MustBeExecutedContextExplorer&
getMustBeExecutedContextExplorer()

Description

Return MustBeExecutedContextExplorer

Declared at: llvm/include/llvm/Transforms/IPO/Attributor.h:597

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)

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)

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)

Description

Return TargetLibraryInfo for function \p F.

Declared at: llvm/include/llvm/Transforms/IPO/Attributor.h:602

Parameters

const llvm::Function& F