Jlm
Public Member Functions | Private Attributes | List of all members
jlm::llvm::aa::SupersetConstraint Class Referencefinal

#include <PointerObjectSet.hpp>

Public Member Functions

 SupersetConstraint (PointerObjectIndex superset, PointerObjectIndex subset)
 
PointerObjectIndex GetSuperset () const noexcept
 
void SetSuperset (PointerObjectIndex superset)
 
PointerObjectIndex GetSubset () const noexcept
 
void SetSubset (PointerObjectIndex subset)
 
bool ApplyDirectly (PointerObjectSet &set)
 

Private Attributes

PointerObjectIndex Superset_
 
PointerObjectIndex Subset_
 

Detailed Description

A constraint of the form: P(superset) supseteq P(subset) Example of application is when a register has multiple source values

Definition at line 549 of file PointerObjectSet.hpp.

Constructor & Destructor Documentation

◆ SupersetConstraint()

jlm::llvm::aa::SupersetConstraint::SupersetConstraint ( PointerObjectIndex  superset,
PointerObjectIndex  subset 
)
inline

Definition at line 555 of file PointerObjectSet.hpp.

Member Function Documentation

◆ ApplyDirectly()

bool jlm::llvm::aa::SupersetConstraint::ApplyDirectly ( PointerObjectSet set)

Apply this constraint to set once.

Returns
true if this operation modified any PointerObjects or points-to-sets

Definition at line 560 of file PointerObjectSet.cpp.

◆ GetSubset()

PointerObjectIndex jlm::llvm::aa::SupersetConstraint::GetSubset ( ) const
inlinenoexcept
Returns
the PointerObject whose points-to set should be contained within the superset

Definition at line 582 of file PointerObjectSet.hpp.

◆ GetSuperset()

PointerObjectIndex jlm::llvm::aa::SupersetConstraint::GetSuperset ( ) const
inlinenoexcept
Returns
the PointerObject that should point to everything the subset points to

Definition at line 564 of file PointerObjectSet.hpp.

◆ SetSubset()

void jlm::llvm::aa::SupersetConstraint::SetSubset ( PointerObjectIndex  subset)
inline
Parameters
subsetthe new PointerObject whose points-to set should be contained within the superset

Definition at line 591 of file PointerObjectSet.hpp.

◆ SetSuperset()

void jlm::llvm::aa::SupersetConstraint::SetSuperset ( PointerObjectIndex  superset)
inline
Parameters
supersetthe new PointerObject that should point to everything the subset points to

Definition at line 573 of file PointerObjectSet.hpp.

Member Data Documentation

◆ Subset_

PointerObjectIndex jlm::llvm::aa::SupersetConstraint::Subset_
private

Definition at line 552 of file PointerObjectSet.hpp.

◆ Superset_

PointerObjectIndex jlm::llvm::aa::SupersetConstraint::Superset_
private

Definition at line 551 of file PointerObjectSet.hpp.


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