class TargetIRAnalysis

Declaration

class TargetIRAnalysis : public AnalysisInfoMixin { /* full declaration omitted */ };

Description

Analysis pass providing the \c TargetTransformInfo. The core idea of the TargetIRAnalysis is to expose an interface through which LLVM targets can analyze and provide information about the middle end's target-independent IR. This supports use cases such as target-aware cost modeling of IR constructs. This is a function analysis because much of the cost modeling for targets is done in a subtarget specific way and LLVM supports compiling different functions targeting different subtargets in order to support runtime dispatch according to the observed subtarget.

Declared at: llvm/include/llvm/Analysis/TargetTransformInfo.h:1901

Inherits from: AnalysisInfoMixin

Method Overview

Methods

TargetIRAnalysis()

Description

Default construct a target IR analysis. This will use the module's datalayout to construct a baseline conservative TTI result.

Declared at: llvm/include/llvm/Analysis/TargetTransformInfo.h:1909

TargetIRAnalysis(
    std::function<Result(const Function&)>
        TTICallback)

Description

Construct an IR analysis pass around a target-provide callback. The callback will be called with a particular function for which the TTI is needed and must return a TTI object for that function.

Declared at: llvm/include/llvm/Analysis/TargetTransformInfo.h:1915

Parameters

std::function<Result(const Function&)> TTICallback

TargetIRAnalysis(
    const llvm::TargetIRAnalysis& Arg)

Declared at: llvm/include/llvm/Analysis/TargetTransformInfo.h:1918

Parameters

const llvm::TargetIRAnalysis& Arg

TargetIRAnalysis(llvm::TargetIRAnalysis&& Arg)

Declared at: llvm/include/llvm/Analysis/TargetTransformInfo.h:1920

Parameters

llvm::TargetIRAnalysis&& Arg

llvm::TargetIRAnalysis::Result run(
    const llvm::Function& F,
    llvm::FunctionAnalysisManager&)

Declared at: llvm/include/llvm/Analysis/TargetTransformInfo.h:1931

Parameters

const llvm::Function& F
llvm::FunctionAnalysisManager&