LLVM 19.0.0git
Public Member Functions | List of all members
llvm::VPTypeAnalysis Class Reference

An analysis for type-inference for VPValues. More...

#include "Transforms/Vectorize/VPlanAnalysis.h"

Public Member Functions

 VPTypeAnalysis (Type *CanonicalIVTy, LLVMContext &Ctx)
 
TypeinferScalarType (const VPValue *V)
 Infer the type of V. Returns the scalar type of V.
 
LLVMContextgetContext ()
 Return the LLVMContext used by the analysis.
 

Detailed Description

An analysis for type-inference for VPValues.

It infers the scalar type for a given VPValue by bottom-up traversing through defining recipes until root nodes with known types are reached (e.g. live-ins or load recipes). The types are then propagated top down through operations. Note that the analysis caches the inferred types. A new analysis object must be constructed once a VPlan has been modified in a way that invalidates any of the previously inferred types.

Definition at line 36 of file VPlanAnalysis.h.

Constructor & Destructor Documentation

◆ VPTypeAnalysis()

llvm::VPTypeAnalysis::VPTypeAnalysis ( Type CanonicalIVTy,
LLVMContext Ctx 
)
inline

Definition at line 54 of file VPlanAnalysis.h.

Member Function Documentation

◆ getContext()

LLVMContext & llvm::VPTypeAnalysis::getContext ( )
inline

Return the LLVMContext used by the analysis.

Definition at line 61 of file VPlanAnalysis.h.

Referenced by simplifyRecipe().

◆ inferScalarType()

Type * VPTypeAnalysis::inferScalarType ( const VPValue V)

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