ETISS 0.8.0
Extendable Translating Instruction Set Simulator (version 0.8.0)
|
set of register parts. More...
#include <CodePart.h>
Classes | |
struct | lex_compare |
special comparison function that only takes register name into account. More... | |
Public Member Functions | |
RegisterSet () | |
RegisterSet (const RegisterSet &rs) | |
void | add (const RegisterPart &rp) |
add a registerPart to the set or just its relevant bits if a register with the same name is already present More... | |
void | add (const std::string &name, unsigned registerWidth, etiss::uintMax bits=(uintMax)((intMax) -1)) |
void | applyShadow (const RegisterSet &rs) |
any register bits set in the passed RegisterSet won't be set in this RegisterSet More... | |
void | merge (const RegisterSet &rs) |
any register bits set in the passed RegisterSet will be set in this RegisterSet (plus previously set bits) More... | |
void | intersect (const RegisterSet &rs) |
only register bits set in this AND the passed RegisterSet remain set in this RegisterSet More... | |
bool | disjoint (const RegisterSet &rs) const |
bool | maskedBy (const RegisterSet &rs) const |
bool | isEmpty () |
void | clear () |
std::string | _dbg_print () const |
writes a human readable string listing all set bit of every register in this RegisterSet More... | |
Private Attributes | |
std::set< RegisterPart, lex_compare > | set_ |
set of register parts.
each register contained in a set has a different name.
Definition at line 200 of file CodePart.h.
|
inline |
Definition at line 216 of file CodePart.h.
|
inline |
Definition at line 217 of file CodePart.h.
References set_.
|
inline |
writes a human readable string listing all set bit of every register in this RegisterSet
Definition at line 361 of file CodePart.h.
References set_.
|
inline |
add a registerPart to the set or just its relevant bits if a register with the same name is already present
Definition at line 222 of file CodePart.h.
References etiss::RegisterPart::isEmpty(), and set_.
Referenced by add(), RV32IMACFDArch::initInstrSet(), RV64IMACFDArch::initInstrSet(), and merge().
|
inline |
Definition at line 243 of file CodePart.h.
References add().
|
inline |
any register bits set in the passed RegisterSet won't be set in this RegisterSet
Definition at line 250 of file CodePart.h.
References set_.
Referenced by etiss::CodeSet::writeCodeParts().
|
inline |
Definition at line 357 of file CodePart.h.
References set_.
Referenced by etiss::CodeSet::writeCodeParts().
|
inline |
Definition at line 318 of file CodePart.h.
References set_.
|
inline |
only register bits set in this AND the passed RegisterSet remain set in this RegisterSet
Definition at line 291 of file CodePart.h.
References set_.
Referenced by etiss::CodeSet::writeCodeParts().
|
inline |
Definition at line 356 of file CodePart.h.
References set_.
|
inline |
Definition at line 335 of file CodePart.h.
References set_.
|
inline |
any register bits set in the passed RegisterSet will be set in this RegisterSet (plus previously set bits)
Definition at line 279 of file CodePart.h.
Referenced by etiss::CodeSet::writeCodeParts().
|
private |
Definition at line 374 of file CodePart.h.
Referenced by _dbg_print(), add(), applyShadow(), clear(), disjoint(), intersect(), isEmpty(), maskedBy(), merge(), and RegisterSet().