|
ETISS 0.11.2
ExtendableTranslatingInstructionSetSimulator(version0.11.2)
|
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 | |
| 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 | |
| void | merge (const RegisterSet &rs) |
| any register bits set in the passed RegisterSet will be set in this RegisterSet (plus previously set bits) | |
| void | intersect (const RegisterSet &rs) |
| only register bits set in this AND the passed RegisterSet remain set in this RegisterSet | |
| 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 | |
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 162 of file CodePart.h.
|
inline |
Definition at line 178 of file CodePart.h.
|
inline |
Definition at line 179 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 323 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 184 of file CodePart.h.
References etiss::RegisterPart::isEmpty(), and set_.
Referenced by add(), RV32IMACFDArch::initInstrSet(), RV64IMACFDArch::initInstrSet(), and merge().


|
inline |
Definition at line 205 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 212 of file CodePart.h.
References set_.
Referenced by etiss::CodeSet::writeCodeParts().

|
inline |
Definition at line 319 of file CodePart.h.
References set_.
Referenced by etiss::CodeSet::writeCodeParts().

|
inline |
Definition at line 280 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 253 of file CodePart.h.
References set_.
Referenced by etiss::CodeSet::writeCodeParts().

|
inline |
Definition at line 318 of file CodePart.h.
References set_.
|
inline |
Definition at line 297 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 241 of file CodePart.h.
Referenced by etiss::CodeSet::writeCodeParts().


|
private |
Definition at line 336 of file CodePart.h.
Referenced by _dbg_print(), add(), applyShadow(), clear(), disjoint(), intersect(), isEmpty(), maskedBy(), merge(), and RegisterSet().