LLVM 22.0.0git
llvm::SetState< BaseTy >::SetContents Struct Reference

A wrapper around a set that has semantics for handling unions and intersections with a "universal" set that contains all elements. More...

#include "llvm/Transforms/IPO/Attributor.h"

Public Member Functions

 SetContents (bool Universal)
 Creates a universal set with no concrete elements or an empty set.
 SetContents (const DenseSet< BaseTy > &Assumptions)
 Creates a non-universal set with concrete values.
 SetContents (bool Universal, const DenseSet< BaseTy > &Assumptions)
const DenseSet< BaseTy > & getSet () const
bool isUniversal () const
bool empty () const
bool getIntersection (const SetContents &RHS)
 Finds A := A ^ B where A or B could be the "Universal" set which contains every possible attribute.
bool getUnion (const SetContents &RHS)
 Finds A := A u B where A or B could be the "Universal" set which contains every possible attribute.

Detailed Description

template<typename BaseTy>
struct llvm::SetState< BaseTy >::SetContents

A wrapper around a set that has semantics for handling unions and intersections with a "universal" set that contains all elements.

Definition at line 3083 of file Attributor.h.

Constructor & Destructor Documentation

◆ SetContents() [1/3]

template<typename BaseTy>
llvm::SetState< BaseTy >::SetContents::SetContents ( bool Universal)
inline

Creates a universal set with no concrete elements or an empty set.

Definition at line 3085 of file Attributor.h.

Referenced by getIntersection(), and getUnion().

◆ SetContents() [2/3]

template<typename BaseTy>
llvm::SetState< BaseTy >::SetContents::SetContents ( const DenseSet< BaseTy > & Assumptions)
inline

Creates a non-universal set with concrete values.

Definition at line 3088 of file Attributor.h.

◆ SetContents() [3/3]

template<typename BaseTy>
llvm::SetState< BaseTy >::SetContents::SetContents ( bool Universal,
const DenseSet< BaseTy > & Assumptions )
inline

Definition at line 3091 of file Attributor.h.

Member Function Documentation

◆ empty()

template<typename BaseTy>
bool llvm::SetState< BaseTy >::SetContents::empty ( ) const
inline

Definition at line 3098 of file Attributor.h.

◆ getIntersection()

template<typename BaseTy>
bool llvm::SetState< BaseTy >::SetContents::getIntersection ( const SetContents & RHS)
inline

Finds A := A ^ B where A or B could be the "Universal" set which contains every possible attribute.

Returns true if changes were made.

Definition at line 3102 of file Attributor.h.

References RHS, llvm::set_intersect(), SetContents(), and Size.

◆ getSet()

template<typename BaseTy>
const DenseSet< BaseTy > & llvm::SetState< BaseTy >::SetContents::getSet ( ) const
inline

Definition at line 3094 of file Attributor.h.

◆ getUnion()

template<typename BaseTy>
bool llvm::SetState< BaseTy >::SetContents::getUnion ( const SetContents & RHS)
inline

Finds A := A u B where A or B could be the "Universal" set which contains every possible attribute.

returns true if changes were made.

Definition at line 3122 of file Attributor.h.

References RHS, llvm::set_union(), SetContents(), and Size.

◆ isUniversal()

template<typename BaseTy>
bool llvm::SetState< BaseTy >::SetContents::isUniversal ( ) const
inline

Definition at line 3096 of file Attributor.h.


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