Otawa
0.10
|
#include <otawa/ccg/DFA.h>
Public Member Functions | |
Domain (int size) | |
void | reset (void) |
void | join (Domain *d) |
void | meet (Domain *d) |
bool | equals (Domain *d) |
bool | isEmpty (void) const |
Test if the bit set is empty. More... | |
bool | isFull (void) const |
Test if the bit set contains all existing items. More... | |
void | fill (void) |
Fill the bit set with all items. More... | |
void | empty (void) |
Remove all items from the bit set. More... | |
bool | contains (int index) const |
Test if the bit set contains an item. More... | |
void | add (int index) |
Add an item to the bit set. More... | |
void | add (const BitSet &set) |
Add the items of the given bit set to the current one. More... | |
void | remove (int index) |
Remove an item from the bit set. More... | |
void | remove (const BitSet &set) |
Remove the items contained in the given bit set from the current one. More... | |
bool | equals (const BitSet &set) const |
Test if two bit sets are equals. More... | |
bool | includes (const BitSet &set) const |
Test if the current bit set contains the given one. More... | |
bool | includesStrictly (const BitSet &set) const |
Test if the current bit set contains strictly the given one, that is, both bit sets are equals. More... | |
void | complement (void) |
Complement the current bit set. More... | |
int | size (void) const |
void | mask (const BitSet &set) |
Keep only in this set the items also containted in the given one (performs intersection operation). More... | |
int | count (void) const |
BitSet | doComp (void) const |
Compute a bit set complement of the current one. More... | |
BitSet | doUnion (const BitSet &set) const |
Build a new bit set as union between the current and the given one. More... | |
BitSet | doInter (const BitSet &set) const |
Build a new bit set as intersection between the current and the given one. More... | |
BitSet | doDiff (const BitSet &set) const |
Build a new bit set as difference between the current and the given one. More... | |
BitSet & | operator+= (int index) |
Same as add(int). More... | |
BitSet & | operator+= (const BitSet &set) |
Same as add(const BitSet&). More... | |
BitSet & | operator-= (int index) |
Same as remove(int). More... | |
BitSet & | operator-= (const BitSet &set) |
Same as remove(const BitSet&). More... | |
BitSet | operator+ (const BitSet &set) |
Same as doUnion(). More... | |
BitSet | operator- (const BitSet &set) |
Same as doDiff(). More... | |
BitSet & | operator|= (const BitSet &set) |
Same as add(const BitSet&). More... | |
BitSet & | operator&= (const BitSet &set) |
Same as remove(const BitSet&). More... | |
BitSet | operator| (const BitSet &set) |
Same as doUnion(). More... | |
BitSet | operator& (const BitSet &set) |
Same as doInter(). More... | |
bool | operator== (const BitSet &set) const |
Same as equals(). More... | |
bool | operator!= (const BitSet &set) const |
Same as !equals(). More... | |
bool | operator>= (const BitSet &set) const |
Same as includes(). More... | |
bool | operator<= (const BitSet &set) const |
Same as !includesStrictly(). More... | |
bool | operator> (const BitSet &set) const |
Same as includesStrictly(). More... | |
bool | operator< (const BitSet &set) const |
Same as !includes(). More... | |
Static Public Attributes | |
static int | __used_size = 0 |
static int | __max_size = 0 |
static int | __total_size = 0 |
|
inline |
|
inlineinherited |
Add an item to the bit set.
index | Index identifying the added item. |
References OTAWA_BITSET_ALLOC, OTAWA_BITSET_FREE, elm::BitVector::set(), and otawa::dfa::BitSet::vec.
Referenced by otawa::cat::CATBuilder::buildLBLOCKSET(), otawa::ccg::Problem::gen(), otawa::cat::CATProblem::gen(), join(), otawa::cat::CATDomain::join(), otawa::bpred::BPredProcessor::lshift_BitSet(), otawa::dfa::BitSet::operator+=(), otawa::dfa::BitSet::operator|=(), otawa::bpred::BPredProcessor::setMitraInit(), and otawa::dcache::DirtyManager::update().
|
inlineinherited |
Add the items of the given bit set to the current one.
set | Set to add. |
References elm::BitVector::applyOr(), OTAWA_BITSET_ALLOC, OTAWA_BITSET_FREE, and otawa::dfa::BitSet::vec.
|
inlineinherited |
Complement the current bit set.
References elm::BitVector::applyNot(), and otawa::dfa::BitSet::vec.
Referenced by otawa::cat::CATProblem::preserve().
|
inlineinherited |
Test if the bit set contains an item.
index | Index identifying the looked item. |
References elm::BitVector::bit(), and otawa::dfa::BitSet::vec.
Referenced by otawa::bpred::BPredProcessor::BitSet_to_String(), otawa::Dominance::dominates(), otawa::bpred::BPredProcessor::lshift_BitSet(), otawa::dcache::DirtyManager::t::mayBeDirty(), otawa::dcache::DirtyManager::mayBeDirty(), otawa::dcache::DirtyManager::t::mustBeDirty(), otawa::dcache::DirtyManager::mustBeDirty(), otawa::dfa::operator<<(), otawa::PostDominance::postDominates(), otawa::dcache::DirtyManager::t::print(), otawa::ccg::Builder::processLBlockSet(), otawa::LoopReductor::reduce(), otawa::cat::CATBuilder::setCATEGORISATION(), and otawa::cat::CATBuilder::worst().
|
inlineinherited |
References elm::BitVector::countBits(), and otawa::dfa::BitSet::vec.
Referenced by otawa::ccg::Problem::gen(), otawa::cat::CATProblem::gen(), otawa::LoopReductor::reduce(), and otawa::cat::CATBuilder::worst().
|
inlineinherited |
Compute a bit set complement of the current one.
References otawa::dfa::BitSet::BitSet(), elm::BitVector::makeNot(), and otawa::dfa::BitSet::vec.
Build a new bit set as difference between the current and the given one.
set | Set to do difference with. |
References otawa::dfa::BitSet::BitSet(), elm::BitVector::makeReset(), and otawa::dfa::BitSet::vec.
Referenced by otawa::dfa::BitSet::operator-().
Build a new bit set as intersection between the current and the given one.
set | Set to do intersection with. |
References otawa::dfa::BitSet::BitSet(), elm::BitVector::makeAnd(), and otawa::dfa::BitSet::vec.
Referenced by otawa::dfa::BitSet::operator&().
Build a new bit set as union between the current and the given one.
set | Set to do union with. |
References otawa::dfa::BitSet::BitSet(), elm::BitVector::makeOr(), and otawa::dfa::BitSet::vec.
Referenced by otawa::dfa::BitSet::operator+(), and otawa::dfa::BitSet::operator|().
|
inlineinherited |
Remove all items from the bit set.
References elm::BitVector::clear(), and otawa::dfa::BitSet::vec.
Referenced by otawa::dcache::DirtyManager::DirtyManager(), otawa::bpred::BPredProcessor::lshift_BitSet(), reset(), otawa::cat::CATDomain::reset(), and otawa::dcache::DirtyManager::update().
|
inline |
References otawa::dfa::BitSet::equals().
|
inlineinherited |
Test if two bit sets are equals.
set | Bit set to compare the current one with. |
References elm::BitVector::equals(), and otawa::dfa::BitSet::vec.
Referenced by equals(), otawa::dcache::DirtyManager::equals(), otawa::dfa::BitSet::operator!=(), and otawa::dfa::BitSet::operator==().
|
inlineinherited |
Fill the bit set with all items.
References elm::BitVector::set(), and otawa::dfa::BitSet::vec.
Referenced by otawa::dcache::DirtyManager::DirtyManager(), otawa::ccg::Problem::preserve(), otawa::cat::CATProblem::preserve(), and otawa::dcache::DirtyManager::update().
|
inlineinherited |
Test if the current bit set contains the given one.
set | Set to test for inclusion. |
References elm::BitVector::includes(), and otawa::dfa::BitSet::vec.
Referenced by otawa::dfa::BitSet::operator<=(), and otawa::dfa::BitSet::operator>=().
|
inlineinherited |
Test if the current bit set contains strictly the given one, that is, both bit sets are equals.
set | Set to test for inclusion. |
References elm::BitVector::includesStrictly(), and otawa::dfa::BitSet::vec.
Referenced by otawa::dfa::BitSet::operator<(), and otawa::dfa::BitSet::operator>().
|
inlineinherited |
Test if the bit set is empty.
References elm::BitVector::isEmpty(), and otawa::dfa::BitSet::vec.
|
inlineinherited |
Test if the bit set contains all existing items.
References elm::BitVector::countBits(), elm::BitVector::size(), and otawa::dfa::BitSet::vec.
|
inline |
References otawa::dfa::BitSet::add().
|
inlineinherited |
Keep only in this set the items also containted in the given one (performs intersection operation).
set | Set to intersect with. |
References elm::BitVector::applyAnd(), OTAWA_BITSET_ALLOC, OTAWA_BITSET_FREE, and otawa::dfa::BitSet::vec.
Referenced by meet(), otawa::cat::CATDomain::meet(), otawa::dfa::BitSet::operator&=(), and otawa::cat::CATBuilder::worst().
|
inline |
References otawa::dfa::BitSet::mask().
|
inlineinherited |
Same as !equals().
References otawa::dfa::BitSet::equals().
Same as doInter().
References otawa::dfa::BitSet::doInter().
Same as remove(const BitSet&).
References otawa::dfa::BitSet::mask().
Same as doUnion().
References otawa::dfa::BitSet::doUnion().
|
inlineinherited |
Same as add(int).
References otawa::dfa::BitSet::add().
Same as add(const BitSet&).
References otawa::dfa::BitSet::add().
Same as doDiff().
References otawa::dfa::BitSet::doDiff().
|
inlineinherited |
Same as remove(int).
Same as remove(const BitSet&).
|
inlineinherited |
Same as !includes().
References otawa::dfa::BitSet::includesStrictly().
|
inlineinherited |
Same as !includesStrictly().
References otawa::dfa::BitSet::includes().
|
inlineinherited |
Same as equals().
References otawa::dfa::BitSet::equals().
|
inlineinherited |
Same as includesStrictly().
References otawa::dfa::BitSet::includesStrictly().
|
inlineinherited |
Same as includes().
References otawa::dfa::BitSet::includes().
Same as doUnion().
References otawa::dfa::BitSet::doUnion().
Same as add(const BitSet&).
References otawa::dfa::BitSet::add().
|
inlineinherited |
Remove an item from the bit set.
index | Index identifying the removed item. |
References elm::BitVector::clear(), OTAWA_BITSET_ALLOC, OTAWA_BITSET_FREE, and otawa::dfa::BitSet::vec.
Referenced by otawa::cat::CATProblem::preserve(), otawa::LoopReductor::reduce(), otawa::dcache::DirtyManager::update(), and otawa::cat::CATBuilder::worst().
|
inlineinherited |
Remove the items contained in the given bit set from the current one.
set | Set containing items to remove. |
References elm::BitVector::applyReset(), OTAWA_BITSET_ALLOC, OTAWA_BITSET_FREE, and otawa::dfa::BitSet::vec.
|
inline |
References otawa::dfa::BitSet::empty().
Referenced by otawa::ccg::Problem::empty().
|
inlineinherited |
|
staticinherited |
|
staticinherited |
|
staticinherited |