VapourSynth-llvmexpr
Loading...
Searching...
No Matches
analysis::PreservedAnalyses Class Reference

#include <llvmexpr/analysis/framework/PreservedAnalyses.hpp>

Public Member Functions

bool preservedAll () const
template<typename PassT>
void preserve ()
template<typename PassT>
bool isPreserved () const
bool isPreserved (const std::type_index &pass_type) const

Static Public Member Functions

static PreservedAnalyses all ()
static PreservedAnalyses none ()

Detailed Description

Definition at line 28 of file PreservedAnalyses.hpp.

Member Function Documentation

◆ all()

PreservedAnalyses analysis::PreservedAnalyses::all ( )
inlinestatic

Definition at line 30 of file PreservedAnalyses.hpp.

30{ return PreservedAnalyses(true); }

Referenced by analysis::DynamicArrayAllocOptPass::run(), and analysis::StaticArrayOptPass::run().

◆ isPreserved() [1/2]

template<typename PassT>
bool analysis::PreservedAnalyses::isPreserved ( ) const
inlinenodiscard

Definition at line 42 of file PreservedAnalyses.hpp.

42 {
43 if (preserved_all) {
44 return true;
45 }
46 return preserved_passes.contains(std::type_index(typeid(PassT)));
47 }

Referenced by analysis::AnalysisManager::invalidate().

◆ isPreserved() [2/2]

bool analysis::PreservedAnalyses::isPreserved ( const std::type_index & pass_type) const
inlinenodiscard

Definition at line 49 of file PreservedAnalyses.hpp.

49 {
50 if (preserved_all) {
51 return true;
52 }
53 return preserved_passes.contains(pass_type);
54 }

◆ none()

PreservedAnalyses analysis::PreservedAnalyses::none ( )
inlinestatic

Definition at line 32 of file PreservedAnalyses.hpp.

32{ return PreservedAnalyses(false); }

Referenced by analysis::DynamicArrayAllocOptPass::run(), and analysis::StaticArrayOptPass::run().

◆ preserve()

template<typename PassT>
void analysis::PreservedAnalyses::preserve ( )
inline

Definition at line 36 of file PreservedAnalyses.hpp.

36 {
37 if (!preserved_all) {
38 preserved_passes.insert(std::type_index(typeid(PassT)));
39 }
40 }

◆ preservedAll()

bool analysis::PreservedAnalyses::preservedAll ( ) const
inlinenodiscard

Definition at line 34 of file PreservedAnalyses.hpp.

34{ return preserved_all; }

Referenced by analysis::AnalysisManager::invalidate().


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