|
decompiler
1.0.0
|
Describes a (register) storage location and the ways it might be split into lanes. More...
#include <transform.hh>
Classes | |
| class | LanedIterator |
| Class for iterating over possible lane sizes. More... | |
Public Types | |
| typedef LanedIterator | const_iterator |
| Iterator over possible lane sizes for this register. | |
Public Member Functions | |
| LanedRegister (void) | |
| Constructor for use with restoreXml. | |
| LanedRegister (int4 sz, uint4 mask) | |
| Constructor. | |
| bool | restoreXml (const Element *el, const AddrSpaceManager *manage) |
| Restore object from XML stream. More... | |
| int4 | getWholeSize (void) const |
| Get the size in bytes of the whole laned register. | |
| uint4 | getSizeBitMask (void) const |
| Get the bit mask of possible lane sizes. | |
| void | addLaneSize (int4 size) |
| Add a new size to the allowed list. | |
| bool | allowedLane (int4 size) const |
| Is size among the allowed lane sizes. | |
| const_iterator | begin (void) const |
| Starting iterator over possible lane sizes. | |
| const_iterator | end (void) const |
| Ending iterator over possible lane sizes. | |
Private Attributes | |
| int4 | wholeSize |
| Size of the whole register. | |
| uint4 | sizeBitMask |
| A 1-bit for every permissible lane size. | |
Friends | |
| class | LanedIterator |
Describes a (register) storage location and the ways it might be split into lanes.
| bool LanedRegister::restoreXml | ( | const Element * | el, |
| const AddrSpaceManager * | manage | ||
| ) |
Restore object from XML stream.
Read XML of the form <register name=".." vector_lane_sizes=".."/>
| el | is the particular register tag |
| manage | is used to map register names to storage info |
References Element::getAttributeName(), Element::getAttributeValue(), Element::getNumAttributes(), VarnodeData::restoreXml(), VarnodeData::size, VarnodeData::space, and LaneDescription::wholeSize.
Referenced by Architecture::parseLaneSizes().
1.8.11