LLVM API Documentation

Public Member Functions
llvm::detail::AnalysisResultConcept< IRUnitT > Struct Template Reference

Abstract concept of an analysis result. More...

#include <PassManager.h>

Inheritance diagram for llvm::detail::AnalysisResultConcept< IRUnitT >:
Inheritance graph
[legend]

List of all members.

Public Member Functions

virtual ~AnalysisResultConcept ()
virtual bool invalidate (IRUnitT IR, const PreservedAnalyses &PA)=0
 Method to try and mark a result as invalid.

Detailed Description

template<typename IRUnitT>
struct llvm::detail::AnalysisResultConcept< IRUnitT >

Abstract concept of an analysis result.

This concept is parameterized over the IR unit that this result pertains to.

Definition at line 261 of file IR/PassManager.h.


Constructor & Destructor Documentation

template<typename IRUnitT >
virtual llvm::detail::AnalysisResultConcept< IRUnitT >::~AnalysisResultConcept ( ) [inline, virtual]

Definition at line 262 of file IR/PassManager.h.


Member Function Documentation

template<typename IRUnitT >
virtual bool llvm::detail::AnalysisResultConcept< IRUnitT >::invalidate ( IRUnitT  IR,
const PreservedAnalyses PA 
) [pure virtual]

Method to try and mark a result as invalid.

When the outer analysis manager detects a change in some underlying unit of the IR, it will call this method on all of the results cached.

This method also receives a set of preserved analyses which can be used to avoid invalidation because the pass which changed the underlying IR took care to update or preserve the analysis result in some way.

Returns:
true if the result is indeed invalid (the default).

Implemented in llvm::detail::AnalysisResultModel< IRUnitT, PassT, ResultT, true >, and llvm::detail::AnalysisResultModel< IRUnitT, PassT, ResultT, false >.


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