Jlm
Public Member Functions | Public Attributes | List of all members
jlm::llvm::aa::PointerObjectConstraintSet::WorklistStatistics Struct Reference

#include <PointerObjectSet.hpp>

Public Member Functions

 WorklistStatistics (WorklistSolverPolicy policy)
 

Public Attributes

WorklistSolverPolicy Policy
 
size_t NumWorkItemsPopped {}
 
size_t NumWorkItemNewPointees {}
 
std::optional< size_t > NumTopologicalWorklistSweeps
 
std::optional< size_t > NumOnlineCyclesDetected
 
std::optional< size_t > NumOnlineCycleUnifications
 
std::optional< size_t > NumHybridCycleUnifications
 
std::optional< size_t > NumLazyCyclesDetectionAttempts
 
std::optional< size_t > NumLazyCyclesDetected
 
std::optional< size_t > NumLazyCycleUnifications
 
std::optional< size_t > NumPipExplicitPointeesRemoved
 

Detailed Description

Struct holding statistics from solving the constraint set using the worklist solver.

Definition at line 896 of file PointerObjectSet.hpp.

Constructor & Destructor Documentation

◆ WorklistStatistics()

jlm::llvm::aa::PointerObjectConstraintSet::WorklistStatistics::WorklistStatistics ( WorklistSolverPolicy  policy)
inlineexplicit

Definition at line 898 of file PointerObjectSet.hpp.

Member Data Documentation

◆ NumHybridCycleUnifications

std::optional<size_t> jlm::llvm::aa::PointerObjectConstraintSet::WorklistStatistics::NumHybridCycleUnifications

The number of unifications performed due to hybrid cycle detection.

Definition at line 939 of file PointerObjectSet.hpp.

◆ NumLazyCyclesDetected

std::optional<size_t> jlm::llvm::aa::PointerObjectConstraintSet::WorklistStatistics::NumLazyCyclesDetected

Definition at line 948 of file PointerObjectSet.hpp.

◆ NumLazyCyclesDetectionAttempts

std::optional<size_t> jlm::llvm::aa::PointerObjectConstraintSet::WorklistStatistics::NumLazyCyclesDetectionAttempts

The number of DFSs started in attempts at detecting cycles, the number of cycles detected by lazy cycle detection, and number of unifications made to eliminate the cycles, if Lazy Cycle Detection is enabled.

Definition at line 947 of file PointerObjectSet.hpp.

◆ NumLazyCycleUnifications

std::optional<size_t> jlm::llvm::aa::PointerObjectConstraintSet::WorklistStatistics::NumLazyCycleUnifications

Definition at line 949 of file PointerObjectSet.hpp.

◆ NumOnlineCyclesDetected

std::optional<size_t> jlm::llvm::aa::PointerObjectConstraintSet::WorklistStatistics::NumOnlineCyclesDetected

The number of cycles detected by online cycle detection, and number of unifications made to eliminate the cycles, if Online Cycle Detection is enabled.

Definition at line 929 of file PointerObjectSet.hpp.

◆ NumOnlineCycleUnifications

std::optional<size_t> jlm::llvm::aa::PointerObjectConstraintSet::WorklistStatistics::NumOnlineCycleUnifications

The number of unifications made by online cycle detection, if enabled.

Definition at line 934 of file PointerObjectSet.hpp.

◆ NumPipExplicitPointeesRemoved

std::optional<size_t> jlm::llvm::aa::PointerObjectConstraintSet::WorklistStatistics::NumPipExplicitPointeesRemoved

When Prefer Implicit Pointees is enabled, and a node's pointees can be tracked fully implicitly, its set of explicit pointees is cleared.

Definition at line 955 of file PointerObjectSet.hpp.

◆ NumTopologicalWorklistSweeps

std::optional<size_t> jlm::llvm::aa::PointerObjectConstraintSet::WorklistStatistics::NumTopologicalWorklistSweeps

The number of times the topological worklist orders the whole set of work items and visits them all in topological order.

Definition at line 922 of file PointerObjectSet.hpp.

◆ NumWorkItemNewPointees

size_t jlm::llvm::aa::PointerObjectConstraintSet::WorklistStatistics::NumWorkItemNewPointees {}

The sum of the number of new pointees, for each visited work item. If Difference Propagation is not enabled, all pointees are always regarded as new.

Definition at line 916 of file PointerObjectSet.hpp.

◆ NumWorkItemsPopped

size_t jlm::llvm::aa::PointerObjectConstraintSet::WorklistStatistics::NumWorkItemsPopped {}

The number of items that were popped from the worklist before the solution converged.

Definition at line 910 of file PointerObjectSet.hpp.

◆ Policy

WorklistSolverPolicy jlm::llvm::aa::PointerObjectConstraintSet::WorklistStatistics::Policy

The policy used for the worklist.

Definition at line 905 of file PointerObjectSet.hpp.


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